[apertium] 01/02: Imported Upstream version 3.4.0~r60657

Tino Didriksen tinodidriksen-guest at moszumanska.debian.org
Sun Jun 21 17:23:21 UTC 2015


This is an automated email from the git hooks/post-receive script.

tinodidriksen-guest pushed a commit to branch master
in repository apertium.

commit 0ef762e3fa42208846a5caea4d5d951cc7b39f63
Author: Tino Didriksen <mail at tinodidriksen.com>
Date:   Sun Jun 21 17:23:11 2015 +0000

    Imported Upstream version 3.4.0~r60657
---
 CMakeLists.txt                                     |   102 +
 COPYING.hunalign                                   |   504 +
 ChangeLog                                          |    15 +-
 INSTALL                                            |   370 -
 Makefile.in                                        |   904 -
 NEWS                                               |   102 +-
 README                                             |    41 +-
 aclocal.m4                                         | 10396 ---
 apertium/CMakeLists.txt                            |   107 +
 apertium/Makefile.in                               |  1767 -
 apertium/apertium-deshtml.1                        |     6 +
 apertium/apertium-deslatex.1                       |     6 +
 apertium/apertium-desodt.1                         |     6 +
 apertium/apertium-despptx.1                        |     6 +
 ...{apertium-desrtf.1 => apertium-desrtf-cp1250.1} |     8 +-
 ...{apertium-desrtf.1 => apertium-desrtf-cp1251.1} |     8 +-
 apertium/apertium-desrtf.1                         |     6 +
 apertium/apertium-destxt.1                         |     6 +
 apertium/apertium-deswxml.1                        |     6 +
 apertium/apertium-desxlsx.1                        |     6 +
 apertium/apertium-header.sh                        |    70 +-
 apertium/apertium-lextor-eval.1                    |    62 +
 apertium/apertium-rertf-cp1250.1                   |    34 +
 apertium/apertium-rertf-cp1251.1                   |    34 +
 apertium/apertium_config.h.cmake_in                |    57 +
 apertium/apertium_config.h.in                      |   140 -
 apertium/apertium_deshtml.cc                       |  5476 --
 apertium/apertium_deslatex.cc                      | 67456 -------------------
 apertium/apertium_desmediawiki.cc                  |  9893 ---
 apertium/apertium_desodt.cc                        |  3785 --
 apertium/apertium_despptx.cc                       |  4143 --
 apertium/apertium_desrtf.cc                        | 11681 ----
 apertium/apertium_destxt.cc                        |  2148 -
 apertium/apertium_deswxml.cc                       |  6191 --
 apertium/apertium_desxlsx.cc                       |  3403 -
 apertium/apertium_desxpresstag.cc                  |  2277 -
 apertium/apertium_gen_wlist_lextor_translation.cc  |   187 +
 apertium/apertium_lextor.cc                        |   656 +
 apertium/apertium_lextor_eval.cc                   |   387 +
 apertium/apertium_postlatex.cc                     |  4621 --
 apertium/apertium_postlatex_raw.cc                 |  4063 --
 apertium/apertium_prelatex.cc                      |  3751 --
 apertium/apertium_rehtml.cc                        |  1959 -
 apertium/apertium_rehtml_noent.cc                  |  1869 -
 apertium/apertium_relatex.cc                       |  1881 -
 apertium/apertium_remediawiki.cc                   |  1869 -
 apertium/apertium_reodt.cc                         |  1881 -
 apertium/apertium_repptx.cc                        |  1881 -
 apertium/apertium_rertf.cc                         |  1953 -
 apertium/apertium_retxt.cc                         |  1869 -
 apertium/apertium_rewxml.cc                        |  1881 -
 apertium/apertium_rexlsx.cc                        |  1881 -
 apertium/apertium_rexpresstag.cc                   |  1869 -
 apertium/deformat.xsl                              |    35 +-
 apertium/hmm.cc                                    |     3 +
 apertium/interchunk.cc                             |    10 +-
 apertium/interchunk.h                              |     1 +
 apertium/modes.rng                                 |    72 +
 apertium/rtf-format-cp1250.xml                     |   532 +
 apertium/rtf-format-cp1251.xml                     |   576 +
 apertium/script_header.sh.cmake_in                 |     7 +
 apertium/trans-lextor-header.sh                    |   107 +
 apertium/transfer.rng                              |  1058 +
 apertium/win32/getopt.c                            |    81 +
 apertium/win32/getopt.h                            |    19 +
 apertium/win32/libgen.c                            |    25 +
 apertium/win32/libgen.h                            |    14 +
 apertium/win32/regex.c                             |  4948 ++
 apertium/win32/regex.h                             |   498 +
 apertium/win32/runner_skeleton.c                   |    77 +
 apertium/win32/snprintf.c                          |  1025 +
 apertium/win32/snprintf.h                          |    26 +
 apertium/win32/unistd.h                            |    13 +
 apertium/xsd/transfer.xsd                          |  1049 +
 cmake/CMakeUseFlex.cmake                           |    42 +
 cmake/CMakeUseXsltproc.cmake                       |    35 +
 cmake/FindLibPcre.cmake                            |    38 +
 cmake/FindLibXml2.cmake                            |    59 +
 cmake/FindLttoolbox3.cmake                         |    57 +
 compile                                            |   347 -
 config.guess                                       |  1421 -
 config.sub                                         |  1807 -
 configure                                          | 20171 ------
 configure.ac                                       |     1 +
 depcomp                                            |   791 -
 install-sh                                         |   501 -
 ltmain.sh                                          | 11147 ---
 missing                                            |   215 -
 88 files changed, 12762 insertions(+), 199726 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..e65295e
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,102 @@
+cmake_minimum_required(VERSION 2.6)
+PROJECT (apertium-3.4)
+
+SET (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
+SET (PROGRAM_FILES_PATH "C:/Program\ Files")
+
+INCLUDE (CheckFunctionExists)
+INCLUDE (CheckSymbolExists)
+
+INCLUDE_DIRECTORIES (.)
+
+IF (WIN32)
+        SET(APERTIUM_PATH "$(dirname $BASH)")
+        SET(LTTOOLBOX_PATH "$(dirname $BASH)")
+        SET(DEFAULT_DIRECTORY "$(dirname $BASH)/../share/apertium")
+ELSE (WIN32)
+        # THIS IS NOT QUITE CORRECT FOR POSIX PLATFORMS.
+        # TODO: Fix this
+        SET(APERTIUM_PATH "${CMAKE_ROOT}/bin")
+        SET(LTTOOLBOX_PATH "${CMAKE_ROOT}/bin")
+        SET(DEFAULT_DIRECTORY "${CMAKE_ROOT}/share/apertium")
+ENDIF (WIN32)
+
+SET (SCRIPT_HEADER_FILE "${PROJECT_SOURCE_DIR}/apertium/script_header.sh.cmake_in")
+
+IF (WIN32)
+        SET (WIN32_DIR ${PROJECT_SOURCE_DIR}/apertium/win32)
+        INCLUDE_DIRECTORIES (${WIN32_DIR})
+        SET (EXTRA_SOURCES "${WIN32_DIR}/getopt.c" "${WIN32_DIR}/libgen.c")
+
+        SET(FLEX_EXECUTABLE        ${PROGRAM_FILES_PATH}/GnuWin32/bin/flex.exe)
+
+        SET(ICONV_BASE_DIR         ${PROGRAM_FILES_PATH}/iconv)
+        SET(ICONV_INCLUDE_DIR      ${ICONV_BASE_DIR}/include)
+	SET(ICONV_LIBRARIES        ${ICONV_BASE_DIR}/lib/iconv.lib)
+
+        SET(LIBXML2_BASE_DIR       ${PROGRAM_FILES_PATH}/LibXML)
+        SET(LIBXSLT_BASE_DIR       ${PROGRAM_FILES_PATH}/Libxslt)
+        SET(LIBXML2_INCLUDE_DIR    ${LIBXML2_BASE_DIR}/include)
+        SET(LIBXML2_LIBRARIES      ${LIBXML2_BASE_DIR}/lib/libxml2.lib)
+        SET(XSLTPROC_EXECUTABLE    ${LIBXSLT_BASE_DIR}/bin/xsltproc.exe)
+
+        SET(LTTOOLBOX3_BASE_DIR    ${PROGRAM_FILES_PATH}/apertium-3.2)
+        SET(LTTOOLBOX3_INCLUDE_DIR ${LTTOOLBOX3_BASE_DIR}/include/lttoolbox-3.2)
+        SET(LTTOOLBOX3_LIBRARIES   ${LTTOOLBOX3_BASE_DIR}/lib/lttoolbox3.lib)
+
+        SET(LIBPCRE_BASE_DIR       ${PROGRAM_FILES_PATH}/PCRE) 
+        SET(LIBPCRE_INCLUDE_DIR    "${LIBPCRE_BASE_DIR}/include")
+        SET(LIBPCRE_LIBRARIES      "${LIBPCRE_BASE_DIR}/lib/pcrecpp.lib"
+                                   "${LIBPCRE_BASE_DIR}/lib/pcreposix.lib"
+                                   "${LIBPCRE_BASE_DIR}/lib/pcre.lib")
+
+        ADD_DEFINITIONS (/D _CRT_SECURE_NO_WARNINGS /D STDC_HEADERS /D PCRE_STATIC)
+ENDIF (WIN32)
+
+INCLUDE (CMakeUseFlex)
+INCLUDE (CMakeUseXsltproc)
+
+FIND_PACKAGE (LibXml2    REQUIRED)
+FIND_PACKAGE (Lttoolbox3 REQUIRED)
+FIND_PACKAGE (LibPcre    REQUIRED)
+
+SET (PACKAGE_BUGREPORT sortiz at users.sourceforge.net)
+SET (PACKAGE_NAME      apertium/apertium.h)
+SET (PACKAGE_STRING    apertium/apertium.h 3.4.0)
+SET (PACKAGE_TARNAME   lttoolbox-lttoolbox-h)
+SET (PACKAGE_VERSION   3.4.0)
+
+MACRO (BOOL_CHECK_SYMBOL_EXISTS SYMBOL HEADER VAR)
+        CHECK_SYMBOL_EXISTS (${SYMBOL} ${HEADER} ${VAR})
+        IF (${VAR})
+                SET (${VAR} "1")
+        ELSE (${VAR})
+                SET (${VAR} "0")
+        ENDIF (${VAR})
+ENDMACRO (BOOL_CHECK_SYMBOL_EXISTS)
+
+BOOL_CHECK_SYMBOL_EXISTS (fputs_unlocked  stdio.h HAVE_DECL_FPUTS_UNLOCKED)
+BOOL_CHECK_SYMBOL_EXISTS (fgetc_unlocked  stdio.h HAVE_DECL_FGETC_UNLOCKED)
+BOOL_CHECK_SYMBOL_EXISTS (fputc_unlocked  stdio.h HAVE_DECL_FPUTC_UNLOCKED)
+BOOL_CHECK_SYMBOL_EXISTS (fwrite_unlocked stdio.h HAVE_DECL_FWRITE_UNLOCKED)
+BOOL_CHECK_SYMBOL_EXISTS (fread_unlocked  stdio.h HAVE_DECL_FREAD_UNLOCKED)
+BOOL_CHECK_SYMBOL_EXISTS (fgetwc_unlocked stdio.h HAVE_DECL_FGETWC_UNLOCKED)
+BOOL_CHECK_SYMBOL_EXISTS (fputwc_unlocked stdio.h HAVE_DECL_FPUTWC_UNLOCKED)
+BOOL_CHECK_SYMBOL_EXISTS (fputws_unlocked stdio.h HAVE_DECL_FPUTWS_UNLOCKED)
+
+BOOL_CHECK_SYMBOL_EXISTS (_fputs_nolock  stdio.h HAVE_DECL_FPUTS_NOLOCK)
+BOOL_CHECK_SYMBOL_EXISTS (_fgetc_nolock  stdio.h HAVE_DECL_FGETC_NOLOCK)
+BOOL_CHECK_SYMBOL_EXISTS (_fputc_nolock  stdio.h HAVE_DECL_FPUTC_NOLOCK)
+BOOL_CHECK_SYMBOL_EXISTS (_fwrite_nolock stdio.h HAVE_DECL_FWRITE_NOLOCK)
+BOOL_CHECK_SYMBOL_EXISTS (_fread_nolock  stdio.h HAVE_DECL_FREAD_NOLOCK)
+BOOL_CHECK_SYMBOL_EXISTS (_fgetwc_nolock stdio.h HAVE_DECL_FGETWC_NOLOCK)
+BOOL_CHECK_SYMBOL_EXISTS (_fputwc_nolock stdio.h HAVE_DECL_FPUTWC_NOLOCK)
+BOOL_CHECK_SYMBOL_EXISTS (_fputws_nolock stdio.h HAVE_DECL_FPUTWS_NOLOCK)
+
+CHECK_FUNCTION_EXISTS (setlocale HAVE_SETLOCALE)
+CHECK_FUNCTION_EXISTS (strdup HAVE_STRDUP)
+CHECK_FUNCTION_EXISTS (getopt_long HAVE_GETOPT_LONG)
+
+CONFIGURE_FILE (${PROJECT_SOURCE_DIR}/apertium/apertium_config.h.cmake_in ${PROJECT_SOURCE_DIR}/apertium/apertium_config.h)
+
+ADD_SUBDIRECTORY (apertium)
diff --git a/COPYING.hunalign b/COPYING.hunalign
new file mode 100644
index 0000000..b1e3f5a
--- /dev/null
+++ b/COPYING.hunalign
@@ -0,0 +1,504 @@
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+

+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+

+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+

+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+

+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+

+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+

+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+

+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+

+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+

+           How to Apply These Terms to Your New Libraries
+
+  If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change.  You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+  To apply these terms, attach the following notices to the library.  It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the library's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This library is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2.1 of the License, or (at your option) any later version.
+
+    This library 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
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this library; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the
+  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+  <signature of Ty Coon>, 1 April 1990
+  Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/ChangeLog b/ChangeLog
index 2d6d2ba..bce0da6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,12 +1,11 @@
-Version 3.2
-	
-* Fixed some bugs in pretransfer, allow '+' inside tags
-* Updated the DTDs to allow comments anywhere
+(See SVN for the actual ChangeLog.)
 
-Version 3.0
 
-* Debian package
 
-Version 1.0
+Mon Jun  5 00:29:11 BST 2006
 
-* Debian package
+Initial packaging.
+
+Wed Oct  3 07:12:19 BST 2007
+
+Packaging version 3.0.
diff --git a/INSTALL b/INSTALL
deleted file mode 100644
index 2099840..0000000
--- a/INSTALL
+++ /dev/null
@@ -1,370 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
-Inc.
-
-   Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.  This file is offered as-is,
-without warranty of any kind.
-
-Basic Installation
-==================
-
-   Briefly, the shell command `./configure && make && make install'
-should configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.  Some packages provide this
-`INSTALL' file but do not implement all of the features documented
-below.  The lack of an optional feature in a given package is not
-necessarily a bug.  More recommendations for GNU packages can be found
-in *note Makefile Conventions: (standards)Makefile Conventions.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-   The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
-
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package, generally using the just-built uninstalled binaries.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.  When installing into a prefix owned by root, it is
-     recommended that the package be configured and built as a regular
-     user, and only the `make install' phase executed with root
-     privileges.
-
-  5. Optionally, type `make installcheck' to repeat any self-tests, but
-     this time using the binaries in their final installed location.
-     This target does not install anything.  Running this target as a
-     regular user, particularly if the prior `make install' required
-     root privileges, verifies that the installation completed
-     correctly.
-
-  6. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  7. Often, you can also type `make uninstall' to remove the installed
-     files again.  In practice, not all packages have tested that
-     uninstallation works correctly, even though it is required by the
-     GNU Coding Standards.
-
-  8. Some packages, particularly those that use Automake, provide `make
-     distcheck', which can by used by developers to test that all other
-     targets like `make install' and `make uninstall' work correctly.
-     This target is generally not run by end users.
-
-Compilers and Options
-=====================
-
-   Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  Run `./configure --help'
-for details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-   You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.  This
-is known as a "VPATH" build.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-   On MacOS X 10.5 and later systems, you can create libraries and
-executables that work on multiple system types--known as "fat" or
-"universal" binaries--by specifying multiple `-arch' options to the
-compiler but only a single `-arch' option to the preprocessor.  Like
-this:
-
-     ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
-                 CPP="gcc -E" CXXCPP="g++ -E"
-
-   This is not guaranteed to produce working output in all cases, you
-may have to build one architecture at a time and combine the results
-using the `lipo' tool if you have problems.
-
-Installation Names
-==================
-
-   By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX', where PREFIX must be an
-absolute file name.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.  In general, the
-default for these options is expressed in terms of `${prefix}', so that
-specifying just `--prefix' will affect all of the other directory
-specifications that were not explicitly provided.
-
-   The most portable way to affect installation locations is to pass the
-correct locations to `configure'; however, many packages provide one or
-both of the following shortcuts of passing variable assignments to the
-`make install' command line to change installation locations without
-having to reconfigure or recompile.
-
-   The first method involves providing an override variable for each
-affected directory.  For example, `make install
-prefix=/alternate/directory' will choose an alternate location for all
-directory configuration variables that were expressed in terms of
-`${prefix}'.  Any directories that were specified during `configure',
-but not in terms of `${prefix}', must each be overridden at install
-time for the entire installation to be relocated.  The approach of
-makefile variable overrides for each directory variable is required by
-the GNU Coding Standards, and ideally causes no recompilation.
-However, some platforms have known limitations with the semantics of
-shared libraries that end up requiring recompilation when using this
-method, particularly noticeable in packages that use GNU Libtool.
-
-   The second method involves providing the `DESTDIR' variable.  For
-example, `make install DESTDIR=/alternate/directory' will prepend
-`/alternate/directory' before all installation names.  The approach of
-`DESTDIR' overrides is not required by the GNU Coding Standards, and
-does not work on platforms that have drive letters.  On the other hand,
-it does better at avoiding recompilation issues, and works well even
-when some directory options were not specified in terms of `${prefix}'
-at `configure' time.
-
-Optional Features
-=================
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-   Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-   Some packages offer the ability to configure how verbose the
-execution of `make' will be.  For these packages, running `./configure
---enable-silent-rules' sets the default to minimal output, which can be
-overridden with `make V=1'; while running `./configure
---disable-silent-rules' sets the default to verbose, which can be
-overridden with `make V=0'.
-
-Particular systems
-==================
-
-   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU
-CC is not installed, it is recommended to use the following options in
-order to use an ANSI C compiler:
-
-     ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
-
-and if that doesn't work, install pre-built binaries of GCC for HP-UX.
-
-   HP-UX `make' updates targets which have the same time stamps as
-their prerequisites, which makes it generally unusable when shipped
-generated files such as `configure' are involved.  Use GNU `make'
-instead.
-
-   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
-parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
-a workaround.  If GNU CC is not installed, it is therefore recommended
-to try
-
-     ./configure CC="cc"
-
-and if that doesn't work, try
-
-     ./configure CC="cc -nodtk"
-
-   On Solaris, don't put `/usr/ucb' early in your `PATH'.  This
-directory contains several dysfunctional programs; working variants of
-these programs are available in `/usr/bin'.  So, if you need `/usr/ucb'
-in your `PATH', put it _after_ `/usr/bin'.
-
-   On Haiku, software installed for all users goes in `/boot/common',
-not `/usr/local'.  It is recommended to use the following options:
-
-     ./configure --prefix=/boot/common
-
-Specifying the System Type
-==========================
-
-   There may be some features `configure' cannot figure out
-automatically, but needs to determine by the type of machine the package
-will run on.  Usually, assuming the package is built to be run on the
-_same_ architectures, `configure' can figure that out, but if it prints
-a message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS
-     KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-   If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-   Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf limitation.  Until the limitation is lifted, you can use
-this workaround:
-
-     CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
-   `configure' recognizes the following options to control how it
-operates.
-
-`--help'
-`-h'
-     Print a summary of all of the options to `configure', and exit.
-
-`--help=short'
-`--help=recursive'
-     Print a summary of the options unique to this package's
-     `configure', and exit.  The `short' variant lists options used
-     only in the top level, while the `recursive' variant lists options
-     also present in any nested packages.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`--prefix=DIR'
-     Use DIR as the installation prefix.  *note Installation Names::
-     for more details, including other options available for fine-tuning
-     the installation locations.
-
-`--no-create'
-`-n'
-     Run the configure checks, but stop before creating any output
-     files.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index fe7b47e..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,904 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = .
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
-	$(am__configure_deps) $(am__DIST_COMMON)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/apertium/apertium_config.h
-CONFIG_CLEAN_FILES = apertium.pc
-CONFIG_CLEAN_VPATH_FILES =
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
-	ctags-recursive dvi-recursive html-recursive info-recursive \
-	install-data-recursive install-dvi-recursive \
-	install-exec-recursive install-html-recursive \
-	install-info-recursive install-pdf-recursive \
-	install-ps-recursive install-recursive installcheck-recursive \
-	installdirs-recursive pdf-recursive ps-recursive \
-	tags-recursive uninstall-recursive
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(aclocaldir)" \
-	"$(DESTDIR)$(pkgconfigdir)"
-DATA = $(aclocal_DATA) $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
-  distclean-recursive maintainer-clean-recursive
-am__recursive_targets = \
-  $(RECURSIVE_TARGETS) \
-  $(RECURSIVE_CLEAN_TARGETS) \
-  $(am__extra_recursive_targets)
-AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
-	cscope distdir dist dist-all distcheck
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-CSCOPE = cscope
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/apertium.pc.in \
-	AUTHORS COPYING ChangeLog INSTALL NEWS README compile \
-	config.guess config.sub install-sh ltmain.sh missing
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  if test -d "$(distdir)"; then \
-    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-      && rm -rf "$(distdir)" \
-      || { sleep 5 && rm -rf "$(distdir)"; }; \
-  else :; fi
-am__post_remove_distdir = $(am__remove_distdir)
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-DIST_TARGETS = dist-gzip
-distuninstallcheck_listfiles = find . -type f -print
-am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
-  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APERTIUM_CFLAGS = @APERTIUM_CFLAGS@
-APERTIUM_LIBS = @APERTIUM_LIBS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASH = @BASH@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FLEX = @FLEX@
-GENERIC_API_VERSION = @GENERIC_API_VERSION@
-GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@
-GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
-GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
-GENERIC_RELEASE = @GENERIC_RELEASE@
-GENERIC_VERSION = @GENERIC_VERSION@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMLLINT = @XMLLINT@
-XSLTPROC = @XSLTPROC@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = $(GENERIC_LIBRARY_NAME)
-DIST_SUBDIRS = $(GENERIC_LIBRARY_NAME)
-modesdir = $(prefix)/share/apertium/modes
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = apertium.pc
-aclocaldir = $(datadir)/aclocal
-aclocal_DATA = apertium.m4
-EXTRA_DIST = autogen.sh README-MODES apertium.m4
-all: all-recursive
-
-.SUFFIXES:
-am--refresh: Makefile
-	@:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
-	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
-		&& exit 0; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    echo ' $(SHELL) ./config.status'; \
-	    $(SHELL) ./config.status;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	$(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	$(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-apertium.pc: $(top_builddir)/config.status $(srcdir)/apertium.pc.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool config.lt
-install-aclocalDATA: $(aclocal_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(aclocaldir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(aclocaldir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(aclocaldir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(aclocaldir)" || exit $$?; \
-	done
-
-uninstall-aclocalDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(aclocaldir)'; $(am__uninstall_files_from_dir)
-install-pkgconfigDATA: $(pkgconfig_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-	done
-
-uninstall-pkgconfigDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run 'make' without going through this Makefile.
-# To change the values of 'make' variables: instead of editing Makefiles,
-# (1) if the variable is set in 'config.status', edit 'config.status'
-#     (which will cause the Makefiles to be regenerated when you run 'make');
-# (2) otherwise, pass the desired values on the 'make' command line.
-$(am__recursive_targets):
-	@fail=; \
-	if $(am__make_keepgoing); then \
-	  failcom='fail=yes'; \
-	else \
-	  failcom='exit 1'; \
-	fi; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-recursive
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	set x; \
-	here=`pwd`; \
-	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-	  include_option=--etags-include; \
-	  empty_fix=.; \
-	else \
-	  include_option=--include; \
-	  empty_fix=; \
-	fi; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test ! -f $$subdir/TAGS || \
-	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-	  fi; \
-	done; \
-	$(am__define_uniq_tagged_files); \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: ctags-recursive
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscope: cscope.files
-	test ! -s cscope.files \
-	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-clean-cscope:
-	-rm -f cscope.files
-cscope.files: clean-cscope cscopelist
-cscopelist: cscopelist-recursive
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
-
-distdir: $(DISTFILES)
-	$(am__remove_distdir)
-	test -d "$(distdir)" || mkdir "$(distdir)"
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    $(am__make_dryrun) \
-	      || test -d "$(distdir)/$$subdir" \
-	      || $(MKDIR_P) "$(distdir)/$$subdir" \
-	      || exit 1; \
-	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-	    $(am__relativize); \
-	    new_distdir=$$reldir; \
-	    dir1=$$subdir; dir2="$(top_distdir)"; \
-	    $(am__relativize); \
-	    new_top_distdir=$$reldir; \
-	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-	    ($(am__cd) $$subdir && \
-	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$new_top_distdir" \
-	        distdir="$$new_distdir" \
-		am__remove_distdir=: \
-		am__skip_length_check=: \
-		am__skip_mode_fix=: \
-	        distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-	-test -n "$(am__skip_mode_fix)" \
-	|| find "$(distdir)" -type d ! -perm -755 \
-		-exec chmod u+rwx,go+rx {} \; -o \
-	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__post_remove_distdir)
-
-dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
-	$(am__post_remove_distdir)
-
-dist-lzip: distdir
-	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
-	$(am__post_remove_distdir)
-
-dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
-	$(am__post_remove_distdir)
-
-dist-tarZ: distdir
-	@echo WARNING: "Support for distribution archives compressed with" \
-		       "legacy program 'compress' is deprecated." >&2
-	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__post_remove_distdir)
-
-dist-shar: distdir
-	@echo WARNING: "Support for shar distribution archives is" \
-	               "deprecated." >&2
-	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__post_remove_distdir)
-
-dist-zip: distdir
-	-rm -f $(distdir).zip
-	zip -rq $(distdir).zip $(distdir)
-	$(am__post_remove_distdir)
-
-dist dist-all:
-	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
-	$(am__post_remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-	case '$(DIST_ARCHIVES)' in \
-	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
-	*.tar.bz2*) \
-	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
-	*.tar.lz*) \
-	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
-	*.tar.xz*) \
-	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-	*.tar.Z*) \
-	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
-	*.zip*) \
-	  unzip $(distdir).zip ;;\
-	esac
-	chmod -R a-w $(distdir)
-	chmod u+w $(distdir)
-	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
-	chmod a-w $(distdir)
-	test -d $(distdir)/_build || exit 0; \
-	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build/sub \
-	  && ../../configure \
-	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
-	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	    --srcdir=../.. --prefix="$$dc_install_base" \
-	  && $(MAKE) $(AM_MAKEFLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
-	  && $(MAKE) $(AM_MAKEFLAGS) check \
-	  && $(MAKE) $(AM_MAKEFLAGS) install \
-	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-	        distuninstallcheck \
-	  && chmod -R a-w "$$dc_install_base" \
-	  && ({ \
-	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
-	  && rm -rf "$$dc_destdir" \
-	  && $(MAKE) $(AM_MAKEFLAGS) dist \
-	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-	  && cd "$$am__cwd" \
-	  || exit 1
-	$(am__post_remove_distdir)
-	@(echo "$(distdir) archives ready for distribution: "; \
-	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-	@test -n '$(distuninstallcheck_dir)' || { \
-	  echo 'ERROR: trying to run $@ with an empty' \
-	       '$$(distuninstallcheck_dir)' >&2; \
-	  exit 1; \
-	}; \
-	$(am__cd) '$(distuninstallcheck_dir)' || { \
-	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
-	  exit 1; \
-	}; \
-	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
-	   || { echo "ERROR: files left after uninstall:" ; \
-	        if test -n "$(DESTDIR)"; then \
-	          echo "  (check DESTDIR support)"; \
-	        fi ; \
-	        $(distuninstallcheck_listfiles) ; \
-	        exit 1; } >&2
-distcleancheck: distclean
-	@if test '$(srcdir)' = . ; then \
-	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-	  exit 1 ; \
-	fi
-	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-	  || { echo "ERROR: files left in build directory after distclean:" ; \
-	       $(distcleancheck_listfiles) ; \
-	       exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA)
-installdirs: installdirs-recursive
-installdirs-am:
-	for dir in "$(DESTDIR)$(aclocaldir)" "$(DESTDIR)$(pkgconfigdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-libtool \
-	distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-aclocalDATA install-data-local \
-	install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-aclocalDATA uninstall-pkgconfigDATA
-
-.MAKE: $(am__recursive_targets) install-am install-strip
-
-.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
-	am--refresh check check-am clean clean-cscope clean-generic \
-	clean-libtool cscope cscopelist-am ctags ctags-am dist \
-	dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
-	dist-xz dist-zip distcheck distclean distclean-generic \
-	distclean-libtool distclean-tags distcleancheck distdir \
-	distuninstallcheck dvi dvi-am html html-am info info-am \
-	install install-aclocalDATA install-am install-data \
-	install-data-am install-data-local install-dvi install-dvi-am \
-	install-exec install-exec-am install-html install-html-am \
-	install-info install-info-am install-man install-pdf \
-	install-pdf-am install-pkgconfigDATA install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	installdirs-am maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
-	ps ps-am tags tags-am uninstall uninstall-aclocalDATA \
-	uninstall-am uninstall-pkgconfigDATA
-
-.PRECIOUS: Makefile
-
-
-install-data-local:
-	mkdir -p $(DESTDIR)$(modesdir)
-	$(INSTALL_DATA) README-MODES  $(DESTDIR)$(modesdir)/README
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/NEWS b/NEWS
index 38d62ea..fd2d8ae 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,101 @@
-Mon Jun  5 00:29:11 BST 2006
 
-Initial packaging.
+===================
+ NEWS for apertium
+===================
 
-Wed Oct  3 07:12:19 BST 2007
+SVN
+---
 
-Packaging version 3.0.
+* fix a crash when apertium-tagger is compiled with with clang
+
+* new option -n to deformatters turns off dot-insertion
+
+
+Version 3.4, 2015-03-17 (-r59200)
+---------------------------------
+
+* transfer files now work even if they were compiled with a different
+  version of pcre
+
+* more explicit validation checks on .dix compilation
+
+* various fixes to driver script:
+
+  * `apertium -d . -l` behaves as expected now
+
+  * `>>` no longer empties out the destination file
+
+  * safer variable quoting
+
+* some Windows Unicode fixes
+
+* tagger now resets its state after a flush
+
+
+Version 3.3, 2014-08-20 (-r56825)
+---------------------------------
+
+* new Light Sliding Window Part-of-Speech Tagger (GsoC project merged)
+
+* new LaTeX format handler
+
+* new html-noent format handler (html without turning non-ASCII into entities)
+
+* bilingual lookup can now be separate from transfer
+
+  * see new -b options to lt-proc/apertium-transfer
+
+* apertium.m4 now available for language pairs to simplify build rules
+  and depend on monolingual data
+
+* some memory leaks and many minor bugs fixed
+
+  * pretransfer now allows '+' inside tags
+
+* --trace modes for transfer
+
+
+Version 3.2, 2010-09-21 (-r25741)
+---------------------------------
+
+* Fixed some bugs in pretransfer, allow '+' inside tags
+
+* Updated the DTDs to allow comments anywhere
+
+
+Version 3.1, 2008-09-29
+-----------------------
+
+
+Version 3.0, 2008-08-01
+-----------------------
+
+* Debian package
+
+
+Version 2.0, 2007-06-19
+-----------------------
+
+
+Version 1.9, 2006-12-15
+-----------------------
+
+
+Version 1.0, 2006-10-02
+-----------------------
+
+* Debian package
+
+
+Version 0.9, 2005-09-29
+-----------------------
+
+
+Version 0.8, 2005-08-01
+-----------------------
+
+
+
+# Local Variables:
+# mode: markdown
+# End:
diff --git a/README b/README
index 39bb9b9..67749b7 100644
--- a/README
+++ b/README
@@ -1,11 +1,14 @@
 REQUIREMENTS
 
-* This package needs lttoolbox-3.1 package  installed in the
-system.
+* This package needs the package lttoolbox-3.3.1 installed in the
+system, as well as libxml and libpcre.
+
+See www.apertium.org for more information on installing.
 
 DESCRIPTION
 
-When building, this package generates the following modules:
+When building, this package generates, among others, the following
+modules:
 
 * apertium-deshtml, apertium-desrtf, apertium-destxt
   Deformatters for html, rtf and txt document formats.
@@ -13,21 +16,15 @@ When building, this package generates the following modules:
 * apertium-rehtml, apertium-rertf, apertium-retxt
   Reformatters for html, rtf and txt document formats.
 
-* apertium-gen-tagger
-  Tagger modules generator.
-
-* apertium-gen-transfer
-  Transfer modules generator.
-
 * apertium
   Translator program.  Execute without parameters to see the usage.
 
 QUICK START
 
-1) Download the packages for lttoolbox-VERSION.tar.gz and 
-   apertium-VERSION.tar.gz and linguistic data	
+1) Download the packages for lttoolbox-VERSION.tar.gz and
+   apertium-VERSION.tar.gz and linguistic data
 
-   Note: If you are using the translator from SVN, run ./autogen.sh before 
+   Note: If you are using the translator from SVN, run ./autogen.sh before
          running ./configure in all cases.
 
 2) Unpack lttoolbox and do ('#' means 'do that with root privileges'):
@@ -44,20 +41,28 @@ QUICK START
 
 4) Unpack linguistic data (LING_DATA_DIR) and do:
    $ cd LING_DATA_DIR
+   $ ./configure
    $ make
-   and wait for a while (minutes).  
+   and wait for a while (minutes).
 
 5) Use the translator
-   
-   USAGE: apertium [-d datadir] [-f format] [-u] <translation> [in [out]]
+
+   USAGE: apertium [-d datadir] [-f format] [-u] <direction> [in [out]]
     -d datadir       directory of linguistic data
-    -f format        one of: txt (default), html, rtf
+    -f format        one of: txt (default), html, rtf, odt, docx, wxml, xlsx, pptx,
+                     xpresstag, html-noent, latex, latex-raw
+    -a               display ambiguity
     -u               don't display marks '*' for unknown words
-    translation      typically, LANG1-LANG2, but see modes.xml in language data
+    -n               don't insert period before possible sentence-ends
+    -m memory.tmx    use a translation memory to recycle translations
+    -o direction     translation direction using the translation memory,
+                     by default 'direction' is used instead
+    -l               lists the available translation directions and exits
+    direction        typically, LANG1-LANG2, but see modes.xml in language data
     in               input file (stdin by default)
     out              output file (stdout by default)
 
 
    Sample:
 
-   $ apertium es-ca txt <input >output
+   $ apertium -f txt es-ca <input >output
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644
index ade9765..0000000
--- a/aclocal.m4
+++ /dev/null
@@ -1,10396 +0,0 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
-
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
-[m4_warning([this file was generated for autoconf 2.69.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically 'autoreconf'.])])
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-#   Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-# Copyright (C) 2014 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# 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 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 this program.  If not, see <http://www.gnu.org/licenses/>.
-])
-
-# serial 58 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
-       [m4_default([$3],
-		   [m4_fatal([Libtool version $1 or higher is required],
-		             63)])],
-       [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
-  *\ * | *\	*)
-    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
-AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}])
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS=$ltmain
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_PREPARE_CC_BASENAME
-# -----------------------
-m4_defun([_LT_PREPARE_CC_BASENAME], [
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in @S|@*""; do
-      case $cc_temp in
-        compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-        distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-])# _LT_PREPARE_CC_BASENAME
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME,
-# but that macro is also expanded into generated libtool script, which
-# arranges for $SED and $ECHO to be set by different means.
-m4_defun([_LT_CC_BASENAME],
-[m4_require([_LT_PREPARE_CC_BASENAME])dnl
-AC_REQUIRE([_LT_DECL_SED])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-func_cc_basename $1
-cc_basename=$func_cc_basename_result
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl
-
-_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl
-dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_WITH_SYSROOT])dnl
-m4_require([_LT_CMD_TRUNCATE])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options that allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}"; then
-   setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-
-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 set != "${COLLECT_NAMES+set}"; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# 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
-
-_LT_CC_BASENAME([$compiler])
-
-# 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
-    _LT_PATH_MAGIC
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-m4_defun([_LT_PREPARE_SED_QUOTE_VARS],
-[# Backslashify 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'
-])
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from 'configure', and 'config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# 'config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain=$ac_aux_dir/ltmain.sh
-])# _LT_PROG_LTMAIN
-
-
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the 'libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
-              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME.  Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
-    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
-	[m4_ifval([$1], [$1], [$2])])
-    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
-    m4_ifval([$4],
-	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
-    lt_dict_add_subkey([lt_decl_dict], [$2],
-	[tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
-  [0], [m4_fatal([$0: too few arguments: $#])],
-  [1], [m4_fatal([$0: too few arguments: $#: $1])],
-  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
-  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
-  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
-    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
-    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
-     m4_if([$2], [],
-	   m4_quote(lt_decl_varnames),
-	m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
-			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to 'config.status' so that its
-# declaration there will have the same value as in 'configure'.  VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly.  In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags='_LT_TAGS'dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-#    # Some comment about what VAR is for.
-#    visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
-					   [description])))[]dnl
-m4_pushdef([_libtool_name],
-    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
-    [0], [_libtool_name=[$]$1],
-    [1], [_libtool_name=$lt_[]$1],
-    [2], [_libtool_name=$lt_[]$1],
-    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool'
-# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
-    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into 'config.status', and then the shell code to quote escape them in
-# for loops in 'config.status'.  Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
-	dnl If the libtool generation code has been placed in $CONFIG_LT,
-	dnl instead of duplicating it all over again into config.status,
-	dnl then we will have config.status run $CONFIG_LT later, so it
-	dnl needs to know what name is stored there:
-        [AC_CONFIG_COMMANDS([libtool],
-            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
-    dnl If the libtool generation code is destined for config.status,
-    dnl expand the accumulated commands and init code now:
-    [AC_CONFIG_COMMANDS([libtool],
-        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# 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'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$[]1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable.  If COMMENT is supplied, it is inserted after the
-# '#!' sequence but before initialization text begins.  After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script.  The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-m4_ifdef([AS_INIT_GENERATED],
-[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])],
-[m4_defun([_LT_GENERATED_FILE_INIT],
-[m4_require([AS_PREPARE])]dnl
-[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl
-[lt_write_fail=0
-cat >$1 <<_ASEOF || lt_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-$2
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$1 <<\_ASEOF || lt_write_fail=1
-AS_SHELL_SANITIZE
-_AS_PREPARE
-exec AS_MESSAGE_FD>&1
-_ASEOF
-test 0 = "$lt_write_fail" && chmod +x $1[]dnl
-m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-_LT_GENERATED_FILE_INIT(["$CONFIG_LT"],
-[# Run this file to recreate a libtool stub with the current configuration.])
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-lt_cl_silent=false
-exec AS_MESSAGE_LOG_FD>>config.log
-{
-  echo
-  AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-'$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
-  -h, --help      print this help, then exit
-  -V, --version   print version number, then exit
-  -q, --quiet     do not print progress messages
-  -d, --debug     don't remove temporary files
-
-Report bugs to <bug-libtool at gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test 0 != $[#]
-do
-  case $[1] in
-    --version | --v* | -V )
-      echo "$lt_cl_version"; exit 0 ;;
-    --help | --h* | -h )
-      echo "$lt_cl_help"; exit 0 ;;
-    --debug | --d* | -d )
-      debug=: ;;
-    --quiet | --q* | --silent | --s* | -q )
-      lt_cl_silent=: ;;
-
-    -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try '$[0] --help' for more information.]) ;;
-
-    *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try '$[0] --help' for more information.]) ;;
-  esac
-  shift
-done
-
-if $lt_cl_silent; then
-  exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure.  Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-lt_cl_success=:
-test yes = "$silent" &&
-  lt_config_lt_args="$lt_config_lt_args --quiet"
-exec AS_MESSAGE_LOG_FD>/dev/null
-$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-exec AS_MESSAGE_LOG_FD>>config.log
-$lt_cl_success || AS_EXIT(1)
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars.  Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
-  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
-  m4_if(_LT_TAG, [C], [
-    # See if we are running on zsh, and set the options that 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
-# Generated automatically by $as_me ($PACKAGE) $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.
-
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit, 1996
-
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# Configured defaults for sys_lib_dlsearch_path munging.
-: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-    cat <<'_LT_EOF' >> "$cfgfile"
-
-# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
-
-_LT_PREPARE_MUNGE_PATH_LIST
-_LT_PREPARE_CC_BASENAME
-
-# ### END FUNCTIONS SHARED WITH CONFIGURE
-
-_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 set != "${COLLECT_NAMES+set}"; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-  _LT_PROG_LTMAIN
-
-  # 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 '$q' "$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"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    RM='$RM'
-    ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
-  [C],			[_LT_LANG(C)],
-  [C++],		[_LT_LANG(CXX)],
-  [Go],			[_LT_LANG(GO)],
-  [Java],		[_LT_LANG(GCJ)],
-  [Fortran 77],		[_LT_LANG(F77)],
-  [Fortran],		[_LT_LANG(FC)],
-  [Windows Resource],	[_LT_LANG(RC)],
-  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-    [_LT_LANG($1)],
-    [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-  [LT_SUPPORTED_TAG([$1])dnl
-  m4_append([_LT_TAGS], [$1 ])dnl
-  m4_define([_LT_LANG_]$1[_enabled], [])dnl
-  _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-m4_ifndef([AC_PROG_GO], [
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_GO.  When it is available in    #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-m4_defun([AC_PROG_GO],
-[AC_LANG_PUSH(Go)dnl
-AC_ARG_VAR([GOC],     [Go compiler command])dnl
-AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl
-_AC_ARG_VAR_LDFLAGS()dnl
-AC_CHECK_TOOL(GOC, gccgo)
-if test -z "$GOC"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo])
-  fi
-fi
-if test -z "$GOC"; then
-  AC_CHECK_PROG(GOC, gccgo, gccgo, false)
-fi
-])#m4_defun
-])#m4_ifndef
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-  [LT_LANG(CXX)],
-  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
-  [LT_LANG(F77)],
-  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
-  [LT_LANG(FC)],
-  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-  [LT_LANG(GCJ)],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-    [LT_LANG(GCJ)],
-    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-      [LT_LANG(GCJ)],
-      [m4_ifdef([AC_PROG_GCJ],
-	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([A][M_PROG_GCJ],
-	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([LT_PROG_GCJ],
-	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([AC_PROG_GO],
-  [LT_LANG(GO)],
-  [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
-  [LT_LANG(RC)],
-  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-dnl AC_DEFUN([AC_LIBTOOL_RC], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# 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
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-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*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-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*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-    AC_CHECK_TOOL([LIPO], [lipo], [:])
-    AC_CHECK_TOOL([OTOOL], [otool], [:])
-    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-    _LT_DECL([], [DSYMUTIL], [1],
-      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-    _LT_DECL([], [NMEDIT], [1],
-      [Tool to change global to local symbols on Mac OS X])
-    _LT_DECL([], [LIPO], [1],
-      [Tool to manipulate fat objects and archives on Mac OS X])
-    _LT_DECL([], [OTOOL], [1],
-      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-    _LT_DECL([], [OTOOL64], [1],
-      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [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" >&AS_MESSAGE_LOG_FD
-	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-	# If there is a non-empty error log, and "single_module"
-	# appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-	  cat conftest.err >&AS_MESSAGE_LOG_FD
-	# Otherwise, if the output was created with a 0 exit code from
-	# the compiler, it worked.
-	elif test -f libconftest.dylib && test 0 = "$_lt_result"; then
-	  lt_cv_apple_cc_single_mod=yes
-	else
-	  cat conftest.err >&AS_MESSAGE_LOG_FD
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi])
-
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-	[lt_cv_ld_exported_symbols_list=yes],
-	[lt_cv_ld_exported_symbols_list=no])
-	LDFLAGS=$save_LDFLAGS
-    ])
-
-    AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load],
-      [lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
-      echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
-      $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-	cat conftest.err >&AS_MESSAGE_LOG_FD
-      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
-	lt_cv_ld_force_load=yes
-      else
-	cat conftest.err >&AS_MESSAGE_LOG_FD
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-    ])
-    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 yes = "$lt_cv_apple_cc_single_mod"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test yes = "$lt_cv_ld_exported_symbols_list"; 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" && test no = "$lt_cv_ld_force_load"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES([TAG])
-# ---------------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
-  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_automatic, $1)=yes
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  if test yes = "$lt_cv_ld_force_load"; then
-    _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-    m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes],
-                  [FC],  [_LT_TAGVAR(compiler_needs_object, $1)=yes])
-  else
-    _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-  fi
-  _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined
-  case $cc_basename in
-     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test yes = "$_lt_dar_can_shared"; then
-    output_verbose_link_cmd=func_echo_all
-    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
-    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="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"
-    _LT_TAGVAR(module_expsym_cmds, $1)="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"
-    m4_if([$1], [CXX],
-[   if test yes != "$lt_cv_apple_cc_single_mod"; then
-      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
-    fi
-],[])
-  else
-  _LT_TAGVAR(ld_shlibs, $1)=no
-  fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX([TAGNAME])
-# ----------------------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-# Store the results from the different compilers for each TAGNAME.
-# Allow to override them for all tags through lt_cv_aix_libpath.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])],
-  [AC_LINK_IFELSE([AC_LANG_PROGRAM],[
-  lt_aix_libpath_sed='[
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }]'
-  _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`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 "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi],[])
-  if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then
-    _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib
-  fi
-  ])
-  aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])
-fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[m4_divert_text([M4SH-INIT], [$1
-])])# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script that will find a shell with a builtin
-# printf (that we can use as an echo command).
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-AC_MSG_CHECKING([how to print strings])
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$[]1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-case $ECHO in
-  printf*) AC_MSG_RESULT([printf]) ;;
-  print*) AC_MSG_RESULT([print -r]) ;;
-  *) AC_MSG_RESULT([cat]) ;;
-esac
-
-m4_ifdef([_AS_DETECT_SUGGESTED],
-[_AS_DETECT_SUGGESTED([
-  test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-    ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test "X`printf %s $ECHO`" = "X$ECHO" \
-      || test "X`print -r -- $ECHO`" = "X$ECHO" )])])
-
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_WITH_SYSROOT
-# ----------------
-AC_DEFUN([_LT_WITH_SYSROOT],
-[AC_MSG_CHECKING([for sysroot])
-AC_ARG_WITH([sysroot],
-[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
-  [Search for dependent libraries within DIR (or the compiler's sysroot
-   if not specified).])],
-[], [with_sysroot=no])
-
-dnl lt_sysroot will always be passed unquoted.  We quote it here
-dnl in case the user passed a directory name.
-lt_sysroot=
-case $with_sysroot in #(
- yes)
-   if test yes = "$GCC"; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   AC_MSG_RESULT([$with_sysroot])
-   AC_MSG_ERROR([The sysroot must be an absolute path.])
-   ;;
-esac
-
- AC_MSG_RESULT([${lt_sysroot:-no}])
-_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl
-[dependent libraries, and where our libraries should be installed.])])
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-  [AS_HELP_STRING([--disable-libtool-lock],
-    [avoid locking (might break parallel builds)])])
-test no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); 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 what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    if test yes = "$lt_cv_prog_gnu_ld"; 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*
-  ;;
-
-mips64*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    emul=elf
-    case `/usr/bin/file conftest.$ac_objext` in
-      *32-bit*)
-	emul="${emul}32"
-	;;
-      *64-bit*)
-	emul="${emul}64"
-	;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *MSB*)
-	emul="${emul}btsmip"
-	;;
-      *LSB*)
-	emul="${emul}ltsmip"
-	;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *N32*)
-	emul="${emul}n32"
-	;;
-    esac
-    LD="${LD-ld} -m $emul"
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.  Note that the listed cases only cover the
-  # situations where additional linker options are needed (such as when
-  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
-  # vice versa); the common cases where no linker options are needed do
-  # not appear in the list.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); 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*)
-	    case `/usr/bin/file conftest.o` in
-	      *x86-64*)
-		LD="${LD-ld} -m elf32_x86_64"
-		;;
-	      *)
-		LD="${LD-ld} -m elf_i386"
-		;;
-	    esac
-	    ;;
-	  powerpc64le-*linux*)
-	    LD="${LD-ld} -m elf32lppclinux"
-	    ;;
-	  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"
-	    ;;
-	  powerpcle-*linux*)
-	    LD="${LD-ld} -m elf64lppc"
-	    ;;
-	  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"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test yes != "$lt_cv_cc_needs_belf"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS=$SAVE_CFLAGS
-  fi
-  ;;
-*-*solaris*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*|x86_64-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD=${LD-ld}_sol2
-        fi
-        ;;
-      *)
-	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
-])# _LT_ENABLE_LOCK
-
-
-# _LT_PROG_AR
-# -----------
-m4_defun([_LT_PROG_AR],
-[AC_CHECK_TOOLS(AR, [ar], false)
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
-
-AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
-  [lt_cv_ar_at_file=no
-   AC_COMPILE_IFELSE([AC_LANG_PROGRAM],
-     [echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD'
-      AC_TRY_EVAL([lt_ar_try])
-      if test 0 -eq "$ac_status"; then
-	# Ensure the archiver fails upon bogus file names.
-	rm -f conftest.$ac_objext libconftest.a
-	AC_TRY_EVAL([lt_ar_try])
-	if test 0 -ne "$ac_status"; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-     ])
-  ])
-
-if test no = "$lt_cv_ar_at_file"; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-_LT_DECL([], [archiver_list_spec], [1],
-  [How to feed a file listing to the archiver])
-])# _LT_PROG_AR
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[_LT_PROG_AR
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
-    [Commands used to install an old-style archive])
-
-# 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
-  bitrig* | openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
-    [Commands used to build an old-style archive])
-_LT_DECL([], [lock_old_archive_extraction], [0],
-    [Whether to use a lock for old archive extraction])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"  ## exclude from sc_useless_quotes_in_assignment
-   # 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:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   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 "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $RM conftest*
-])
-
-if test yes = "[$]$2"; then
-    m4_if([$5], , :, [$5])
-else
-    m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                  [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS $3"
-   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>&AS_MESSAGE_LOG_FD
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-])
-
-if test yes = "[$]$2"; then
-    m4_if([$4], , :, [$4])
-else
-    m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  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;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    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;
-    ;;
-
-  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
-    # 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
-    ;;
-
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
-  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" && \
-       test undefined != "$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`env echo "$teststring$teststring" 2>/dev/null` \
-	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test 17 != "$i" # 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
-])
-if test -n "$lt_cv_sys_max_cmd_len"; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
-    [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test yes = "$cross_compiling"; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-[#line $LINENO "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
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 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;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}]
-_LT_EOF
-  if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test yes != "$enable_dlopen"; 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
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[
-    lt_cv_dlopen=dyld
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-    ;;
-
-  tpf*)
-    # Don't try to run any link tests for TPF.  We know it's impossible
-    # because TPF is a cross-compiler, and we know how we open DSOs.
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=no
-    ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen=shl_load],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen=dlopen],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  esac
-
-  if test no = "$lt_cv_dlopen"; then
-    enable_dlopen=no
-  else
-    enable_dlopen=yes
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS=$CPPFLAGS
-    test yes = "$ac_cv_header_dlfcn_h" && 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"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test yes = "$lt_cv_dlopen_self"; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-	  lt_cv_dlopen_self_static, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    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
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
-	 [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
-	 [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
-	 [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=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:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   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 "$_lt_compiler_boilerplate" | $SED '/^$/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_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $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*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
-	[Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links=nottested
-if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  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
-  AC_MSG_RESULT([$hard_links])
-  if test no = "$hard_links"; then
-    AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[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])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
-         [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/",
-  [Define to the sub-directory where libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
-   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then
-
-  # We can hardcode non-existent directories.
-  if test no != "$_LT_TAGVAR(hardcode_direct, $1)" &&
-     # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" &&
-     test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test relink = "$_LT_TAGVAR(hardcode_action, $1)" ||
-   test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
-     test no = "$enable_shared"; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
-    [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-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"
-  AC_MSG_RESULT([yes])
-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"
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_PREPARE_MUNGE_PATH_LIST
-# ---------------------------
-# Make sure func_munge_path_list() is defined correctly.
-m4_defun([_LT_PREPARE_MUNGE_PATH_LIST],
-[[# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x at S|@2 in
-    x)
-        ;;
-    *:)
-        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\"
-        ;;
-    x:*)
-        eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\"
-        ;;
-    *)
-        eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\"
-        ;;
-    esac
-}
-]])# _LT_PREPARE_PATH_LIST
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
-	[], [
-if test yes = "$GCC"; then
-  case $host_os in
-    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
-    *) lt_awk_arg='/^libraries:/' ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
-    *) lt_sed_strip_eq='s|=/|/|g' ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # 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 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # 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`
-  # ...but if some path component already ends with the multilib dir we assume
-  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
-  case "$lt_multi_os_dir; $lt_search_path_spec " in
-  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
-    lt_multi_os_dir=
-    ;;
-  esac
-  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"
-    elif test -n "$lt_multi_os_dir"; then
-      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; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-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
-
-AC_ARG_VAR([LT_SYS_LIBRARY_PATH],
-[User-defined run-time library search path.])
-
-case $host_os in
-aix3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test ia64 = "$host_cpu"; 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
-    # Using Import Files as archive members, it is possible to support
-    # filename-based versioning of shared library archives on AIX. While
-    # this would work for both with and without runtime linking, it will
-    # prevent static linking of such archives. So we do filename-based
-    # shared library versioning with .so extension only, which is used
-    # when both runtime linking and shared linking is enabled.
-    # Unfortunately, runtime linking may impact performance, so we do
-    # not want this to be the default eventually. Also, we use the
-    # versioned .so libs for executables only if there is the -brtl
-    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
-    # To allow for filename-based versioning support, we need to create
-    # libNAME.so.V as an archive file, containing:
-    # *) an Import File, referring to the versioned filename of the
-    #    archive as well as the shared archive member, telling the
-    #    bitwidth (32 or 64) of that shared object, and providing the
-    #    list of exported symbols of that shared object, eventually
-    #    decorated with the 'weak' keyword
-    # *) the shared object with the F_LOADONLY flag set, to really avoid
-    #    it being seen by the linker.
-    # At run time we better use the real file rather than another symlink,
-    # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
-    case $with_aix_soname,$aix_use_runtimelinking in
-    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    aix,yes) # traditional libtool
-      dynamic_linker='AIX unversionable lib.so'
-      # 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'
-      ;;
-    aix,no) # traditional AIX only
-      dynamic_linker='AIX lib.a[(]lib.so.V[)]'
-      # 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'
-      ;;
-    svr4,*) # full svr4 only
-      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,yes) # both, prefer svr4
-      dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # unpreferred sharedlib libNAME.a needs extra handling
-      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
-      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,no) # both, prefer aix
-      dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]"
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
-      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
-      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
-      ;;
-    esac
-    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=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $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 # correct to gnu/linux during the next big refactor
-  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,$cc_basename in
-  yes,*)
-    # gcc
-    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'
-m4_if([$1], [],[
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
-      ;;
-    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
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
-    library_names_spec='$libname.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec=$LIB
-      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH.
-        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
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # 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'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # 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`'
-m4_if([$1], [],[
-  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 # correct to gnu/linux during the next big refactor
-  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
-  ;;
-
-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[[23]].*) 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$major $libname$shared_ext'
-      soname_spec='$libname$release$shared_ext$major'
-      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
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  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=LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  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 32 = "$HPUX_IA64_MODE"; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
-    fi
-    ;;
-  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'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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 yes = "$lt_cv_prog_gnu_ld"; then
-		version_type=linux # correct to gnu/linux during the next big refactor
-	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
-  ;;
-
-linux*android*)
-  version_type=none # Android doesn't support versioned libraries.
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext'
-  soname_spec='$libname$release$shared_ext'
-  finish_cmds=
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-
-  # 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
-
-  dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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
-  AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath],
-    [lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-	 LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-    AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-      [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-	 [lt_cv_shlibpath_overrides_runpath=yes])])
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-    ])
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # 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
-
-  # Ideally, we could use ldconfig to report *all* directores which are
-  # searched for libraries, however this is still not possible.  Aside from not
-  # being certain /sbin/ldconfig is available, command
-  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
-  # even though it is searched at run-time.  Try to do the best guess by
-  # appending ld.so.conf contents (and includes) 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;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 # correct to gnu/linux during the next big refactor
-  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* | bitrig*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec=/usr/lib
-  need_lib_prefix=no
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    need_version=no
-  else
-    need_version=yes
-  fi
-  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
-  shlibpath_overrides_runpath=yes
-  ;;
-
-os2*)
-  libname_spec='$name'
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-  # OS/2 can only load a DLL with a base name of 8 characters or less.
-  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
-    v=$($ECHO $release$versuffix | tr -d .-);
-    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
-    $ECHO $n$v`$shared_ext'
-  library_names_spec='${libname}_dll.$libext'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=BEGINLIBPATH
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  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'
-  ;;
-
-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 # correct to gnu/linux during the next big refactor
-  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 yes = "$with_gnu_ld"; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-    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=sco
-  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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-  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
-AC_MSG_RESULT([$dynamic_linker])
-test no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
-  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
-  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-_LT_DECL([], [variables_saved_for_relink], [1],
-    [Variables whose values should be saved in libtool wrapper scripts and
-    restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
-    [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
-    [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
-    [[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]])
-_LT_DECL([], [soname_spec], [1],
-    [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [install_override_mode], [1],
-    [Permission mode override for installation of shared libraries])
-_LT_DECL([], [postinstall_cmds], [2],
-    [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
-    [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
-    [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
-    [[As "finish_cmds", except a single script fragment to be evaled but
-    not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
-    [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
-    [Compile-time system search path for libraries])
-_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2],
-    [Detected run-time system search path for libraries])
-_LT_DECL([], [configure_time_lt_sys_library_path], [2],
-    [Explicit LT_SYS_LIBRARY_PATH set during ./configure time])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program that can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[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
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="m4_if([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS=$lt_save_ifs
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$1"; then
-      lt_cv_path_MAGIC_CMD=$ac_dir/"$1"
-      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])
-MAGIC_CMD=$lt_cv_path_MAGIC_CMD
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
-	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program that can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PROG_ECHO_BACKSLASH])dnl
-
-AC_ARG_WITH([gnu-ld],
-    [AS_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test no = "$withval" || with_gnu_ld=yes],
-    [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test yes = "$GCC"; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  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 yes = "$with_gnu_ld"; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[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 no != "$with_gnu_ld" && break
-	;;
-      *)
-	test yes != "$with_gnu_ld" && break
-	;;
-      esac
-    fi
-  done
-  IFS=$lt_save_ifs
-else
-  lt_cv_path_LD=$LD # Let the user override the test with a path.
-fi])
-LD=$lt_cv_path_LD
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# 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])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-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
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test yes != "$GCC"; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test yes = "$GCC"; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-_LT_TAGDECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_TAGDECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_PATH_DD
-# -----------
-# find a working dd
-m4_defun([_LT_PATH_DD],
-[AC_CACHE_CHECK([for a working dd], [ac_cv_path_lt_DD],
-[printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd],
-[if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
-fi])
-rm -f conftest.i conftest2.i conftest.out])
-])# _LT_PATH_DD
-
-
-# _LT_CMD_TRUNCATE
-# ----------------
-# find command to truncate a binary pipe
-m4_defun([_LT_CMD_TRUNCATE],
-[m4_require([_LT_PATH_DD])
-AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin],
-[printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-lt_cv_truncate_bin=
-if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
-fi
-rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"])
-_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1],
-  [Command to truncate a binary pipe])
-])# _LT_CMD_TRUNCATE
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[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
-# that 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
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    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
-  ;;
-
-haiku*)
-  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])(-bit)?( [LM]SB)? 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 glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | 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* | bitrig*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; 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
-  ;;
-os2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-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
-
-_LT_DECL([], [deplibs_check_method], [1],
-    [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
-    [Command to use when deplibs_check_method = "file_magic"])
-_LT_DECL([], [file_magic_glob], [1],
-    [How to find potential files when deplibs_check_method = "file_magic"])
-_LT_DECL([], [want_nocaseglob], [1],
-    [Find potential files using nocaseglob when deplibs_check_method = "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[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
-	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
-	case $build_os in
-	mingw*) lt_bad_file=conftest.nm/nofile ;;
-	*) lt_bad_file=/dev/null ;;
-	esac
-	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
-	*$lt_bad_file* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break 2
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break 2
-	    ;;
-	  *)
-	    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])
-if test no != "$lt_cv_path_NM"; then
-  NM=$lt_cv_path_NM
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
-    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols -headers"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-  AC_SUBST([DUMPBIN])
-  if test : != "$DUMPBIN"; then
-    NM=$DUMPBIN
-  fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
-  [lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD)
-  cat conftest.out >&AS_MESSAGE_LOG_FD
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-# --------------------------------
-# how to determine the name of the shared library
-# associated with a specific link library.
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-m4_require([_LT_DECL_DLLTOOL])
-AC_CACHE_CHECK([how to associate runtime and link libraries],
-lt_cv_sharedlib_from_linklib_cmd,
-[lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh;
-  # decide which one to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd=$ECHO
-  ;;
-esac
-])
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-_LT_DECL([], [sharedlib_from_linklib_cmd], [1],
-    [Command to associate shared and link libraries])
-])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB
-
-
-# _LT_PATH_MANIFEST_TOOL
-# ----------------------
-# locate the manifest tool
-m4_defun([_LT_PATH_MANIFEST_TOOL],
-[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
-  [lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*])
-if test yes != "$lt_cv_path_mainfest_tool"; then
-  MANIFEST_TOOL=:
-fi
-_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
-])# _LT_PATH_MANIFEST_TOOL
-
-
-# _LT_DLL_DEF_P([FILE])
-# ---------------------
-# True iff FILE is a Windows DLL '.def' file.
-# Keep in sync with func_dll_def_p in the libtool script
-AC_DEFUN([_LT_DLL_DEF_P],
-[dnl
-  test DEF = "`$SED -n dnl
-    -e '\''s/^[[	 ]]*//'\'' dnl Strip leading whitespace
-    -e '\''/^\(;.*\)*$/d'\'' dnl      Delete empty lines and comments
-    -e '\''s/^\(EXPORTS\|LIBRARY\)\([[	 ]].*\)*$/DEF/p'\'' dnl
-    -e q dnl                          Only consider the first "real" line
-    $1`" dnl
-])# _LT_DLL_DEF_P
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw)
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM=-lm)
-  ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test yes = "$GCC"; then
-  case $cc_basename in
-  nvcc*)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;;
-  esac
-
-  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
-	[Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# 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 ia64 = "$host_cpu"; 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
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  # Gets list of data symbols to import.
-  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
-  # Adjust the below global symbol transforms to fixup imported variables.
-  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
-  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
-  lt_c_name_lib_hook="\
-  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
-  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
-else
-  # Disable hooks by default.
-  lt_cv_sys_global_symbol_to_import=
-  lt_cdecl_hook=
-  lt_c_name_hook=
-  lt_c_name_lib_hook=
-fi
-
-# 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"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$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"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/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,
-    # D for any global variable and I for any imported 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};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print f,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
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # 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 AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && 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
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT@&t at _DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT@&t at _DLSYM_CONST
-#else
-# define LT@&t at _DLSYM_CONST const
-#endif
-
-#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.  */
-LT@&t at _DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$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_globsym_save_LIBS=$LIBS
-	  lt_globsym_save_CFLAGS=$CFLAGS
-	  LIBS=conftstm.$ac_objext
-	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then
-	    pipe_works=yes
-	  fi
-	  LIBS=$lt_globsym_save_LIBS
-	  CFLAGS=$lt_globsym_save_CFLAGS
-	else
-	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test yes = "$pipe_works"; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-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
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
-    [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-    [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1],
-    [Transform the output of nm into a list of symbols to manually relocate])
-_LT_DECL([global_symbol_to_c_name_address],
-    [lt_cv_sys_global_symbol_to_c_name_address], [1],
-    [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
-    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
-    [Transform the output of nm in a C name address pair when lib prefix is needed])
-_LT_DECL([nm_interface], [lt_cv_nm_interface], [1],
-    [The name lister interface])
-_LT_DECL([], [nm_file_list_spec], [1],
-    [Specify filename containing input files for $NM])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-m4_if([$1], [CXX], [
-  # C++ specific cases for pic, static, wl, etc.
-  if test yes = "$GXX"; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | 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
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      case $host_os in
-      os2*)
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
-	;;
-      esac
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    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*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test ia64 = "$host_cpu"; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      mingw* | cygwin* | os2* | pw32* | 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).
-	m4_if([$1], [GCJ], [],
-	  [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
-	    if test ia64 != "$host_cpu"; then
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64, which still supported -KPIC.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*)
-	    # IBM XL 8.0, 9.0 on PPC and BlueGene
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test yes = "$GCC"; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-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
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      case $host_os in
-      os2*)
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
-	;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)=
-      ;;
-
-    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_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker '
-      if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)"
-      fi
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      case $cc_basename in
-      nagfor*)
-        # NAG Fortran compiler
-        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-        _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      esac
-      ;;
-
-    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).
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      case $host_os in
-      os2*)
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static'
-	;;
-      esac
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-      case $cc_basename in
-      # old Intel for x86_64, which still supported -KPIC.
-      ecc*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
-	;;
-      nagfor*)
-	# NAG Fortran compiler
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	;;
-      tcc*)
-	# Fabrice Bellard et al's Tiny C Compiler
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	*Sun\ F* | *Sun*Fortran*)
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	  ;;
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-        *Intel*\ [[CF]]*Compiler*)
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	  ;;
-	*Portland\ Group*)
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-case $host_os in
-  # For platforms that do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-AC_CACHE_CHECK([for $compiler option to produce PIC],
-  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
-    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
-    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t at m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
-	[Additional compiler flags for building library objects])
-
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-	[How to pass a linker flag through the compiler])
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
-	[Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
-    # Without the "-l" option, or with the "-B" option, AIX nm treats
-    # weak defined symbols like other global defined symbols, whereas
-    # GNU nm marks them as "W".
-    # While the 'weak' keyword is ignored in the Export File, we need
-    # it in the Import File for the 'aix-soname' feature, so we have
-    # to replace the "-B" option with "-P" for AIX nm.
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
-    ;;
-  cygwin* | mingw* | cegcc*)
-    case $cc_basename in
-    cl*)
-      _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-      ;;
-    *)
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-      ;;
-    esac
-    ;;
-  *)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-    ;;
-  esac
-], [
-  runpath_var=
-  _LT_TAGVAR(allow_undefined_flag, $1)=
-  _LT_TAGVAR(always_export_symbols, $1)=no
-  _LT_TAGVAR(archive_cmds, $1)=
-  _LT_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_TAGVAR(compiler_needs_object, $1)=no
-  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(hardcode_automatic, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(inherit_rpath, $1)=no
-  _LT_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_TAGVAR(module_cmds, $1)=
-  _LT_TAGVAR(module_expsym_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_TAGVAR(include_expsyms, $1)=
-  # 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'.
-  _LT_TAGVAR(exclude_expsyms, $1)=['_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.
-dnl Note also adjust exclude_expsyms for C++ above.
-  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 yes != "$GCC"; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd* | bitrig*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_TAGVAR(ld_shlibs, $1)=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test yes = "$with_gnu_ld"; then
-    case $host_os in
-      aix*)
-	# The AIX port of GNU ld has always aspired to compatibility
-	# with the native linker.  However, as the warning in the GNU ld
-	# block says, versions before 2.19.5* couldn't really create working
-	# shared libraries, regardless of the interface used.
-	case `$LD -v 2>&1` in
-	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-	  *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;;
-	  *\ \(GNU\ Binutils\)\ [[3-9]]*) ;;
-	  *)
-	    lt_use_gnu_ld_interface=yes
-	    ;;
-	esac
-	;;
-      *)
-	lt_use_gnu_ld_interface=yes
-	;;
-    esac
-  fi
-
-  if test yes = "$lt_use_gnu_ld_interface"; 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
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$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
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-    else
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [[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 ia64 != "$host_cpu"; then
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, 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 install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$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)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=no
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-      _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        _LT_TAGVAR(archive_cmds, $1)='$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, use it as
-	# is; otherwise, prepend EXPORTS...
-	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    haiku*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    os2*)
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      shrext_cmds=.dll
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	prefix_cmds="$SED"~
-	if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	  prefix_cmds="$prefix_cmds -e 1d";
-	fi~
-	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    interix[[3-9]]*)
-      _LT_TAGVAR(hardcode_direct, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$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.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='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 | kopensolaris*-gnu)
-      tmp_diet=no
-      if test linux-dietlibc = "$host_os"; 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 no = "$tmp_diet"
-      then
-	tmp_addflag=' $pic_flag'
-	tmp_sharedflag='-shared'
-	case $cc_basename,$host_cpu in
-        pgcc*)				# Portland Group C compiler
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95* | pgfortran*)
-					# Portland Group f77 and f90 compilers
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$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
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-	  tmp_sharedflag='--shared' ;;
-        nagfor*)                        # NAGFOR 5.3
-          tmp_sharedflag='-Wl,-shared' ;;
-	xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-	  tmp_sharedflag='-qmkshrobj'
-	  tmp_addflag= ;;
-	nvcc*)	# Cuda Compiler Driver 2.2
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  _LT_TAGVAR(compiler_needs_object, $1)=yes
-	  ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  _LT_TAGVAR(compiler_needs_object, $1)=yes
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	esac
-	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-
-        if test yes = "$supports_anon_versioning"; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='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
-	tcc*)
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
-	  ;;
-	xlf* | bgf* | bgxlf* | mpixlf*)
-	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-	  if test yes = "$supports_anon_versioning"; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='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 $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-	  fi
-	  ;;
-	esac
-      else
-        _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $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
-	_LT_TAGVAR(ld_shlibs, $1)=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
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot
-*** 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
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	  else
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then
-      runpath_var=
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$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.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm.
-	# Without the "-l" option, or with the "-B" option, AIX nm treats
-	# weak defined symbols like other global defined symbols, whereas
-	# GNU nm marks them as "W".
-	# While the 'weak' keyword is ignored in the Export File, we need
-	# it in the Import File for the 'aix-soname' feature, so we have
-	# to replace the "-B" option with "-P" for AIX nm.
-	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-	else
-	  _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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
-	# have runtime linking enabled, and use it for executables.
-	# For shared libraries, we enable/disable runtime linking
-	# depending on the kind of the shared library created -
-	# when "with_aix_soname,aix_use_runtimelinking" is:
-	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-	# "aix,yes"  lib.so          shared, rtl:yes, for executables
-	#            lib.a           static archive
-	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
-	#            lib.a(lib.so.V) shared, rtl:no,  for executables
-	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-	#            lib.a(lib.so.V) shared, rtl:no
-	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-	#            lib.a           static archive
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	  for ld_flag in $LDFLAGS; do
-	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
-	    aix_use_runtimelinking=yes
-	    break
-	  fi
-	  done
-	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
-	    # so we don't have lib.a shared libs to link our executables.
-	    # We have to force runtime linking in this case.
-	    aix_use_runtimelinking=yes
-	    LDFLAGS="$LDFLAGS -Wl,-brtl"
-	  fi
-	  ;;
-	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.
-
-      _LT_TAGVAR(archive_cmds, $1)=''
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
-      case $with_aix_soname,$aix_use_runtimelinking in
-      aix,*) ;; # traditional, no import file
-      svr4,* | *,yes) # use import file
-	# The Import File defines what to hardcode.
-	_LT_TAGVAR(hardcode_direct, $1)=no
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-	;;
-      esac
-
-      if test yes = "$GCC"; 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
-	  _LT_TAGVAR(hardcode_direct, $1)=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
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test yes = "$aix_use_runtimelinking"; then
-	  shared_flag="$shared_flag "'$wl-G'
-	fi
-	# Need to ensure runtime linking is disabled for the traditional
-	# shared library, or the linker may eventually find shared libraries
-	# /with/ Import File - we do not want to mix them.
-	shared_flag_aix='-shared'
-	shared_flag_svr4='-shared $wl-G'
-      else
-	# not using gcc
-	if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
-	    shared_flag='$wl-G'
-	  else
-	    shared_flag='$wl-bM:SRE'
-	  fi
-	  shared_flag_aix='$wl-bM:SRE'
-	  shared_flag_svr4='$wl-G'
-	fi
-      fi
-
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$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.
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX([$1])
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-      else
-	if test ia64 = "$host_cpu"; then
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
-	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
-	 _LT_SYS_MODULE_PATH_AIX([$1])
-	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$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.
-	  _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
-	  _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
-	  if test yes = "$with_gnu_ld"; then
-	    # We only use this code for GNU lds that support --whole-archive.
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
-	  else
-	    # Exported symbols can be pulled into shared objects from archives
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  fi
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-	  # -brtl affects multiple linker settings, -berok does not and is overridden later
-	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
-	  if test svr4 != "$with_aix_soname"; then
-	    # This is similar to how AIX traditionally builds its shared libraries.
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-	  fi
-	  if test aix != "$with_aix_soname"; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 3 [...]
-	  else
-	    # used by -dlpreopen to get the symbols
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-	  fi
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$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)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[[45]]*)
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-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.
-      case $cc_basename in
-      cl*)
-	# Native MSVC
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	_LT_TAGVAR(always_export_symbols, $1)=yes
-	_LT_TAGVAR(file_list_spec, $1)='@'
-	# 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.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-	_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
-            cp "$export_symbols" "$output_objdir/$soname.def";
-            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-          else
-            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-          fi~
-          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-          linknames='
-	# The linker will not automatically build a static lib if we build a DLL.
-	# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-	_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-	_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-	# Don't use ranlib
-	_LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-	_LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-          lt_tool_outputfile="@TOOL_OUTPUT@"~
-          case $lt_outputfile in
-            *.exe|*.EXE) ;;
-            *)
-              lt_outputfile=$lt_outputfile.exe
-              lt_tool_outputfile=$lt_tool_outputfile.exe
-              ;;
-          esac~
-          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-            $RM "$lt_outputfile.manifest";
-          fi'
-	;;
-      *)
-	# Assume MSVC wrapper
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-	_LT_TAGVAR(allow_undefined_flag, $1)=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.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-	# The linker will automatically build a .lib file if we build a DLL.
-	_LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-	# FIXME: Should let the user specify the lib program.
-	_LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-	;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      _LT_DARWIN_LINKER_FEATURES($1)
-      ;;
-
-    dgux*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=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*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test yes = "$GCC"; then
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-      ;;
-
-    hpux10*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test no = "$with_gnu_ld"; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test yes,no = "$GCC,$with_gnu_ld"; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	m4_if($1, [], [
-	  # Older versions of the 11.00 compiler do not understand -b yet
-	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-	  _LT_LINKER_OPTION([if $CC understands -b],
-	    _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b],
-	    [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'],
-	    [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])],
-	  [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'])
-	  ;;
-	esac
-      fi
-      if test no = "$with_gnu_ld"; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test yes = "$GCC"; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $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.
-	# This should be the same for all languages, so no per-tag cache variable.
-	AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol],
-	  [lt_cv_irix_exported_symbol],
-	  [save_LDFLAGS=$LDFLAGS
-	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
-	   AC_LINK_IFELSE(
-	     [AC_LANG_SOURCE(
-	        [AC_LANG_CASE([C], [[int foo (void) { return 0; }]],
-			      [C++], [[int foo (void) { return 0; }]],
-			      [Fortran 77], [[
-      subroutine foo
-      end]],
-			      [Fortran], [[
-      subroutine foo
-      end]])])],
-	      [lt_cv_irix_exported_symbol=yes],
-	      [lt_cv_irix_exported_symbol=no])
-           LDFLAGS=$save_LDFLAGS])
-	if test yes = "$lt_cv_irix_exported_symbol"; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
-	fi
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(inherit_rpath, $1)=yes
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    linux*)
-      case $cc_basename in
-      tcc*)
-	# Fabrice Bellard et al's Tiny C Compiler
-	_LT_TAGVAR(ld_shlibs, $1)=yes
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      esac
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd* | bitrig*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-	else
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-	fi
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      shrext_cmds=.dll
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	prefix_cmds="$SED"~
-	if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	  prefix_cmds="$prefix_cmds -e 1d";
-	fi~
-	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    osf3*)
-      if test yes = "$GCC"; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-      else
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test yes = "$GCC"; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-      else
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='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 "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-      if test yes = "$GCC"; then
-	wlarc='$wl'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-          $CC -shared $pic_flag $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=''
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='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'
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='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
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=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 yes = "$GCC"; then
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-	else
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test sequent = "$host_vendor"; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We CANNOT 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.
-      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-      _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test yes = "$GCC"; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-
-    if test sni = "$host_vendor"; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym'
-	;;
-      esac
-    fi
-  fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
-    [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test yes,yes = "$GCC,$enable_shared"; then
-    case $_LT_TAGVAR(archive_cmds, $1) 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.
-      AC_CACHE_CHECK([whether -lc should be explicitly linked in],
-	[lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1),
-	[$RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-	  pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-	  _LT_TAGVAR(allow_undefined_flag, $1)=
-	  if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-	  then
-	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	  else
-	    lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  fi
-	  _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-	])
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
-    [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
-    [enable_shared_with_static_runtimes], [0],
-    [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
-    [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
-    [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
-    [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
-    [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
-    [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
-    [Commands used to build a loadable module if different from building
-    a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
-    [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
-    [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
-    [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
-    [Flag to hardcode $libdir into a binary during linking.
-    This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
-    [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
-    DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [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])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
-    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
-    [Set to "yes" if building a shared library automatically hardcodes DIR
-    into the library and all subsequent libraries and executables linked
-    against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
-    [Set to yes if linker adds runtime paths of dependent libraries
-    to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
-    [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [always_export_symbols], [0],
-    [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
-    [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
-    [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
-    [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
-    [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [postlink_cmds], [2],
-    [Commands necessary for finishing linking programs])
-_LT_TAGDECL([], [file_list_spec], [1],
-    [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl    [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC=$CC
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$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);}'
-
-_LT_TAG_COMPILER
-# 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
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_SYS_DYNAMIC_LINKER($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-  LT_SYS_DLOPEN_SELF
-  _LT_CMD_STRIPLIB
-
-  # Report what library types will actually be built
-  AC_MSG_CHECKING([if libtool supports shared libraries])
-  AC_MSG_RESULT([$can_build_shared])
-
-  AC_MSG_CHECKING([whether to build shared libraries])
-  test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[[4-9]]*)
-    if test ia64 != "$host_cpu"; then
-      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-      yes,aix,yes) ;;			# shared object as lib.so file only
-      yes,svr4,*) ;;			# shared object as lib.so archive member only
-      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
-      esac
-    fi
-    ;;
-  esac
-  AC_MSG_RESULT([$enable_shared])
-
-  AC_MSG_CHECKING([whether to build static libraries])
-  # Make sure either enable_shared or enable_static is yes.
-  test yes = "$enable_shared" || enable_static=yes
-  AC_MSG_RESULT([$enable_static])
-
-  _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC=$lt_save_CC
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_PATH_MANIFEST_TOOL])dnl
-if test -n "$CXX" && ( test no != "$CXX" &&
-    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
-    (test g++ != "$CXX"))); then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_caught_CXX_error"; then
-  # 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(int, char *[[]]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_CFLAGS=$CFLAGS
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  CFLAGS=$CXXFLAGS
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test yes = "$GXX"; then
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-    else
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-    fi
-
-    if test yes = "$GXX"; then
-      # Set up default GNU C++ configuration
-
-      LT_PATH_LD
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test yes = "$with_gnu_ld"; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='$wl'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-        else
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-    _LT_TAGVAR(ld_shlibs, $1)=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-      aix[[4-9]]*)
-        if test ia64 = "$host_cpu"; 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
-          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
-          # have runtime linking enabled, and use it for executables.
-          # For shared libraries, we enable/disable runtime linking
-          # depending on the kind of the shared library created -
-          # when "with_aix_soname,aix_use_runtimelinking" is:
-          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "aix,yes"  lib.so          shared, rtl:yes, for executables
-          #            lib.a           static archive
-          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
-          #            lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a(lib.so.V) shared, rtl:no
-          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a           static archive
-          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	    for ld_flag in $LDFLAGS; do
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    done
-	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
-	      # so we don't have lib.a shared libs to link our executables.
-	      # We have to force runtime linking in this case.
-	      aix_use_runtimelinking=yes
-	      LDFLAGS="$LDFLAGS -Wl,-brtl"
-	    fi
-	    ;;
-          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.
-
-        _LT_TAGVAR(archive_cmds, $1)=''
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='$wl-f,'
-        case $with_aix_soname,$aix_use_runtimelinking in
-        aix,*) ;;	# no import file
-        svr4,* | *,yes) # use import file
-          # The Import File defines what to hardcode.
-          _LT_TAGVAR(hardcode_direct, $1)=no
-          _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-          ;;
-        esac
-
-        if test yes = "$GXX"; 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
-	    _LT_TAGVAR(hardcode_direct, $1)=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
-	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-          esac
-          shared_flag='-shared'
-	  if test yes = "$aix_use_runtimelinking"; then
-	    shared_flag=$shared_flag' $wl-G'
-	  fi
-	  # Need to ensure runtime linking is disabled for the traditional
-	  # shared library, or the linker may eventually find shared libraries
-	  # /with/ Import File - we do not want to mix them.
-	  shared_flag_aix='-shared'
-	  shared_flag_svr4='-shared $wl-G'
-        else
-          # not using gcc
-          if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
-	      shared_flag='$wl-G'
-	    else
-	      shared_flag='$wl-bM:SRE'
-	    fi
-	    shared_flag_aix='$wl-bM:SRE'
-	    shared_flag_svr4='$wl-G'
-          fi
-        fi
-
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$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.
-        _LT_TAGVAR(always_export_symbols, $1)=yes
-	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          # The "-G" linker flag allows undefined symbols.
-          _LT_TAGVAR(no_undefined_flag, $1)='-bernotok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          _LT_SYS_MODULE_PATH_AIX([$1])
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath"
-
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-        else
-          if test ia64 = "$host_cpu"; then
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib'
-	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
-	    _LT_SYS_MODULE_PATH_AIX([$1])
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$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.
-	    _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok'
-	    _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok'
-	    if test yes = "$with_gnu_ld"; then
-	      # We only use this code for GNU lds that support --whole-archive.
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
-	    else
-	      # Exported symbols can be pulled into shared objects from archives
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	    fi
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-	    # -brtl affects multiple linker settings, -berok does not and is overridden later
-	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`'
-	    if test svr4 != "$with_aix_soname"; then
-	      # This is similar to how AIX traditionally builds its shared
-	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
-	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-	    fi
-	    if test aix != "$with_aix_soname"; then
-	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# [...]
-	    else
-	      # used by -dlpreopen to get the symbols
-	      _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-	    fi
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d'
-          fi
-        fi
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-	case $GXX,$cc_basename in
-	,cl* | no,cl*)
-	  # Native MSVC
-	  # hardcode_libdir_flag_spec is actually meaningless, as there is
-	  # no search path for DLLs.
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  _LT_TAGVAR(always_export_symbols, $1)=yes
-	  _LT_TAGVAR(file_list_spec, $1)='@'
-	  # 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.
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
-              cp "$export_symbols" "$output_objdir/$soname.def";
-              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-            else
-              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-            fi~
-            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-            linknames='
-	  # The linker will not automatically build a static lib if we build a DLL.
-	  # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-	  # Don't use ranlib
-	  _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib'
-	  _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~
-            lt_tool_outputfile="@TOOL_OUTPUT@"~
-            case $lt_outputfile in
-              *.exe|*.EXE) ;;
-              *)
-                lt_outputfile=$lt_outputfile.exe
-                lt_tool_outputfile=$lt_tool_outputfile.exe
-                ;;
-            esac~
-            func_to_tool_file "$lt_outputfile"~
-            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-              $RM "$lt_outputfile.manifest";
-            fi'
-	  ;;
-	*)
-	  # g++
-	  # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-	  # as there is no search path for DLLs.
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols'
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  _LT_TAGVAR(always_export_symbols, $1)=no
-	  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $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, use it as
-	    # is; otherwise, prepend EXPORTS...
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); 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 -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	  else
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	  ;;
-	esac
-	;;
-      darwin* | rhapsody*)
-        _LT_DARWIN_LINKER_FEATURES($1)
-	;;
-
-      os2*)
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	_LT_TAGVAR(hardcode_minus_L, $1)=yes
-	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	shrext_cmds=.dll
-	_LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	  $ECHO EXPORTS >> $output_objdir/$libname.def~
-	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	  emximp -o $lib $output_objdir/$libname.def'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	  $ECHO EXPORTS >> $output_objdir/$libname.def~
-	  prefix_cmds="$SED"~
-	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	    prefix_cmds="$prefix_cmds -e 1d";
-	  fi~
-	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	  emximp -o $lib $output_objdir/$libname.def'
-	_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-	_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      freebsd2.*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      freebsd-elf*)
-        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-        ;;
-
-      haiku*)
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        ;;
-
-      hpux9*)
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            _LT_TAGVAR(ld_shlibs, $1)=no
-            ;;
-          aCC*)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-            ;;
-          *)
-            if test yes = "$GXX"; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              _LT_TAGVAR(ld_shlibs, $1)=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test no = "$with_gnu_ld"; then
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            _LT_TAGVAR(hardcode_direct, $1)=no
-            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-            ;;
-          *)
-            _LT_TAGVAR(hardcode_direct, $1)=yes
-            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-          *)
-	    if test yes = "$GXX"; then
-	      if test no = "$with_gnu_ld"; then
-	        case $host_cpu in
-	          hppa*64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[[3-9]]*)
-	_LT_TAGVAR(hardcode_direct, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$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.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='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'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test yes = "$GXX"; then
-	      if test no = "$with_gnu_ld"; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-	      else
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
-	      fi
-	    fi
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-	    ;;
-        esac
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(inherit_rpath, $1)=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*)
-	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
-	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-                $RANLIB $oldlib'
-	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 and above use weak symbols
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
-	    ;;
-	  xl* | mpixl* | bgxl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	    if test yes = "$supports_anon_versioning"; then
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-                echo "local: *; };" >> $output_objdir/$libname.ver~
-                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	      _LT_TAGVAR(compiler_needs_object, $1)=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='func_echo_all'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-	;;
-
-      openbsd* | bitrig*)
-	if test -f /usr/libexec/ld.so; then
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=func_echo_all
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-		;;
-	      *)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-                  echo "-hidden">> $lib.exp~
-                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
-                  $RM $lib.exp'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-		;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-	  *)
-	    if test yes,no = "$GXX,$with_gnu_ld"; then
-	      _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*'
-	      case $host in
-	        osf3*)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-		  ;;
-	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-		  ;;
-	      esac
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
-	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
-	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=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'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-
-	    output_verbose_link_cmd='func_echo_all'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test yes,no = "$GXX,$with_gnu_ld"; then
-	      _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
-	        # platform.
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      fi
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
-	      case $host_os in
-		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-		*)
-		  _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-	# Note: We CANNOT 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.
-	_LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text'
-	_LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs'
-	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-	_LT_TAGVAR(link_all_deplibs, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~
-              '"$_LT_TAGVAR(old_archive_cmds, $1)"
-	    _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~
-              '"$_LT_TAGVAR(reload_cmds, $1)"
-	    ;;
-	  *)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-    esac
-
-    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-    test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no
-
-    _LT_TAGVAR(GCC, $1)=$GXX
-    _LT_TAGVAR(LD, $1)=$LD
-
-    ## 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...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test yes != "$_lt_caught_CXX_error"
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_FUNC_STRIPNAME_CNF
-# ----------------------
-# func_stripname_cnf 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).
-#
-# This function is identical to the (non-XSI) version of func_stripname,
-# except this one can be used by m4 code that may be executed by configure,
-# rather than the libtool script.
-m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl
-AC_REQUIRE([_LT_DECL_SED])
-AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])
-func_stripname_cnf ()
-{
-  case @S|@2 in
-  .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;;
-  *)  func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;;
-  esac
-} # func_stripname_cnf
-])# _LT_FUNC_STRIPNAME_CNF
-
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-_LT_EOF
-], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF
-package foo
-func foo() {
-}
-_LT_EOF
-])
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $prev$p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test x-L = "$p" ||
-          test x-R = "$p"; then
-	 prev=$p
-	 continue
-       fi
-
-       # Expand the sysroot to ease extracting the directories later.
-       if test -z "$prev"; then
-         case $p in
-         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
-         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
-         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
-         esac
-       fi
-       case $p in
-       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
-       esac
-       if test no = "$pre_test_object_deps_done"; then
-	 case $prev in
-	 -L | -R)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p
-	   else
-	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-	   _LT_TAGVAR(postdeps, $1)=$prev$p
-	 else
-	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p"
-	 fi
-       fi
-       prev=
-       ;;
-
-    *.lto.$objext) ;; # Ignore GCC LTO objects
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test no = "$pre_test_object_deps_done"; then
-	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-	   _LT_TAGVAR(predep_objects, $1)=$p
-	 else
-	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-	   _LT_TAGVAR(postdep_objects, $1)=$p
-	 else
-	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_TAGVAR(predep_objects,$1)=
-  _LT_TAGVAR(postdep_objects,$1)=
-  _LT_TAGVAR(postdeps,$1)=
-  ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
-    [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
-    [Dependencies to place before and after the objects being linked to
-    create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
-    [The library search path used internally by the compiler when linking
-    a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_LANG_PUSH(Fortran 77)
-if test -z "$F77" || test no = "$F77"; then
-  _lt_disable_F77=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_disable_F77"; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_GCC=$GCC
-  lt_save_CFLAGS=$CFLAGS
-  CC=${F77-"f77"}
-  CFLAGS=$FFLAGS
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-  GCC=$G77
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-	if test ia64 != "$host_cpu"; then
-	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-	  yes,aix,yes) ;;		# shared object as lib.so file only
-	  yes,svr4,*) ;;		# shared object as lib.so archive member only
-	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
-	  esac
-	fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test yes = "$enable_shared" || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)=$G77
-    _LT_TAGVAR(LD, $1)=$LD
-
-    ## 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...
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-fi # test yes != "$_lt_disable_F77"
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_LANG_PUSH(Fortran)
-
-if test -z "$FC" || test no = "$FC"; then
-  _lt_disable_FC=yes
-fi
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_disable_FC"; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_GCC=$GCC
-  lt_save_CFLAGS=$CFLAGS
-  CC=${FC-"f95"}
-  CFLAGS=$FCFLAGS
-  compiler=$CC
-  GCC=$ac_cv_fc_compiler_gnu
-
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-	if test ia64 != "$host_cpu"; then
-	  case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-	  yes,aix,yes) ;;		# shared object as lib.so file only
-	  yes,svr4,*) ;;		# shared object as lib.so archive member only
-	  yes,*) enable_static=no ;;	# shared object in lib.a archive as well
-	  esac
-	fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test yes = "$enable_shared" || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu
-    _LT_TAGVAR(LD, $1)=$LD
-
-    ## 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...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-fi # test yes != "$_lt_disable_FC"
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-CFLAGS=$GCJFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)=$LD
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_GO_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Go compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_GO_CONFIG],
-[AC_REQUIRE([LT_PROG_GO])dnl
-AC_LANG_SAVE
-
-# Source file extension for Go test sources.
-ac_ext=go
-
-# Object file extension for compiled Go test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="package main; func main() { }"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='package main; func main() { }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GOC-"gccgo"}
-CFLAGS=$GOFLAGS
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)=$LD
-_LT_CC_BASENAME([$compiler])
-
-# Go did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(reload_flag, $1)=$reload_flag
-_LT_TAGVAR(reload_cmds, $1)=$reload_cmds
-
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_GO_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to 'libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$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.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_CFLAGS=$CFLAGS
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-CFLAGS=
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
-  :
-  _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC=$lt_save_CC
-CFLAGS=$lt_save_CFLAGS
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-    [AC_CHECK_TOOL(GCJ, gcj,)
-      test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2"
-      AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_GO
-# ----------
-AC_DEFUN([LT_PROG_GO],
-[AC_CHECK_TOOL(GOC, gccgo,)
-])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-# _LT_DECL_DLLTOOL
-# ----------------
-# Ensure DLLTOOL variable is set.
-m4_defun([_LT_DECL_DLLTOOL],
-[AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])
-AC_SUBST([DLLTOOL])
-])
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f "$lt_ac_sed" && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test 10 -lt "$lt_ac_count" && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test "$lt_ac_count" -gt "$lt_ac_max"; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# 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
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PATH_CONVERSION_FUNCTIONS
-# -----------------------------
-# Determine what file name conversion functions should be used by
-# func_to_host_file (and, implicitly, by func_to_host_path).  These are needed
-# for certain cross-compile configurations and native mingw.
-m4_defun([_LT_PATH_CONVERSION_FUNCTIONS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_MSG_CHECKING([how to convert $build file names to $host format])
-AC_CACHE_VAL(lt_cv_to_host_file_cmd,
-[case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-])
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-AC_MSG_RESULT([$lt_cv_to_host_file_cmd])
-_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd],
-         [0], [convert $build file names to $host format])dnl
-
-AC_MSG_CHECKING([how to convert $build file names to toolchain format])
-AC_CACHE_VAL(lt_cv_to_tool_file_cmd,
-[#assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-])
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-AC_MSG_RESULT([$lt_cv_to_tool_file_cmd])
-_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd],
-         [0], [convert $build files to toolchain format])dnl
-])# _LT_PATH_CONVERSION_FUNCTIONS
-
-# Helper functions for option handling.                    -*- Autoconf -*-
-#
-#   Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
-#   Foundation, Inc.
-#   Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 8 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
-        _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option '$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
-		      [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME.  If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-    [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
-  dnl
-  dnl Simply set some default values (i.e off) if boolean options were not
-  dnl specified:
-  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
-  ])
-  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
-  ])
-  dnl
-  dnl If no reference was made to various pairs of opposing options, then
-  dnl we run the default mode handler for the pair.  For example, if neither
-  dnl 'shared' nor 'disable-shared' was passed, we enable building of shared
-  dnl archives by default:
-  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
-  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-		   [_LT_ENABLE_FAST_INSTALL])
-  _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4],
-		   [_LT_WITH_AIX_SONAME([aix])])
-  ])
-])# _LT_SET_OPTIONS
-
-
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [1], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the 'shared' and
-# 'disable-shared' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
-    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
-    [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],
-    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
-    _LT_DECL([build_libtool_libs], [enable_shared], [0],
-	[Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the 'static' and
-# 'disable-static' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
-    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
-    [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],
-    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
-    _LT_DECL([build_old_libs], [enable_static], [0],
-	[Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the 'fast-install'
-# and 'disable-fast-install' LT_INIT options.
-# DEFAULT is either 'yes' or 'no'.  If omitted, it defaults to 'yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
-    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [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],
-    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
-	 [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the 'fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the 'disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_AIX_SONAME([DEFAULT])
-# ----------------------------------
-# implement the --with-aix-soname flag, and support the `aix-soname=aix'
-# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
-# is either `aix', `both' or `svr4'.  If omitted, it defaults to `aix'.
-m4_define([_LT_WITH_AIX_SONAME],
-[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
-shared_archive_member_spec=
-case $host,$enable_shared in
-power*-*-aix[[5-9]]*,yes)
-  AC_MSG_CHECKING([which variant of shared library versioning to provide])
-  AC_ARG_WITH([aix-soname],
-    [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
-      [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
-    [case $withval in
-    aix|svr4|both)
-      ;;
-    *)
-      AC_MSG_ERROR([Unknown argument to --with-aix-soname])
-      ;;
-    esac
-    lt_cv_with_aix_soname=$with_aix_soname],
-    [AC_CACHE_VAL([lt_cv_with_aix_soname],
-      [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
-    with_aix_soname=$lt_cv_with_aix_soname])
-  AC_MSG_RESULT([$with_aix_soname])
-  if test aix != "$with_aix_soname"; then
-    # For the AIX way of multilib, we name the shared archive member
-    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
-    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
-    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
-    # the AIX toolchain works better with OBJECT_MODE set (default 32).
-    if test 64 = "${OBJECT_MODE-32}"; then
-      shared_archive_member_spec=shr_64
-    else
-      shared_archive_member_spec=shr
-    fi
-  fi
-  ;;
-*)
-  with_aix_soname=aix
-  ;;
-esac
-
-_LT_DECL([], [shared_archive_member_spec], [0],
-    [Shared archive member basename, for filename based shared library versioning on AIX])dnl
-])# _LT_WITH_AIX_SONAME
-
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])])
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])])
-LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
-# LT_INIT options.
-# MODE is either 'yes' or 'no'.  If omitted, it defaults to 'both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for lt_pkg in $withval; do
-	IFS=$lt_save_ifs
-	if test "X$lt_pkg" = "X$lt_p"; then
-	  pic_mode=yes
-	fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac],
-    [pic_mode=m4_default([$1], [default])])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the 'pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
-		 [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
-		 [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
-		 [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
-		 [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
-		 [m4_define([_LTDL_TYPE], [convenience])])
-
-# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-#
-# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
-# Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
-       [$#], [2], [[$2]],
-       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
-       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59, which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
-       [$#], 1, [],
-       [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
-	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
-       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
-	     [m4_foreach([_Lt_suffix],
-		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
-	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
-	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
-		 [lt_append([$1], [$2], [$3])$4],
-		 [$5])],
-	  [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
-	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
-    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
-	[$5],
-    [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
-  [lt_join(m4_quote(m4_default([$4], [[, ]])),
-           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
-		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
-
-# ltversion.m4 -- version numbers			-*- Autoconf -*-
-#
-#   Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# @configure_input@
-
-# serial 4179 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.4.6])
-m4_define([LT_PACKAGE_REVISION], [2.4.6])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.6'
-macro_revision='2.4.6'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-#
-#   Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
-#   Foundation, Inc.
-#   Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 5 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN),
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else.  This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
-m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS],	[AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])])
-m4_ifndef([_LT_AC_PROG_CXXCPP],		[AC_DEFUN([_LT_AC_PROG_CXXCPP])])
-m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS],	[AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])])
-m4_ifndef([_LT_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_PROG_F77],		[AC_DEFUN([_LT_PROG_F77])])
-m4_ifndef([_LT_PROG_FC],		[AC_DEFUN([_LT_PROG_FC])])
-m4_ifndef([_LT_PROG_CXX],		[AC_DEFUN([_LT_PROG_CXX])])
-
-# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
-# serial 1 (pkg-config-0.24)
-# 
-# Copyright © 2004 Scott James Remnant <scott at netsplit.com>.
-#
-# 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 2 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# PKG_PROG_PKG_CONFIG([MIN-VERSION])
-# ----------------------------------
-AC_DEFUN([PKG_PROG_PKG_CONFIG],
-[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
-m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
-m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
-AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
-AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
-AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=m4_default([$1], [0.9.0])
-	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		AC_MSG_RESULT([yes])
-	else
-		AC_MSG_RESULT([no])
-		PKG_CONFIG=""
-	fi
-fi[]dnl
-])# PKG_PROG_PKG_CONFIG
-
-# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-#
-# Check to see whether a particular set of modules exists.  Similar
-# to PKG_CHECK_MODULES(), but does not set variables or print errors.
-#
-# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-# only at the first occurence in configure.ac, so if the first place
-# it's called might be skipped (such as if it is within an "if", you
-# have to call PKG_CHECK_EXISTS manually
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_EXISTS],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-if test -n "$PKG_CONFIG" && \
-    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
-  m4_default([$2], [:])
-m4_ifvaln([$3], [else
-  $3])dnl
-fi])
-
-# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
-# ---------------------------------------------
-m4_define([_PKG_CONFIG],
-[if test -n "$$1"; then
-    pkg_cv_[]$1="$$1"
- elif test -n "$PKG_CONFIG"; then
-    PKG_CHECK_EXISTS([$3],
-                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes ],
-		     [pkg_failed=yes])
- else
-    pkg_failed=untried
-fi[]dnl
-])# _PKG_CONFIG
-
-# _PKG_SHORT_ERRORS_SUPPORTED
-# -----------------------------
-AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi[]dnl
-])# _PKG_SHORT_ERRORS_SUPPORTED
-
-
-# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
-# [ACTION-IF-NOT-FOUND])
-#
-#
-# Note that if there is a possibility the first call to
-# PKG_CHECK_MODULES might not happen, you should be sure to include an
-# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
-#
-#
-# --------------------------------------------------------------
-AC_DEFUN([PKG_CHECK_MODULES],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
-AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
-
-pkg_failed=no
-AC_MSG_CHECKING([for $1])
-
-_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
-_PKG_CONFIG([$1][_LIBS], [libs], [$2])
-
-m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
-and $1[]_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.])
-
-if test $pkg_failed = yes; then
-   	AC_MSG_RESULT([no])
-        _PKG_SHORT_ERRORS_SUPPORTED
-        if test $_pkg_short_errors_supported = yes; then
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
-        else 
-	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
-
-	m4_default([$4], [AC_MSG_ERROR(
-[Package requirements ($2) were not met:
-
-$$1_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-_PKG_TEXT])[]dnl
-        ])
-elif test $pkg_failed = untried; then
-     	AC_MSG_RESULT([no])
-	m4_default([$4], [AC_MSG_FAILURE(
-[The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-_PKG_TEXT
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
-        ])
-else
-	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
-	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
-        AC_MSG_RESULT([yes])
-	$3
-fi[]dnl
-])# PKG_CHECK_MODULES
-
-
-# PKG_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable pkgconfigdir as the location where a module
-# should install pkg-config .pc files. By default the directory is
-# $libdir/pkgconfig, but the default can be changed by passing
-# DIRECTORY. The user can override through the --with-pkgconfigdir
-# parameter.
-AC_DEFUN([PKG_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([pkgconfigdir],
-    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
-    [with_pkgconfigdir=]pkg_default)
-AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_INSTALLDIR
-
-
-# PKG_NOARCH_INSTALLDIR(DIRECTORY)
-# -------------------------
-# Substitutes the variable noarch_pkgconfigdir as the location where a
-# module should install arch-independent pkg-config .pc files. By
-# default the directory is $datadir/pkgconfig, but the default can be
-# changed by passing DIRECTORY. The user can override through the
-# --with-noarch-pkgconfigdir parameter.
-AC_DEFUN([PKG_NOARCH_INSTALLDIR],
-[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
-m4_pushdef([pkg_description],
-    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
-AC_ARG_WITH([noarch-pkgconfigdir],
-    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
-    [with_noarch_pkgconfigdir=]pkg_default)
-AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
-m4_popdef([pkg_default])
-m4_popdef([pkg_description])
-]) dnl PKG_NOARCH_INSTALLDIR
-
-
-# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
-# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
-# -------------------------------------------
-# Retrieves the value of the pkg-config variable for the given module.
-AC_DEFUN([PKG_CHECK_VAR],
-[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
-AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
-
-_PKG_CONFIG([$1], [variable="][$3]["], [$2])
-AS_VAR_COPY([$1], [pkg_cv_][$1])
-
-AS_VAR_IF([$1], [""], [$5], [$4])dnl
-])# PKG_CHECK_VAR
-
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.15'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.15], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to '$srcdir/foo'.  In other projects, it is set to
-# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is '.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
-# Expand $ac_aux_dir to an absolute path.
-am_aux_dir=`cd "$ac_aux_dir" && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-m4_if([$1], [CC],   [depcc="$CC"   am_compiler_list=],
-      [$1], [CXX],  [depcc="$CXX"  am_compiler_list=],
-      [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-      [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
-      [$1], [UPC],  [depcc="$UPC"  am_compiler_list=],
-      [$1], [GCJ],  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                    [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[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".
-  rm -rf conftest.dir
-  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_$1_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
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [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 10 /bin/sh.
-      echo '/* dummy */' > 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
-      ;;
-    msvc7 | msvc7msys | 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_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE([dependency-tracking], [dnl
-AS_HELP_STRING(
-  [--enable-dependency-tracking],
-  [do not reject slow dependency extractors])
-AS_HELP_STRING(
-  [--disable-dependency-tracking],
-  [speeds up one-time build])])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-  am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Older Autoconf 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")`
-    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"`
-    # 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'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each '.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
-m4_define([AC_PROG_CC],
-m4_defn([AC_PROG_CC])
-[_AM_PROG_CC_C_O
-])
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.65])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  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
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[AC_DIAGNOSE([obsolete],
-             [$0: two- and three-arguments forms are deprecated.])
-m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(
-  m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
-  [ok:ok],,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
- AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
-AM_MISSING_PROG([AUTOCONF], [autoconf])
-AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
-AM_MISSING_PROG([AUTOHEADER], [autoheader])
-AM_MISSING_PROG([MAKEINFO], [makeinfo])
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
-# We need awk for the "check" target (and possibly the TAP driver).  The
-# system "awk" is bad on some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-			     [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES([CC])],
-		  [m4_define([AC_PROG_CC],
-			     m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES([CXX])],
-		  [m4_define([AC_PROG_CXX],
-			     m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES([OBJC])],
-		  [m4_define([AC_PROG_OBJC],
-			     m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
-		  [_AM_DEPENDENCIES([OBJCXX])],
-		  [m4_define([AC_PROG_OBJCXX],
-			     m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
-])
-AC_REQUIRE([AM_SILENT_RULES])dnl
-dnl The testsuite driver may need to know about EXEEXT, so add the
-dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This
-dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake at gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
-  fi
-fi
-dnl The trailing newline in this macro's definition is deliberate, for
-dnl backward compatibility and to allow trailing 'dnl'-style comments
-dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
-])
-
-dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_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"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh+set}" != 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
-AC_SUBST([install_sh])])
-
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[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
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.	            -*- Autoconf -*-
-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[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.
-AC_MSG_CHECKING([for style of include used by $am_make])
-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
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it is modern enough.
-# If it is, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-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 --is-lightweight"; then
-  am_missing_run="$MISSING "
-else
-  am_missing_run=
-  AC_MSG_WARN(['missing' script is too old or missing])
-fi
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# --------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_CC_C_O
-# ---------------
-# Like AC_PROG_CC_C_O, but changed for automake.  We rewrite AC_PROG_CC
-# to automatically call this.
-AC_DEFUN([_AM_PROG_CC_C_O],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([compile])dnl
-AC_LANG_PUSH([C])dnl
-AC_CACHE_CHECK(
-  [whether $CC understands -c and -o together],
-  [am_cv_prog_cc_c_o],
-  [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i])
-if test "$am_cv_prog_cc_c_o" != 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
-AC_LANG_POP([C])])
-
-# For backward compatibility.
-AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_RUN_LOG(COMMAND)
-# -------------------
-# Run COMMAND, save the exit status in ac_status, and log it.
-# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
-AC_DEFUN([AM_RUN_LOG],
-[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
-   ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   (exit $ac_status); }])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# 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]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
-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 (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     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
-     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".
-	AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment])
-     fi
-     if test "$[2]" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT([yes])
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-AC_CONFIG_COMMANDS_PRE(
-  [AC_MSG_CHECKING([that generated files are newer than configure])
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   AC_MSG_RESULT([done])])
-rm -f conftest.file
-])
-
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_SILENT_RULES([DEFAULT])
-# --------------------------
-# Enable less verbose build rules; with the default set to DEFAULT
-# ("yes" being less verbose, "no" or empty being verbose).
-AC_DEFUN([AM_SILENT_RULES],
-[AC_ARG_ENABLE([silent-rules], [dnl
-AS_HELP_STRING(
-  [--enable-silent-rules],
-  [less verbose build output (undo: "make V=1")])
-AS_HELP_STRING(
-  [--disable-silent-rules],
-  [verbose build output (undo: "make V=0")])dnl
-])
-case $enable_silent_rules in @%:@ (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
-esac
-dnl
-dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
-dnl do not support nested variable expansions.
-dnl See automake bug#9928 and bug#10237.
-am_make=${MAKE-make}
-AC_CACHE_CHECK([whether $am_make supports nested variables],
-   [am_cv_make_support_nested_variables],
-   [if AS_ECHO([['TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-	@$(TRUE)
-.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi])
-if test $am_cv_make_support_nested_variables = yes; then
-  dnl Using '$V' instead of '$(V)' breaks IRIX make.
-  AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AC_SUBST([AM_V])dnl
-AM_SUBST_NOTMAKE([AM_V])dnl
-AC_SUBST([AM_DEFAULT_V])dnl
-AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
-AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
-AM_BACKSLASH='\'
-AC_SUBST([AM_BACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
-])
-
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor 'install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in "make install-strip", and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# 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.
-dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of 'v7', 'ustar', or 'pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-#
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AC_SUBST([AMTAR], ['$${TAR-tar}'])
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-
-m4_if([$1], [v7],
-  [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
-
-  [m4_case([$1],
-    [ustar],
-     [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
-      # There is notably a 21 bits limit for the UID and the GID.  In fact,
-      # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
-      # and bug#13588).
-      am_max_uid=2097151 # 2^21 - 1
-      am_max_gid=$am_max_uid
-      # The $UID and $GID variables are not portable, so we need to resort
-      # to the POSIX-mandated id(1) utility.  Errors in the 'id' calls
-      # below are definitely unexpected, so allow the users to see them
-      # (that is, avoid stderr redirection).
-      am_uid=`id -u || echo unknown`
-      am_gid=`id -g || echo unknown`
-      AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
-      if test $am_uid -le $am_max_uid; then
-         AC_MSG_RESULT([yes])
-      else
-         AC_MSG_RESULT([no])
-         _am_tools=none
-      fi
-      AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
-      if test $am_gid -le $am_max_gid; then
-         AC_MSG_RESULT([yes])
-      else
-        AC_MSG_RESULT([no])
-        _am_tools=none
-      fi],
-
-  [pax],
-    [],
-
-  [m4_fatal([Unknown tar format])])
-
-  AC_MSG_CHECKING([how to create a $1 tar archive])
-
-  # Go ahead even if we have the value already cached.  We do so because we
-  # need to set the values for the 'am__tar' and 'am__untar' variables.
-  _am_tools=${am_cv_prog_tar_$1-$_am_tools}
-
-  for _am_tool in $_am_tools; do
-    case $_am_tool in
-    gnutar)
-      for _am_tar in tar gnutar gtar; do
-        AM_RUN_LOG([$_am_tar --version]) && break
-      done
-      am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-      am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-      am__untar="$_am_tar -xf -"
-      ;;
-    plaintar)
-      # Must skip GNU tar: if it does not support --format= it doesn't create
-      # ustar tarball either.
-      (tar --version) >/dev/null 2>&1 && continue
-      am__tar='tar chf - "$$tardir"'
-      am__tar_='tar chf - "$tardir"'
-      am__untar='tar xf -'
-      ;;
-    pax)
-      am__tar='pax -L -x $1 -w "$$tardir"'
-      am__tar_='pax -L -x $1 -w "$tardir"'
-      am__untar='pax -r'
-      ;;
-    cpio)
-      am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-      am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-      am__untar='cpio -i -H $1 -d'
-      ;;
-    none)
-      am__tar=false
-      am__tar_=false
-      am__untar=false
-      ;;
-    esac
-
-    # If the value was cached, stop now.  We just wanted to have am__tar
-    # and am__untar set.
-    test -n "${am_cv_prog_tar_$1}" && break
-
-    # tar/untar a dummy directory, and stop if the command works.
-    rm -rf conftest.dir
-    mkdir conftest.dir
-    echo GrepMe > conftest.dir/file
-    AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-    rm -rf conftest.dir
-    if test -s conftest.tar; then
-      AM_RUN_LOG([$am__untar <conftest.tar])
-      AM_RUN_LOG([cat conftest.dir/file])
-      grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-    fi
-  done
-  rm -rf conftest.dir
-
-  AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-  AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
diff --git a/apertium/CMakeLists.txt b/apertium/CMakeLists.txt
new file mode 100644
index 0000000..c2bfa7c
--- /dev/null
+++ b/apertium/CMakeLists.txt
@@ -0,0 +1,107 @@
+INCLUDE_DIRECTORIES (${ICONV_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR} ${LTTOOLBOX3_INCLUDE_DIR} ${LIBPCRE_INCLUDE_DIR})
+ADD_DEFINITIONS (${LIBXML2_DEFINITIONS} ${LTTOOLBOX3_DEFINITIONS})
+
+SET(APERTIUM_LIBS ${LIBXML2_LIBRARIES} ${LTTOOLBOX3_LIBRARIES} ${LIBPCRE_LIBRARIES} ${ICONV_LIBRARIES})
+
+MACRO (FROM_XML OUTPUT XSL XML)
+        XSLTPROC (${OUTPUT}.yy ${XSL} ${XML})
+        FLEX (${OUTPUT} "-Cfer" ${OUTPUT}.yy)
+ENDMACRO (FROM_XML)
+
+#IF (WIN32)
+#        SET (FLEX_LIB flex_support)
+#
+#        ADD_EXECUTABLE (runner_skeleton ${WIN32_DIR}/runner_skeleton.c)
+#ENDIF (WIN32)
+
+MACRO (ADD_FORMATTER SRC_NAME XSL XML)
+        FROM_XML (${SRC_NAME}.cc ${XSL} ${XML})        # Create SRC_NAME using the stylesheet XSL and the xml file XML
+        STRING (REPLACE "_" "-" EXE_NAME ${SRC_NAME})  # Convert underscores to dashes for the executable names
+
+        ADD_EXECUTABLE (${EXE_NAME} ${SRC_NAME}.cc "${WIN32_DIR}/regex.c")    # Compile EXE_NAME using the source file ${SRC_NAME}.cc
+        TARGET_LINK_LIBRARIES (${EXE_NAME} ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES} ${LTTOOLBOX3_LIBRARIES} ) # Link the lttoolbox library to EXE_NAME
+
+        LIST (APPEND INSTALLABLES ${EXE_NAME})
+ENDMACRO (ADD_FORMATTER)
+
+ADD_FORMATTER (apertium_destxt        deformat.xsl txt-format.xml)
+ADD_FORMATTER (apertium_retxt         reformat.xsl txt-format.xml)
+ADD_FORMATTER (apertium_deshtml       deformat.xsl html-format.xml)
+ADD_FORMATTER (apertium_rehtml        reformat.xsl html-format.xml)
+ADD_FORMATTER (apertium_desodt        deformat.xsl odt-format.xml)
+ADD_FORMATTER (apertium_reodt         reformat.xsl odt-format.xml)
+ADD_FORMATTER (apertium_desrtf        deformat.xsl rtf-format.xml)
+ADD_FORMATTER (apertium_rertf         reformat.xsl rtf-format.xml)
+ADD_FORMATTER (apertium_desrtf_cp1250 deformat.xsl rtf-format-cp1250.xml)
+ADD_FORMATTER (apertium_rertf_cp1250  reformat.xsl rtf-format-cp1250.xml)
+ADD_FORMATTER (apertium_desrtf_cp1251 deformat.xsl rtf-format-cp1251.xml)
+ADD_FORMATTER (apertium_rertf_cp1251  reformat.xsl rtf-format-cp1251.xml)
+
+ADD_LIBRARY (apertium3 SHARED collection.cc constant_manager.cc hmm.cc lswpost.cc interchunk.cc
+             interchunk_word.cc lextor.cc lextor_data.cc lextor_eval.cc
+             lextor_word.cc morpho_stream.cc postchunk.cc string_utils.cc
+             tagger.cc tagger_data.cc tagger_data_hmm.cc tagger_data_lsw.cc tagger_utils.cc tagger_word.cc
+             transfer.cc transfer_data.cc transfer_instr.cc endian_double_util.cc
+             transfer_token.cc transfer_word.cc transfer_word_list.cc
+             trx_reader.cc tsx_reader.cc utf_converter.cc apertium_re.cc)
+
+LIST (APPEND INSTALLABLES apertium3)
+
+SET(EXECUTABLE_LIBS ${APERTIUM_LIBS} apertium3)
+
+MACRO (ADD_APERTIUM_EXE EXE_NAME SOURCE_NAME)
+        ADD_EXECUTABLE (${EXE_NAME} ${SOURCE_NAME})
+        TARGET_LINK_LIBRARIES (${EXE_NAME} ${EXECUTABLE_LIBS})
+        LIST (APPEND INSTALLABLES ${EXE_NAME})
+ENDMACRO (ADD_APERTIUM_EXE)
+
+ADD_APERTIUM_EXE (apertium-pretransfer                  apertium_pretransfer.cc)
+ADD_APERTIUM_EXE (apertium-tagger                       apertium_tagger.cc)
+ADD_APERTIUM_EXE (apertium-preprocess-transfer          transferpp.cc)
+ADD_APERTIUM_EXE (apertium-filter-ambiguity             apertium_filter_ambiguity.cc)
+ADD_APERTIUM_EXE (apertium-transfer                     apertium_transfer.cc)
+ADD_APERTIUM_EXE (apertium-interchunk                   apertium_interchunk.cc)
+ADD_APERTIUM_EXE (apertium-postchunk                    apertium_postchunk.cc)
+#ADD_APERTIUM_EXE (apertium-lextor                       apertium_lextor.cc)
+ADD_APERTIUM_EXE (apertium-tagger-apply-new-rules       apertium_tagger_apply_new_rules.cc)
+ADD_APERTIUM_EXE (apertium-gen-wlist-lextor-translation apertium_gen_wlist_lextor_translation.cc)
+
+MACRO (ADD_SCRIPT SCRIPT_NAME SOURCE)
+	SET (OUTPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${SCRIPT_NAME}")
+	SET (SOURCE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE}")
+
+	FILE (READ ${SOURCE_FILE} SCRIPT)
+	CONFIGURE_FILE (${SCRIPT_HEADER_FILE} ${OUTPUT_FILE})
+
+	INSTALL (PROGRAMS    ${SCRIPT_NAME}
+		 DESTINATION bin)
+
+#	IF (WIN32)
+#		INSTALL (PROGRAMS    "${CMAKE_CURRENT_SOURCE_DIR}/runner_skeleton.exe"
+#		         DESTINATION bin
+#			 RENAME      ${SCRIPT_NAME}.exe)
+#       ENDIF (WIN32)
+ENDMACRO (ADD_SCRIPT)
+
+ADD_SCRIPT (apertium apertium-header.sh)
+
+INSTALL (TARGETS ${INSTALLABLES}
+         RUNTIME DESTINATION bin
+         LIBRARY DESTINATION lib
+         ARCHIVE DESTINATION lib)
+
+FILE(GLOB HEADERS *.h)
+
+INSTALL (FILES ${HEADERS}
+         DESTINATION include/apertium-3.4/apertium)
+
+IF (WIN32)
+	INSTALL (FILES ${PROJECT_SOURCE_DIR}/etc/LEAVE_THIS_DIRECTORY_HERE.txt
+		 DESTINATION etc)
+
+	INSTALL (PROGRAMS "${CMAKE_CURRENT_SOURCE_DIR}/sh.exe"
+	                  "${CMAKE_CURRENT_SOURCE_DIR}/dirname.exe"
+			  "${CMAKE_CURRENT_SOURCE_DIR}/basename.exe"
+			  "${CMAKE_CURRENT_SOURCE_DIR}/msys-1.0.dll"
+		 DESTINATION bin)
+ENDIF (WIN32)
diff --git a/apertium/Makefile.in b/apertium/Makefile.in
deleted file mode 100644
index 0972aaa..0000000
--- a/apertium/Makefile.in
+++ /dev/null
@@ -1,1767 +0,0 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
-
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
- at SET_MAKE@
-
-
-
-
-
-VPATH = @srcdir@
-am__is_gnu_make = { \
-  if test -z '$(MAKELEVEL)'; then \
-    false; \
-  elif test -n '$(MAKE_HOST)'; then \
-    true; \
-  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
-    true; \
-  else \
-    false; \
-  fi; \
-}
-am__make_running_with_option = \
-  case $${target_option-} in \
-      ?) ;; \
-      *) echo "am__make_running_with_option: internal error: invalid" \
-              "target option '$${target_option-}' specified" >&2; \
-         exit 1;; \
-  esac; \
-  has_opt=no; \
-  sane_makeflags=$$MAKEFLAGS; \
-  if $(am__is_gnu_make); then \
-    sane_makeflags=$$MFLAGS; \
-  else \
-    case $$MAKEFLAGS in \
-      *\\[\ \	]*) \
-        bs=\\; \
-        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
-          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
-    esac; \
-  fi; \
-  skip_next=no; \
-  strip_trailopt () \
-  { \
-    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
-  }; \
-  for flg in $$sane_makeflags; do \
-    test $$skip_next = yes && { skip_next=no; continue; }; \
-    case $$flg in \
-      *=*|--*) continue;; \
-        -*I) strip_trailopt 'I'; skip_next=yes;; \
-      -*I?*) strip_trailopt 'I';; \
-        -*O) strip_trailopt 'O'; skip_next=yes;; \
-      -*O?*) strip_trailopt 'O';; \
-        -*l) strip_trailopt 'l'; skip_next=yes;; \
-      -*l?*) strip_trailopt 'l';; \
-      -[dEDm]) skip_next=yes;; \
-      -[JT]) skip_next=yes;; \
-    esac; \
-    case $$flg in \
-      *$$target_option*) has_opt=yes; break;; \
-    esac; \
-  done; \
-  test $$has_opt = yes
-am__make_dryrun = (target_option=n; $(am__make_running_with_option))
-am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-bin_PROGRAMS = apertium-pretransfer$(EXEEXT) apertium-destxt$(EXEEXT) \
-	apertium-retxt$(EXEEXT) apertium-deshtml$(EXEEXT) \
-	apertium-rehtml$(EXEEXT) apertium-rehtml-noent$(EXEEXT) \
-	apertium-desxpresstag$(EXEEXT) apertium-rexpresstag$(EXEEXT) \
-	apertium-desodt$(EXEEXT) apertium-reodt$(EXEEXT) \
-	apertium-desrtf$(EXEEXT) apertium-rertf$(EXEEXT) \
-	apertium-deswxml$(EXEEXT) apertium-rewxml$(EXEEXT) \
-	apertium-deslatex$(EXEEXT) apertium-relatex$(EXEEXT) \
-	apertium-desxlsx$(EXEEXT) apertium-rexlsx$(EXEEXT) \
-	apertium-despptx$(EXEEXT) apertium-repptx$(EXEEXT) \
-	apertium-desmediawiki$(EXEEXT) apertium-remediawiki$(EXEEXT) \
-	apertium-prelatex$(EXEEXT) apertium-postlatex$(EXEEXT) \
-	apertium-postlatex-raw$(EXEEXT) apertium-tagger$(EXEEXT) \
-	apertium-preprocess-transfer$(EXEEXT) \
-	apertium-transfer$(EXEEXT) apertium-filter-ambiguity$(EXEEXT) \
-	apertium-interchunk$(EXEEXT) apertium-postchunk$(EXEEXT) \
-	apertium-multiple-translations$(EXEEXT) \
-	apertium-tagger-apply-new-rules$(EXEEXT) \
-	apertium-tagger-readwords$(EXEEXT) apertium-tmxbuild$(EXEEXT)
-subdir = apertium
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-DIST_COMMON = $(srcdir)/Makefile.am $(library_include_HEADERS) \
-	$(am__DIST_COMMON)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = apertium_config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
-	"$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
-	"$(DESTDIR)$(apertiumdir)" "$(DESTDIR)$(library_includedir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libapertium3_la_LIBADD =
-am__objects_1 =
-am__objects_2 = collection.lo constant_manager.lo hmm.lo lswpost.lo \
-	interchunk.lo interchunk_word.lo lextor.lo lextor_data.lo \
-	lextor_eval.lo lextor_word.lo morpho_stream.lo postchunk.lo \
-	string_utils.lo tagger.lo tagger_data.lo tagger_data_hmm.lo \
-	tagger_data_lsw.lo tagger_utils.lo tagger_word.lo transfer.lo \
-	transfer_data.lo transfer_instr.lo transfer_token.lo \
-	transfer_word.lo transfer_word_list.lo trx_reader.lo \
-	tsx_reader.lo utf_converter.lo apertium_re.lo \
-	endian_double_util.lo transfer_mult.lo tmx_builder.lo \
-	tmx_aligner_tool.lo tmx_alignment.lo tmx_arguments_parser.lo \
-	tmx_book_to_matrix.lo tmx_dictionary.lo \
-	tmx_strings_and_streams.lo tmx_trail_postprocessors.lo \
-	tmx_translate.lo latex_accentsmap.lo
-am_libapertium3_la_OBJECTS = $(am__objects_1) $(am__objects_2)
-libapertium3_la_OBJECTS = $(am_libapertium3_la_OBJECTS)
-AM_V_lt = $(am__v_lt_ at AM_V@)
-am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
-am__v_lt_0 = --silent
-am__v_lt_1 = 
-libapertium3_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \
-	$(AM_CXXFLAGS) $(CXXFLAGS) $(libapertium3_la_LDFLAGS) \
-	$(LDFLAGS) -o $@
-PROGRAMS = $(bin_PROGRAMS)
-am_apertium_deshtml_OBJECTS = apertium_deshtml.$(OBJEXT)
-apertium_deshtml_OBJECTS = $(am_apertium_deshtml_OBJECTS)
-apertium_deshtml_LDADD = $(LDADD)
-am_apertium_deslatex_OBJECTS = apertium_deslatex.$(OBJEXT)
-apertium_deslatex_OBJECTS = $(am_apertium_deslatex_OBJECTS)
-apertium_deslatex_LDADD = $(LDADD)
-am_apertium_desmediawiki_OBJECTS = apertium_desmediawiki.$(OBJEXT)
-apertium_desmediawiki_OBJECTS = $(am_apertium_desmediawiki_OBJECTS)
-apertium_desmediawiki_LDADD = $(LDADD)
-am_apertium_desodt_OBJECTS = apertium_desodt.$(OBJEXT)
-apertium_desodt_OBJECTS = $(am_apertium_desodt_OBJECTS)
-apertium_desodt_LDADD = $(LDADD)
-am_apertium_despptx_OBJECTS = apertium_despptx.$(OBJEXT)
-apertium_despptx_OBJECTS = $(am_apertium_despptx_OBJECTS)
-apertium_despptx_LDADD = $(LDADD)
-am_apertium_desrtf_OBJECTS = apertium_desrtf.$(OBJEXT)
-apertium_desrtf_OBJECTS = $(am_apertium_desrtf_OBJECTS)
-apertium_desrtf_LDADD = $(LDADD)
-am_apertium_destxt_OBJECTS = apertium_destxt.$(OBJEXT)
-apertium_destxt_OBJECTS = $(am_apertium_destxt_OBJECTS)
-apertium_destxt_LDADD = $(LDADD)
-am_apertium_deswxml_OBJECTS = apertium_deswxml.$(OBJEXT)
-apertium_deswxml_OBJECTS = $(am_apertium_deswxml_OBJECTS)
-apertium_deswxml_LDADD = $(LDADD)
-am_apertium_desxlsx_OBJECTS = apertium_desxlsx.$(OBJEXT)
-apertium_desxlsx_OBJECTS = $(am_apertium_desxlsx_OBJECTS)
-apertium_desxlsx_LDADD = $(LDADD)
-am_apertium_desxpresstag_OBJECTS = apertium_desxpresstag.$(OBJEXT)
-apertium_desxpresstag_OBJECTS = $(am_apertium_desxpresstag_OBJECTS)
-apertium_desxpresstag_LDADD = $(LDADD)
-am_apertium_filter_ambiguity_OBJECTS =  \
-	apertium_filter_ambiguity.$(OBJEXT)
-apertium_filter_ambiguity_OBJECTS =  \
-	$(am_apertium_filter_ambiguity_OBJECTS)
-am__DEPENDENCIES_1 =
-apertium_filter_ambiguity_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_interchunk_OBJECTS = apertium_interchunk.$(OBJEXT)
-apertium_interchunk_OBJECTS = $(am_apertium_interchunk_OBJECTS)
-apertium_interchunk_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_multiple_translations_OBJECTS =  \
-	apertium-multiple-translations.$(OBJEXT)
-apertium_multiple_translations_OBJECTS =  \
-	$(am_apertium_multiple_translations_OBJECTS)
-apertium_multiple_translations_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_postchunk_OBJECTS = apertium_postchunk.$(OBJEXT)
-apertium_postchunk_OBJECTS = $(am_apertium_postchunk_OBJECTS)
-apertium_postchunk_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_postlatex_OBJECTS = apertium_postlatex.$(OBJEXT)
-apertium_postlatex_OBJECTS = $(am_apertium_postlatex_OBJECTS)
-apertium_postlatex_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_postlatex_raw_OBJECTS = apertium_postlatex_raw.$(OBJEXT)
-apertium_postlatex_raw_OBJECTS = $(am_apertium_postlatex_raw_OBJECTS)
-apertium_postlatex_raw_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_prelatex_OBJECTS = apertium_prelatex.$(OBJEXT)
-apertium_prelatex_OBJECTS = $(am_apertium_prelatex_OBJECTS)
-apertium_prelatex_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_preprocess_transfer_OBJECTS = transferpp.$(OBJEXT)
-apertium_preprocess_transfer_OBJECTS =  \
-	$(am_apertium_preprocess_transfer_OBJECTS)
-apertium_preprocess_transfer_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_pretransfer_OBJECTS = apertium_pretransfer.$(OBJEXT)
-apertium_pretransfer_OBJECTS = $(am_apertium_pretransfer_OBJECTS)
-apertium_pretransfer_LDADD = $(LDADD)
-am_apertium_rehtml_OBJECTS = apertium_rehtml.$(OBJEXT)
-apertium_rehtml_OBJECTS = $(am_apertium_rehtml_OBJECTS)
-apertium_rehtml_LDADD = $(LDADD)
-am_apertium_rehtml_noent_OBJECTS = apertium_rehtml_noent.$(OBJEXT)
-apertium_rehtml_noent_OBJECTS = $(am_apertium_rehtml_noent_OBJECTS)
-apertium_rehtml_noent_LDADD = $(LDADD)
-am_apertium_relatex_OBJECTS = apertium_relatex.$(OBJEXT)
-apertium_relatex_OBJECTS = $(am_apertium_relatex_OBJECTS)
-apertium_relatex_LDADD = $(LDADD)
-am_apertium_remediawiki_OBJECTS = apertium_remediawiki.$(OBJEXT)
-apertium_remediawiki_OBJECTS = $(am_apertium_remediawiki_OBJECTS)
-apertium_remediawiki_LDADD = $(LDADD)
-am_apertium_reodt_OBJECTS = apertium_reodt.$(OBJEXT)
-apertium_reodt_OBJECTS = $(am_apertium_reodt_OBJECTS)
-apertium_reodt_LDADD = $(LDADD)
-am_apertium_repptx_OBJECTS = apertium_repptx.$(OBJEXT)
-apertium_repptx_OBJECTS = $(am_apertium_repptx_OBJECTS)
-apertium_repptx_LDADD = $(LDADD)
-am_apertium_rertf_OBJECTS = apertium_rertf.$(OBJEXT)
-apertium_rertf_OBJECTS = $(am_apertium_rertf_OBJECTS)
-apertium_rertf_LDADD = $(LDADD)
-am_apertium_retxt_OBJECTS = apertium_retxt.$(OBJEXT)
-apertium_retxt_OBJECTS = $(am_apertium_retxt_OBJECTS)
-apertium_retxt_LDADD = $(LDADD)
-am_apertium_rewxml_OBJECTS = apertium_rewxml.$(OBJEXT)
-apertium_rewxml_OBJECTS = $(am_apertium_rewxml_OBJECTS)
-apertium_rewxml_LDADD = $(LDADD)
-am_apertium_rexlsx_OBJECTS = apertium_rexlsx.$(OBJEXT)
-apertium_rexlsx_OBJECTS = $(am_apertium_rexlsx_OBJECTS)
-apertium_rexlsx_LDADD = $(LDADD)
-am_apertium_rexpresstag_OBJECTS = apertium_rexpresstag.$(OBJEXT)
-apertium_rexpresstag_OBJECTS = $(am_apertium_rexpresstag_OBJECTS)
-apertium_rexpresstag_LDADD = $(LDADD)
-am_apertium_tagger_OBJECTS = apertium_tagger.$(OBJEXT)
-apertium_tagger_OBJECTS = $(am_apertium_tagger_OBJECTS)
-apertium_tagger_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_tagger_apply_new_rules_OBJECTS =  \
-	apertium_tagger_apply_new_rules.$(OBJEXT)
-apertium_tagger_apply_new_rules_OBJECTS =  \
-	$(am_apertium_tagger_apply_new_rules_OBJECTS)
-apertium_tagger_apply_new_rules_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_tagger_readwords_OBJECTS =  \
-	apertium_tagger_readwords.$(OBJEXT)
-apertium_tagger_readwords_OBJECTS =  \
-	$(am_apertium_tagger_readwords_OBJECTS)
-apertium_tagger_readwords_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_tmxbuild_OBJECTS = apertium_tmxbuild.$(OBJEXT)
-apertium_tmxbuild_OBJECTS = $(am_apertium_tmxbuild_OBJECTS)
-apertium_tmxbuild_DEPENDENCIES = $(am__DEPENDENCIES_1)
-am_apertium_transfer_OBJECTS = apertium_transfer.$(OBJEXT)
-apertium_transfer_OBJECTS = $(am_apertium_transfer_OBJECTS)
-apertium_transfer_DEPENDENCIES = $(am__DEPENDENCIES_1)
-SCRIPTS = $(bin_SCRIPTS)
-AM_V_P = $(am__v_P_ at AM_V@)
-am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
-am__v_P_0 = false
-am__v_P_1 = :
-AM_V_GEN = $(am__v_GEN_ at AM_V@)
-am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
-am__v_GEN_0 = @echo "  GEN     " $@;
-am__v_GEN_1 = 
-AM_V_at = $(am__v_at_ at AM_V@)
-am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
-am__v_at_0 = @
-am__v_at_1 = 
-DEFAULT_INCLUDES = -I. at am__isrc@
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CXXFLAGS) $(CXXFLAGS)
-AM_V_CXX = $(am__v_CXX_ at AM_V@)
-am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
-am__v_CXX_0 = @echo "  CXX     " $@;
-am__v_CXX_1 = 
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
-am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
-am__v_CXXLD_0 = @echo "  CXXLD   " $@;
-am__v_CXXLD_1 = 
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_CFLAGS) $(CFLAGS)
-AM_V_CC = $(am__v_CC_ at AM_V@)
-am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
-am__v_CC_0 = @echo "  CC      " $@;
-am__v_CC_1 = 
-CCLD = $(CC)
-LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
-am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
-am__v_CCLD_0 = @echo "  CCLD    " $@;
-am__v_CCLD_1 = 
-SOURCES = $(libapertium3_la_SOURCES) $(apertium_deshtml_SOURCES) \
-	$(apertium_deslatex_SOURCES) $(apertium_desmediawiki_SOURCES) \
-	$(apertium_desodt_SOURCES) $(apertium_despptx_SOURCES) \
-	$(apertium_desrtf_SOURCES) $(apertium_destxt_SOURCES) \
-	$(apertium_deswxml_SOURCES) $(apertium_desxlsx_SOURCES) \
-	$(apertium_desxpresstag_SOURCES) \
-	$(apertium_filter_ambiguity_SOURCES) \
-	$(apertium_interchunk_SOURCES) \
-	$(apertium_multiple_translations_SOURCES) \
-	$(apertium_postchunk_SOURCES) $(apertium_postlatex_SOURCES) \
-	$(apertium_postlatex_raw_SOURCES) $(apertium_prelatex_SOURCES) \
-	$(apertium_preprocess_transfer_SOURCES) \
-	$(apertium_pretransfer_SOURCES) $(apertium_rehtml_SOURCES) \
-	$(apertium_rehtml_noent_SOURCES) $(apertium_relatex_SOURCES) \
-	$(apertium_remediawiki_SOURCES) $(apertium_reodt_SOURCES) \
-	$(apertium_repptx_SOURCES) $(apertium_rertf_SOURCES) \
-	$(apertium_retxt_SOURCES) $(apertium_rewxml_SOURCES) \
-	$(apertium_rexlsx_SOURCES) $(apertium_rexpresstag_SOURCES) \
-	$(apertium_tagger_SOURCES) \
-	$(apertium_tagger_apply_new_rules_SOURCES) \
-	$(apertium_tagger_readwords_SOURCES) \
-	$(apertium_tmxbuild_SOURCES) $(apertium_transfer_SOURCES)
-DIST_SOURCES = $(libapertium3_la_SOURCES) $(apertium_deshtml_SOURCES) \
-	$(apertium_deslatex_SOURCES) $(apertium_desmediawiki_SOURCES) \
-	$(apertium_desodt_SOURCES) $(apertium_despptx_SOURCES) \
-	$(apertium_desrtf_SOURCES) $(apertium_destxt_SOURCES) \
-	$(apertium_deswxml_SOURCES) $(apertium_desxlsx_SOURCES) \
-	$(apertium_desxpresstag_SOURCES) \
-	$(apertium_filter_ambiguity_SOURCES) \
-	$(apertium_interchunk_SOURCES) \
-	$(apertium_multiple_translations_SOURCES) \
-	$(apertium_postchunk_SOURCES) $(apertium_postlatex_SOURCES) \
-	$(apertium_postlatex_raw_SOURCES) $(apertium_prelatex_SOURCES) \
-	$(apertium_preprocess_transfer_SOURCES) \
-	$(apertium_pretransfer_SOURCES) $(apertium_rehtml_SOURCES) \
-	$(apertium_rehtml_noent_SOURCES) $(apertium_relatex_SOURCES) \
-	$(apertium_remediawiki_SOURCES) $(apertium_reodt_SOURCES) \
-	$(apertium_repptx_SOURCES) $(apertium_rertf_SOURCES) \
-	$(apertium_retxt_SOURCES) $(apertium_rewxml_SOURCES) \
-	$(apertium_rexlsx_SOURCES) $(apertium_rexpresstag_SOURCES) \
-	$(apertium_tagger_SOURCES) \
-	$(apertium_tagger_apply_new_rules_SOURCES) \
-	$(apertium_tagger_readwords_SOURCES) \
-	$(apertium_tmxbuild_SOURCES) $(apertium_transfer_SOURCES)
-am__can_run_installinfo = \
-  case $$AM_UPDATE_INFO_DIR in \
-    n|no|NO) false;; \
-    *) (install-info --version) >/dev/null 2>&1;; \
-  esac
-man1dir = $(mandir)/man1
-NROFF = nroff
-MANS = $(man_MANS)
-DATA = $(apertium_DATA)
-HEADERS = $(library_include_HEADERS)
-am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
-	$(LISP)apertium_config.h.in
-# Read a list of newline-separated strings from the standard input,
-# and print each of them once, without duplicates.  Input order is
-# *not* preserved.
-am__uniquify_input = $(AWK) '\
-  BEGIN { nonempty = 0; } \
-  { items[$$0] = 1; nonempty = 1; } \
-  END { if (nonempty) { for (i in items) print i; }; } \
-'
-# Make sure the list of sources is unique.  This is necessary because,
-# e.g., the same source file might be shared among _SOURCES variables
-# for different programs/libraries.
-am__define_uniq_tagged_files = \
-  list='$(am__tagged_files)'; \
-  unique=`for i in $$list; do \
-    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-  done | $(am__uniquify_input)`
-ETAGS = etags
-CTAGS = ctags
-am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/apertium_config.h.in \
-	$(top_srcdir)/depcomp
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
-APERTIUM_CFLAGS = @APERTIUM_CFLAGS@
-APERTIUM_LIBS = @APERTIUM_LIBS@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-BASH = @BASH@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-FLEX = @FLEX@
-GENERIC_API_VERSION = @GENERIC_API_VERSION@
-GENERIC_LIBRARY_NAME = @GENERIC_LIBRARY_NAME@
-GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
-GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
-GENERIC_RELEASE = @GENERIC_RELEASE@
-GENERIC_VERSION = @GENERIC_VERSION@
-GREP = @GREP@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
-MAKEINFO = @MAKEINFO@
-MANIFEST_TOOL = @MANIFEST_TOOL@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_URL = @PACKAGE_URL@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PKG_CONFIG = @PKG_CONFIG@
-PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
-PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMLLINT = @XMLLINT@
-XSLTPROC = @XSLTPROC@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_AR = @ac_ct_AR@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-h_sources = collection.h constant_manager.h hmm.h lswpost.h interchunk.h \
-            interchunk_word.h lextor_data.h lextor_eval.h lextor.h \
-            lextor_word.h morpho_stream.h postchunk.h string_utils.h \
-            tagger_data.h tagger_data_hmm.h tagger_data_lsw.h tagger.h tagger_utils.h tagger_word.h \
-            transfer_data.h transfer.h transfer_instr.h transfer_token.h \
-            transfer_word.h transfer_word_list.h trx_reader.h tsx_reader.h \
-            ttag.h utf_converter.h apertium_re.h unlocked_cstdio.h \
-            endian_double_util.h transfer_mult.h tmx_builder.h \
-            tmx_alignment.h tmx_arguments_parser.h tmx_book_to_matrix.h \
-            tmx_dictionary.h tmx_dic_tree.h tmx_quasi_diagonal.h \
-            tmx_serialize_impl.h tmx_strings_and_streams.h \
-            tmx_trail_postprocessors.h tmx_translate.h tmx_words.h \
-            tmx_align_parameters.h tmx_aligner_tool.h latex_accentsmap.h
-
-cc_sources = collection.cc constant_manager.cc hmm.cc lswpost.cc interchunk.cc \
-             interchunk_word.cc lextor.cc lextor_data.cc lextor_eval.cc \
-             lextor_word.cc morpho_stream.cc postchunk.cc string_utils.cc \
-             tagger.cc tagger_data.cc tagger_data_hmm.cc tagger_data_lsw.cc tagger_utils.cc tagger_word.cc \
-             transfer.cc transfer_data.cc transfer_instr.cc \
-             transfer_token.cc transfer_word.cc transfer_word_list.cc \
-             trx_reader.cc tsx_reader.cc utf_converter.cc apertium_re.cc \
-             endian_double_util.cc transfer_mult.cc tmx_builder.cc \
-             tmx_aligner_tool.cc tmx_alignment.cc tmx_arguments_parser.cc \
-             tmx_book_to_matrix.cc tmx_dictionary.cc \
-             tmx_strings_and_streams.cc tmx_trail_postprocessors.cc \
-             tmx_translate.cc latex_accentsmap.cc
-
-library_includedir = $(includedir)/$(GENERIC_LIBRARY_NAME)-$(GENERIC_API_VERSION)/$(GENERIC_LIBRARY_NAME)
-library_include_HEADERS = $(h_sources)
-GENERATEDSCRIPTS = apertium-gen-deformat apertium-gen-reformat \
-                   apertium-validate-tagger \
-                   apertium-validate-transfer apertium-validate-dictionary \
-                   apertium-validate-modes \
-                   apertium-validate-interchunk \
-                   apertium-validate-postchunk apertium apertium-unformat \
-                   apertium-gen-modes apertium-validate-acx \
-                   apertium-utils-fixlatex
-
-lib_LTLIBRARIES = libapertium3.la
-libapertium3_la_SOURCES = $(h_sources) $(cc_sources)
-libapertium3_la_LDFLAGS = -version-info $(GENERIC_LIBRARY_VERSION) -release $(GENERIC_RELEASE)
-bin_SCRIPTS = $(GENERATEDSCRIPTS)
-instdir = apertium
-apertiumdir = $(prefix)/share/apertium
-apertiuminclude = $(prefix)/include/apertium-$(GENERIC_API_VERSION)
-apertiumlib = $(prefix)/lib
-apertiumsysconf = $(prefix)/etc/apertium
-apertium_DATA = deformat.xsl reformat.xsl new2old.xsl lexchoice.xsl \
-                lexchoicebil.xsl tagger.dtd interchunk.dtd format.dtd \
-                transfer.dtd postchunk.dtd modes.dtd modes2bash.xsl \
-                apertium-createmodes.awk
-
-apertium_pretransfer_SOURCES = apertium_pretransfer.cc
-apertium_multiple_translations_SOURCES = apertium-multiple-translations.cc
-apertium_multiple_translations_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_destxt_SOURCES = apertium_destxt.cc
-apertium_retxt_SOURCES = apertium_retxt.cc
-apertium_deshtml_SOURCES = apertium_deshtml.cc
-apertium_rehtml_SOURCES = apertium_rehtml.cc
-apertium_rehtml_noent_SOURCES = apertium_rehtml_noent.cc
-apertium_desxpresstag_SOURCES = apertium_desxpresstag.cc
-apertium_rexpresstag_SOURCES = apertium_rexpresstag.cc
-apertium_desodt_SOURCES = apertium_desodt.cc
-apertium_reodt_SOURCES = apertium_reodt.cc
-apertium_desrtf_SOURCES = apertium_desrtf.cc
-apertium_rertf_SOURCES = apertium_rertf.cc
-apertium_deswxml_SOURCES = apertium_deswxml.cc
-apertium_rewxml_SOURCES = apertium_rewxml.cc
-apertium_deslatex_SOURCES = apertium_deslatex.cc
-apertium_relatex_SOURCES = apertium_relatex.cc
-apertium_desxlsx_SOURCES = apertium_desxlsx.cc
-apertium_rexlsx_SOURCES = apertium_rexlsx.cc
-apertium_despptx_SOURCES = apertium_despptx.cc
-apertium_repptx_SOURCES = apertium_repptx.cc
-apertium_desmediawiki_SOURCES = apertium_desmediawiki.cc
-apertium_remediawiki_SOURCES = apertium_remediawiki.cc
-apertium_prelatex_SOURCES = apertium_prelatex.cc
-apertium_prelatex_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_postlatex_SOURCES = apertium_postlatex.cc
-apertium_postlatex_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_postlatex_raw_SOURCES = apertium_postlatex_raw.cc
-apertium_postlatex_raw_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_tagger_SOURCES = apertium_tagger.cc
-apertium_tagger_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_tmxbuild_SOURCES = apertium_tmxbuild.cc
-apertium_tmxbuild_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_preprocess_transfer_SOURCES = transferpp.cc
-apertium_preprocess_transfer_LDADD = $(APERTIUM_LIBS) \
-                                     -lapertium$(GENERIC_MAJOR_VERSION)
-
-apertium_filter_ambiguity_SOURCES = apertium_filter_ambiguity.cc
-apertium_filter_ambiguity_LDADD = $(APERTIUM_LIBS) \
-                                  -lapertium$(GENERIC_MAJOR_VERSION)
-
-apertium_transfer_SOURCES = apertium_transfer.cc
-apertium_transfer_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_interchunk_SOURCES = apertium_interchunk.cc
-apertium_interchunk_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_postchunk_SOURCES = apertium_postchunk.cc
-apertium_postchunk_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-
-###apertium_lextor_SOURCES = apertium_lextor.cc
-###apertium_lextor_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-
-#apertium_lextor_eval_SOURCES = apertium-lextor-eval.C
-#apertium_lextor_eval_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_tagger_apply_new_rules_SOURCES = apertium_tagger_apply_new_rules.cc
-apertium_tagger_apply_new_rules_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-apertium_tagger_readwords_SOURCES = apertium_tagger_readwords.cc
-apertium_tagger_readwords_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
- at WINDOWS_FALSE@INCLUDES = -I$(top_srcdir) $(APERTIUM_CFLAGS)
-
-###apertium_lextor_search_SOURCES = apertium-lextor-search.C
-###apertium_lextor_search_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-
-###pruebas_lextor_SOURCES = pruebas-lextor.C
-###pruebas_lextor_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
-
-###apertium_gen_wlist_lextor_translation_SOURCES = apertium_gen_wlist_lextor_translation.cc
-###apertium_gen_wlist_lextor_translation_LDADD = $(APERTIUM_LIBS) -lapertium$(GENERIC_MAJOR_VERSION)
- at WINDOWS_TRUE@INCLUDES = -I$(top_srcdir)/apertium/win32 -I$(top_srcdir) $(APERTIUM_CFLAGS)
-CLEANFILES = *~ apertium_destxt.cc apertium_retxt.cc apertium_deshtml.cc \
-             apertium_rehtml.cc apertium_desrtf.cc apertium_rertf.cc \
-             apertium_rehtml_noent.cc \
-             apertium_deswxml.cc apertium_rewxml.cc \
-             apertium_deslatex.cc apertium_relatex.cc \
-             apertium_desxlsx.cc apertium_rexlsx.cc \
-             apertium_despptx.cc apertium_repptx.cc \
-             apertium_desodt.cc apertium_reodt.cc \
-	     apertium_desxpresstag.cc apertium_rexpresstag.cc \
-             apertium_desmediawiki.cc apertium_remediawiki.cc \
-             apertium_prelatex.cc apertium_postlatex.cc \
-             $(GENERATEDSCRIPTS)
-
-man_MANS = apertium.1 apertium-deshtml.1 apertium-desrtf.1 apertium-destxt.1 \
-         apertium-desodt.1 apertium-reodt.1 \
-         apertium-deswxml.1 apertium-rewxml.1 \
-         apertium-deslatex.1 apertium-relatex.1 \
-         apertium-prelatex.1 apertium-postlatex.1 apertium-postlatex-raw.1 \
-         apertium-desxlsx.1 apertium-rexlsx.1 \
-         apertium-despptx.1 apertium-repptx.1 \
-         apertium-desmediawiki.1 apertium-remediawiki.1 \
-         apertium-filter-ambiguity.1 apertium-gen-deformat.1 apertium-gen-lextorbil.1 \
-         apertium-gen-lextormono.1 apertium-gen-reformat.1 apertium-gen-stopwords-lextor.1 \
-         apertium-gen-wlist-lextor.1 apertium-gen-wlist-lextor-translation.1 \
-         apertium-lextor.1 apertium-preprocess-corpus-lextor.1 \
-         apertium-preprocess-transfer.1 apertium-pretransfer.1 apertium-rehtml.1 \
-         apertium-rertf.1 apertium-retxt.1 apertium-tagger.1 apertium-transfer.1 \
-         apertium-validate-dictionary.1 apertium-validate-tagger.1 \
-         apertium-validate-transfer.1 apertium-gen-modes.1 apertium-interchunk.1 \
-         apertium-postchunk.1 apertium-validate-interchunk.1 apertium-utils-fixlatex.1 \
-         apertium-validate-postchunk.1 apertium-validate-modes.1 apertium-tagger-apply-new-rules.1 \
-	 apertium-validate-acx.1 apertium-multiple-translations.1 \
-	 apertium-unformat.1
-
-EXTRA_DIST = gen-header.sh deformat-header.sh \
-             reformat.xsl deformat.xsl new2old.xsl lexchoice.xsl lexchoicebil.xsl \
-             tagger.dtd transfer.dtd format.dtd txt-format.xml \
-             html-format.xml odt-format.xml rtf-format.xml wxml-format.xml latex-format.xml\
-             html-noent-format.xml \
-             xlsx-format.xml pptx-format.xml mediawiki-format.xml trans-header.sh \
-             apertium-postlatex.l  apertium-postlatex-raw.l  apertium-prelatex.l \
-             apertium-header.sh apertium-unformat-header.sh $(man_MANS) \
-             xpresstag-format.xml \
-             validate-header.sh transformdic-header.sh transformdicbil-header.sh \
-             gen-wlist-lextor-header.sh gen-stopwords-lextor.sh preprocess-corpus-lextor.sh \
-             interchunk.dtd postchunk.dtd modes.dtd \
-             utils-fixlatex-header.sh \
-             modes-header.sh apertium-createmodes.awk modes2bash.xsl ###trans-lextor-header.sh
-
-all: apertium_config.h
-	$(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-.SUFFIXES: .cc .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu apertium/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu apertium/Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-
-apertium_config.h: stamp-h1
-	@test -f $@ || rm -f stamp-h1
-	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
-
-stamp-h1: $(srcdir)/apertium_config.h.in $(top_builddir)/config.status
-	@rm -f stamp-h1
-	cd $(top_builddir) && $(SHELL) ./config.status apertium/apertium_config.h
-$(srcdir)/apertium_config.h.in:  $(am__configure_deps) 
-	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-	rm -f stamp-h1
-	touch $@
-
-distclean-hdr:
-	-rm -f apertium_config.h stamp-h1
-
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-	}
-
-uninstall-libLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-	for p in $$list; do \
-	  $(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-	done
-
-clean-libLTLIBRARIES:
-	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; \
-	locs=`for p in $$list; do echo $$p; done | \
-	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
-	      sort -u`; \
-	test -z "$$locs" || { \
-	  echo rm -f $${locs}; \
-	  rm -f $${locs}; \
-	}
-
-libapertium3.la: $(libapertium3_la_OBJECTS) $(libapertium3_la_DEPENDENCIES) $(EXTRA_libapertium3_la_DEPENDENCIES) 
-	$(AM_V_CXXLD)$(libapertium3_la_LINK) -rpath $(libdir) $(libapertium3_la_OBJECTS) $(libapertium3_la_LIBADD) $(LIBS)
-install-binPROGRAMS: $(bin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
-	fi; \
-	for p in $$list; do echo "$$p $$p"; done | \
-	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p \
-	 || test -f $$p1 \
-	  ; then echo "$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n;h' \
-	    -e 's|.*|.|' \
-	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-	sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
-	    else { print "f", $$3 "/" $$4, $$1; } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	    test -z "$$files" || { \
-	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-	    } \
-	; done
-
-uninstall-binPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' \
-	`; \
-	test -n "$$list" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
-	echo " rm -f" $$list; \
-	rm -f $$list || exit $$?; \
-	test -n "$(EXEEXT)" || exit 0; \
-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-	echo " rm -f" $$list; \
-	rm -f $$list
-
-apertium-deshtml$(EXEEXT): $(apertium_deshtml_OBJECTS) $(apertium_deshtml_DEPENDENCIES) $(EXTRA_apertium_deshtml_DEPENDENCIES) 
-	@rm -f apertium-deshtml$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_deshtml_OBJECTS) $(apertium_deshtml_LDADD) $(LIBS)
-
-apertium-deslatex$(EXEEXT): $(apertium_deslatex_OBJECTS) $(apertium_deslatex_DEPENDENCIES) $(EXTRA_apertium_deslatex_DEPENDENCIES) 
-	@rm -f apertium-deslatex$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_deslatex_OBJECTS) $(apertium_deslatex_LDADD) $(LIBS)
-
-apertium-desmediawiki$(EXEEXT): $(apertium_desmediawiki_OBJECTS) $(apertium_desmediawiki_DEPENDENCIES) $(EXTRA_apertium_desmediawiki_DEPENDENCIES) 
-	@rm -f apertium-desmediawiki$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_desmediawiki_OBJECTS) $(apertium_desmediawiki_LDADD) $(LIBS)
-
-apertium-desodt$(EXEEXT): $(apertium_desodt_OBJECTS) $(apertium_desodt_DEPENDENCIES) $(EXTRA_apertium_desodt_DEPENDENCIES) 
-	@rm -f apertium-desodt$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_desodt_OBJECTS) $(apertium_desodt_LDADD) $(LIBS)
-
-apertium-despptx$(EXEEXT): $(apertium_despptx_OBJECTS) $(apertium_despptx_DEPENDENCIES) $(EXTRA_apertium_despptx_DEPENDENCIES) 
-	@rm -f apertium-despptx$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_despptx_OBJECTS) $(apertium_despptx_LDADD) $(LIBS)
-
-apertium-desrtf$(EXEEXT): $(apertium_desrtf_OBJECTS) $(apertium_desrtf_DEPENDENCIES) $(EXTRA_apertium_desrtf_DEPENDENCIES) 
-	@rm -f apertium-desrtf$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_desrtf_OBJECTS) $(apertium_desrtf_LDADD) $(LIBS)
-
-apertium-destxt$(EXEEXT): $(apertium_destxt_OBJECTS) $(apertium_destxt_DEPENDENCIES) $(EXTRA_apertium_destxt_DEPENDENCIES) 
-	@rm -f apertium-destxt$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_destxt_OBJECTS) $(apertium_destxt_LDADD) $(LIBS)
-
-apertium-deswxml$(EXEEXT): $(apertium_deswxml_OBJECTS) $(apertium_deswxml_DEPENDENCIES) $(EXTRA_apertium_deswxml_DEPENDENCIES) 
-	@rm -f apertium-deswxml$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_deswxml_OBJECTS) $(apertium_deswxml_LDADD) $(LIBS)
-
-apertium-desxlsx$(EXEEXT): $(apertium_desxlsx_OBJECTS) $(apertium_desxlsx_DEPENDENCIES) $(EXTRA_apertium_desxlsx_DEPENDENCIES) 
-	@rm -f apertium-desxlsx$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_desxlsx_OBJECTS) $(apertium_desxlsx_LDADD) $(LIBS)
-
-apertium-desxpresstag$(EXEEXT): $(apertium_desxpresstag_OBJECTS) $(apertium_desxpresstag_DEPENDENCIES) $(EXTRA_apertium_desxpresstag_DEPENDENCIES) 
-	@rm -f apertium-desxpresstag$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_desxpresstag_OBJECTS) $(apertium_desxpresstag_LDADD) $(LIBS)
-
-apertium-filter-ambiguity$(EXEEXT): $(apertium_filter_ambiguity_OBJECTS) $(apertium_filter_ambiguity_DEPENDENCIES) $(EXTRA_apertium_filter_ambiguity_DEPENDENCIES) 
-	@rm -f apertium-filter-ambiguity$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_filter_ambiguity_OBJECTS) $(apertium_filter_ambiguity_LDADD) $(LIBS)
-
-apertium-interchunk$(EXEEXT): $(apertium_interchunk_OBJECTS) $(apertium_interchunk_DEPENDENCIES) $(EXTRA_apertium_interchunk_DEPENDENCIES) 
-	@rm -f apertium-interchunk$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_interchunk_OBJECTS) $(apertium_interchunk_LDADD) $(LIBS)
-
-apertium-multiple-translations$(EXEEXT): $(apertium_multiple_translations_OBJECTS) $(apertium_multiple_translations_DEPENDENCIES) $(EXTRA_apertium_multiple_translations_DEPENDENCIES) 
-	@rm -f apertium-multiple-translations$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_multiple_translations_OBJECTS) $(apertium_multiple_translations_LDADD) $(LIBS)
-
-apertium-postchunk$(EXEEXT): $(apertium_postchunk_OBJECTS) $(apertium_postchunk_DEPENDENCIES) $(EXTRA_apertium_postchunk_DEPENDENCIES) 
-	@rm -f apertium-postchunk$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_postchunk_OBJECTS) $(apertium_postchunk_LDADD) $(LIBS)
-
-apertium-postlatex$(EXEEXT): $(apertium_postlatex_OBJECTS) $(apertium_postlatex_DEPENDENCIES) $(EXTRA_apertium_postlatex_DEPENDENCIES) 
-	@rm -f apertium-postlatex$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_postlatex_OBJECTS) $(apertium_postlatex_LDADD) $(LIBS)
-
-apertium-postlatex-raw$(EXEEXT): $(apertium_postlatex_raw_OBJECTS) $(apertium_postlatex_raw_DEPENDENCIES) $(EXTRA_apertium_postlatex_raw_DEPENDENCIES) 
-	@rm -f apertium-postlatex-raw$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_postlatex_raw_OBJECTS) $(apertium_postlatex_raw_LDADD) $(LIBS)
-
-apertium-prelatex$(EXEEXT): $(apertium_prelatex_OBJECTS) $(apertium_prelatex_DEPENDENCIES) $(EXTRA_apertium_prelatex_DEPENDENCIES) 
-	@rm -f apertium-prelatex$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_prelatex_OBJECTS) $(apertium_prelatex_LDADD) $(LIBS)
-
-apertium-preprocess-transfer$(EXEEXT): $(apertium_preprocess_transfer_OBJECTS) $(apertium_preprocess_transfer_DEPENDENCIES) $(EXTRA_apertium_preprocess_transfer_DEPENDENCIES) 
-	@rm -f apertium-preprocess-transfer$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_preprocess_transfer_OBJECTS) $(apertium_preprocess_transfer_LDADD) $(LIBS)
-
-apertium-pretransfer$(EXEEXT): $(apertium_pretransfer_OBJECTS) $(apertium_pretransfer_DEPENDENCIES) $(EXTRA_apertium_pretransfer_DEPENDENCIES) 
-	@rm -f apertium-pretransfer$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_pretransfer_OBJECTS) $(apertium_pretransfer_LDADD) $(LIBS)
-
-apertium-rehtml$(EXEEXT): $(apertium_rehtml_OBJECTS) $(apertium_rehtml_DEPENDENCIES) $(EXTRA_apertium_rehtml_DEPENDENCIES) 
-	@rm -f apertium-rehtml$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_rehtml_OBJECTS) $(apertium_rehtml_LDADD) $(LIBS)
-
-apertium-rehtml-noent$(EXEEXT): $(apertium_rehtml_noent_OBJECTS) $(apertium_rehtml_noent_DEPENDENCIES) $(EXTRA_apertium_rehtml_noent_DEPENDENCIES) 
-	@rm -f apertium-rehtml-noent$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_rehtml_noent_OBJECTS) $(apertium_rehtml_noent_LDADD) $(LIBS)
-
-apertium-relatex$(EXEEXT): $(apertium_relatex_OBJECTS) $(apertium_relatex_DEPENDENCIES) $(EXTRA_apertium_relatex_DEPENDENCIES) 
-	@rm -f apertium-relatex$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_relatex_OBJECTS) $(apertium_relatex_LDADD) $(LIBS)
-
-apertium-remediawiki$(EXEEXT): $(apertium_remediawiki_OBJECTS) $(apertium_remediawiki_DEPENDENCIES) $(EXTRA_apertium_remediawiki_DEPENDENCIES) 
-	@rm -f apertium-remediawiki$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_remediawiki_OBJECTS) $(apertium_remediawiki_LDADD) $(LIBS)
-
-apertium-reodt$(EXEEXT): $(apertium_reodt_OBJECTS) $(apertium_reodt_DEPENDENCIES) $(EXTRA_apertium_reodt_DEPENDENCIES) 
-	@rm -f apertium-reodt$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_reodt_OBJECTS) $(apertium_reodt_LDADD) $(LIBS)
-
-apertium-repptx$(EXEEXT): $(apertium_repptx_OBJECTS) $(apertium_repptx_DEPENDENCIES) $(EXTRA_apertium_repptx_DEPENDENCIES) 
-	@rm -f apertium-repptx$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_repptx_OBJECTS) $(apertium_repptx_LDADD) $(LIBS)
-
-apertium-rertf$(EXEEXT): $(apertium_rertf_OBJECTS) $(apertium_rertf_DEPENDENCIES) $(EXTRA_apertium_rertf_DEPENDENCIES) 
-	@rm -f apertium-rertf$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_rertf_OBJECTS) $(apertium_rertf_LDADD) $(LIBS)
-
-apertium-retxt$(EXEEXT): $(apertium_retxt_OBJECTS) $(apertium_retxt_DEPENDENCIES) $(EXTRA_apertium_retxt_DEPENDENCIES) 
-	@rm -f apertium-retxt$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_retxt_OBJECTS) $(apertium_retxt_LDADD) $(LIBS)
-
-apertium-rewxml$(EXEEXT): $(apertium_rewxml_OBJECTS) $(apertium_rewxml_DEPENDENCIES) $(EXTRA_apertium_rewxml_DEPENDENCIES) 
-	@rm -f apertium-rewxml$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_rewxml_OBJECTS) $(apertium_rewxml_LDADD) $(LIBS)
-
-apertium-rexlsx$(EXEEXT): $(apertium_rexlsx_OBJECTS) $(apertium_rexlsx_DEPENDENCIES) $(EXTRA_apertium_rexlsx_DEPENDENCIES) 
-	@rm -f apertium-rexlsx$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_rexlsx_OBJECTS) $(apertium_rexlsx_LDADD) $(LIBS)
-
-apertium-rexpresstag$(EXEEXT): $(apertium_rexpresstag_OBJECTS) $(apertium_rexpresstag_DEPENDENCIES) $(EXTRA_apertium_rexpresstag_DEPENDENCIES) 
-	@rm -f apertium-rexpresstag$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_rexpresstag_OBJECTS) $(apertium_rexpresstag_LDADD) $(LIBS)
-
-apertium-tagger$(EXEEXT): $(apertium_tagger_OBJECTS) $(apertium_tagger_DEPENDENCIES) $(EXTRA_apertium_tagger_DEPENDENCIES) 
-	@rm -f apertium-tagger$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_tagger_OBJECTS) $(apertium_tagger_LDADD) $(LIBS)
-
-apertium-tagger-apply-new-rules$(EXEEXT): $(apertium_tagger_apply_new_rules_OBJECTS) $(apertium_tagger_apply_new_rules_DEPENDENCIES) $(EXTRA_apertium_tagger_apply_new_rules_DEPENDENCIES) 
-	@rm -f apertium-tagger-apply-new-rules$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_tagger_apply_new_rules_OBJECTS) $(apertium_tagger_apply_new_rules_LDADD) $(LIBS)
-
-apertium-tagger-readwords$(EXEEXT): $(apertium_tagger_readwords_OBJECTS) $(apertium_tagger_readwords_DEPENDENCIES) $(EXTRA_apertium_tagger_readwords_DEPENDENCIES) 
-	@rm -f apertium-tagger-readwords$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_tagger_readwords_OBJECTS) $(apertium_tagger_readwords_LDADD) $(LIBS)
-
-apertium-tmxbuild$(EXEEXT): $(apertium_tmxbuild_OBJECTS) $(apertium_tmxbuild_DEPENDENCIES) $(EXTRA_apertium_tmxbuild_DEPENDENCIES) 
-	@rm -f apertium-tmxbuild$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_tmxbuild_OBJECTS) $(apertium_tmxbuild_LDADD) $(LIBS)
-
-apertium-transfer$(EXEEXT): $(apertium_transfer_OBJECTS) $(apertium_transfer_DEPENDENCIES) $(EXTRA_apertium_transfer_DEPENDENCIES) 
-	@rm -f apertium-transfer$(EXEEXT)
-	$(AM_V_CXXLD)$(CXXLINK) $(apertium_transfer_OBJECTS) $(apertium_transfer_LDADD) $(LIBS)
-install-binSCRIPTS: $(bin_SCRIPTS)
-	@$(NORMAL_INSTALL)
-	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n' \
-	    -e 'h;s|.*|.|' \
-	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
-	      if (++n[d] == $(am__install_max)) { \
-		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
-	    else { print "f", d "/" $$4, $$1 } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	     test -z "$$files" || { \
-	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-	     } \
-	; done
-
-uninstall-binSCRIPTS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	       sed -e 's,.*/,,;$(transform)'`; \
-	dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium-multiple-translations.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_deshtml.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_deslatex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_desmediawiki.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_desodt.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_despptx.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_desrtf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_destxt.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_deswxml.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_desxlsx.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_desxpresstag.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_filter_ambiguity.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_interchunk.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_postchunk.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_postlatex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_postlatex_raw.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_prelatex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_pretransfer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_re.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_rehtml.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_rehtml_noent.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_relatex.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_remediawiki.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_reodt.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_repptx.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_rertf.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_retxt.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_rewxml.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_rexlsx.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_rexpresstag.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_tagger.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_tagger_apply_new_rules.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_tagger_readwords.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_tmxbuild.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/apertium_transfer.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/collection.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/constant_manager.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/endian_double_util.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hmm.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/interchunk.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/interchunk_word.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/latex_accentsmap.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lextor.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lextor_data.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lextor_eval.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lextor_word.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/lswpost.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/morpho_stream.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/postchunk.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/string_utils.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tagger.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tagger_data.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tagger_data_hmm.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tagger_data_lsw.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tagger_utils.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tagger_word.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_aligner_tool.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_alignment.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_arguments_parser.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_book_to_matrix.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_builder.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_dictionary.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_strings_and_streams.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_trail_postprocessors.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tmx_translate.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transfer.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transfer_data.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transfer_instr.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transfer_mult.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transfer_token.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transfer_word.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transfer_word_list.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/transferpp.Po at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/trx_reader.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/tsx_reader.Plo at am__quote@
- at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/utf_converter.Plo at am__quote@
-
-.cc.o:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ $<
-
-.cc.obj:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cc.lo:
- at am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
- at am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
- at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
- at am__fastdepCXX_FALSE@	$(AM_V_CXX at am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-install-man1: $(man_MANS)
-	@$(NORMAL_INSTALL)
-	@list1=''; \
-	list2='$(man_MANS)'; \
-	test -n "$(man1dir)" \
-	  && test -n "`echo $$list1$$list2`" \
-	  || exit 0; \
-	echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
-	$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
-	{ for i in $$list1; do echo "$$i"; done;  \
-	if test -n "$$list2"; then \
-	  for i in $$list2; do echo "$$i"; done \
-	    | sed -n '/\.1[a-z]*$$/p'; \
-	fi; \
-	} | while read p; do \
-	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; echo "$$p"; \
-	done | \
-	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
-	sed 'N;N;s,\n, ,g' | { \
-	list=; while read file base inst; do \
-	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
-	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
-	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
-	  fi; \
-	done; \
-	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
-	while read files; do \
-	  test -z "$$files" || { \
-	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
-	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
-	done; }
-
-uninstall-man1:
-	@$(NORMAL_UNINSTALL)
-	@list=''; test -n "$(man1dir)" || exit 0; \
-	files=`{ for i in $$list; do echo "$$i"; done; \
-	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
-	  sed -n '/\.1[a-z]*$$/p'; \
-	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
-	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
-install-apertiumDATA: $(apertium_DATA)
-	@$(NORMAL_INSTALL)
-	@list='$(apertium_DATA)'; test -n "$(apertiumdir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(apertiumdir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(apertiumdir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(apertiumdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(apertiumdir)" || exit $$?; \
-	done
-
-uninstall-apertiumDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(apertium_DATA)'; test -n "$(apertiumdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(apertiumdir)'; $(am__uninstall_files_from_dir)
-install-library_includeHEADERS: $(library_include_HEADERS)
-	@$(NORMAL_INSTALL)
-	@list='$(library_include_HEADERS)'; test -n "$(library_includedir)" || list=; \
-	if test -n "$$list"; then \
-	  echo " $(MKDIR_P) '$(DESTDIR)$(library_includedir)'"; \
-	  $(MKDIR_P) "$(DESTDIR)$(library_includedir)" || exit 1; \
-	fi; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(library_includedir)'"; \
-	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(library_includedir)" || exit $$?; \
-	done
-
-uninstall-library_includeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(library_include_HEADERS)'; test -n "$(library_includedir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	dir='$(DESTDIR)$(library_includedir)'; $(am__uninstall_files_from_dir)
-
-ID: $(am__tagged_files)
-	$(am__define_uniq_tagged_files); mkid -fID $$unique
-tags: tags-am
-TAGS: tags
-
-tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	set x; \
-	here=`pwd`; \
-	$(am__define_uniq_tagged_files); \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: ctags-am
-
-CTAGS: ctags
-ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
-	$(am__define_uniq_tagged_files); \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-cscopelist: cscopelist-am
-
-cscopelist-am: $(am__tagged_files)
-	list='$(am__tagged_files)'; \
-	case "$(srcdir)" in \
-	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
-	  *) sdir=$(subdir)/$(srcdir) ;; \
-	esac; \
-	for i in $$list; do \
-	  if test -f "$$i"; then \
-	    echo "$(subdir)/$$i"; \
-	  else \
-	    echo "$$sdir/$$i"; \
-	  fi; \
-	done >> $(top_builddir)/cscope.files
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \
-		$(HEADERS) apertium_config.h
-install-binPROGRAMS: install-libLTLIBRARIES
-
-installdirs:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(apertiumdir)" "$(DESTDIR)$(library_includedir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	if test -z '$(STRIP)'; then \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	      install; \
-	else \
-	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
-	fi
-mostlyclean-generic:
-
-clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
-	clean-libtool mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-hdr distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-apertiumDATA install-library_includeHEADERS \
-	install-man
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS install-binSCRIPTS \
-	install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man: install-man1
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-apertiumDATA uninstall-binPROGRAMS \
-	uninstall-binSCRIPTS uninstall-libLTLIBRARIES \
-	uninstall-library_includeHEADERS uninstall-man
-
-uninstall-man: uninstall-man1
-
-.MAKE: all install-am install-strip
-
-.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
-	clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
-	clean-libtool cscopelist-am ctags ctags-am distclean \
-	distclean-compile distclean-generic distclean-hdr \
-	distclean-libtool distclean-tags distdir dvi dvi-am html \
-	html-am info info-am install install-am install-apertiumDATA \
-	install-binPROGRAMS install-binSCRIPTS install-data \
-	install-data-am install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-libLTLIBRARIES \
-	install-library_includeHEADERS install-man install-man1 \
-	install-pdf install-pdf-am install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-	pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
-	uninstall-apertiumDATA uninstall-binPROGRAMS \
-	uninstall-binSCRIPTS uninstall-libLTLIBRARIES \
-	uninstall-library_includeHEADERS uninstall-man uninstall-man1
-
-.PRECIOUS: Makefile
-
-#DEPR.:
-                   #apertium-preprocess-corpus-lextor
-                   #apertium-gen-stopwords-lextor
-                   #apertium-gen-lextorbil
-                   #apertium-gen-lextormono apertium-gen-wlist-lextor
-               ###pruebas-lextor apertium-lextor-search apertium-lextor-eval
-               ###apertium-gen-wlist-lextor-translation
-               ###apertium-lextor
-
-apertium_destxt.cc: txt-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl txt-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_desxpresstag.cc: xpresstag-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl xpresstag-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_rexpresstag.cc: xpresstag-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl xpresstag-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_retxt.cc: txt-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl txt-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_deshtml.cc: html-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl html-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_rehtml.cc: html-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl html-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_rehtml_noent.cc: html-noent-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl html-noent-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_desodt.cc: odt-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl odt-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_reodt.cc: odt-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl odt-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_desrtf.cc: rtf-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl rtf-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_rertf.cc: rtf-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl rtf-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_deswxml.cc: wxml-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl wxml-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_rewxml.cc: wxml-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl wxml-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_deslatex.cc: latex-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl latex-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_relatex.cc: latex-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl latex-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_desxlsx.cc: xlsx-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl xlsx-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_rexlsx.cc: xlsx-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl xlsx-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_despptx.cc: pptx-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl pptx-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_repptx.cc: pptx-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl pptx-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_desmediawiki.cc: mediawiki-format.xml Makefile.am deformat.xsl
-	$(XSLTPROC) deformat.xsl mediawiki-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_remediawiki.cc: mediawiki-format.xml Makefile.am reformat.xsl
-	$(XSLTPROC) reformat.xsl mediawiki-format.xml >$@tmp
-	$(FLEX) -Cfer -o$@ $@tmp
-	rm $@tmp
-
-apertium_prelatex.cc: apertium-prelatex.l
-	$(FLEX) -Cfer -o$@ apertium-prelatex.l
-
-apertium_postlatex.cc: apertium-postlatex.l
-	$(FLEX) -Cfer -o$@ apertium-postlatex.l
-
-apertium_postlatex_raw.cc: apertium-postlatex-raw.l
-	$(FLEX) -Cfer -o$@ apertium-postlatex-raw.l
-
-apertium-validate-tagger: Makefile.am validate-header.sh
-	@echo "Creating apertium-validate-tagger script"
-	@echo "#!$(BASH)" > $@
-	@cat validate-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/tagger.dtd --noout \"\$$FILE1\"" >>$@
-	@chmod a+x $@
-
-apertium-validate-transfer: Makefile.am validate-header.sh
-	@echo "Creating apertium-validate-transfer script"
-	@echo "#!$(BASH)" > $@
-	@cat validate-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/transfer.dtd --noout \"\$$FILE1\"" >>$@
-	@chmod a+x $@
-
-apertium-validate-interchunk: Makefile.am validate-header.sh
-	@echo "Creating apertium-validate-interchunk script"
-	@echo "#!$(BASH)" > $@
-	@cat validate-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/interchunk.dtd --noout \"\$$FILE1\"" >>$@
-	@chmod a+x $@
-
-apertium-validate-postchunk: Makefile.am validate-header.sh
-	@echo "Creating apertium-validate-postchunk script"
-	@echo "#!$(BASH)" > $@
-	@cat validate-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/postchunk.dtd --noout \"\$$FILE1\"" >>$@
-	@chmod a+x $@
-
-apertium-validate-acx: Makefile.am validate-header.sh
-	@echo "Creating apertium-validate-acx script"
-	@echo "#!$(BASH)" > $@
-	@cat validate-header.sh >> $@
-	@echo "$(XMLLINT) --relaxng $(prefix)/share/lttoolbox/acx.rng --schema $(prefix)/share/lttoolbox/acx.xsd --noout \"\$$FILE1\"" >>$@
-	@chmod a+x $@
-
-apertium-validate-modes: Makefile.am validate-header.sh
-	@echo "Creating apertium-validate-modes script"
-	@echo "#!$(BASH)" > $@
-	@cat validate-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/modes.dtd --noout \"\$$FILE1\"" >>$@
-	@chmod a+x $@
-
-apertium-validate-dictionary: Makefile.am validate-header.sh
-	@echo "Creating apertium-validate-dictionary script"
-	@echo "#!$(BASH)" > $@
-	@cat validate-header.sh >> $@
-	@echo "# xsd is a non-final command, so just treated as a warning when compiling:" >> $@
-	@echo "$(XMLLINT) --schema $(prefix)/share/lttoolbox/dix.xsd --noout \"\$$FILE1\"" >> $@
-	@echo "$(XMLLINT) --dtdvalid $(prefix)/share/lttoolbox/dix.dtd --noout \"\$$FILE1\"" >> $@
-	@chmod a+x $@
-
-apertium-gen-deformat: Makefile.am deformat-header.sh
-	@echo "Creating apertium-gen-deformat script"
-	@echo "#!$(BASH)" > $@
-	@cat deformat-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/format.dtd --noout \$$FILE1 && \\" >> $@
-	@if [ `basename $(XSLTPROC)` == xsltproc ]; \
-	  then echo "$(XSLTPROC) --stringparam mode \$$MODE $(apertiumdir)/deformat.xsl \$$FILE1 >/tmp/\$$\$$.deformat.l && \\"; \
-          else echo "$(XSLTPROC) $(apertiumdir)/deformat.xsl \$$FILE1 \"\\\$$mode=\$$MODE\" >/tmp/\$$\$$.deformat.l && \\"; \
-          fi >> $@
-	@echo "$(FLEX) \$$FLEXOPTS -o/tmp/\$$\$$.lex.cc /tmp/\$$\$$.deformat.l && \\" >> $@
-	@echo "$(CXX) -DGENFORMAT $(CXXFLAGS) -w $(APERTIUM_CFLAGS) -I $(apertiuminclude) -o \$$FILE2 /tmp/\$$\$$.lex.cc $(APERTIUM_LIBS) 2>/dev/null && \\" >> $@
-	@echo "rm /tmp/\$$\$$.deformat.l /tmp/\$$\$$.lex.cc" >> $@
-	@chmod a+x $@
-
-apertium-gen-reformat: Makefile.am gen-header.sh
-	@echo "Creating apertium-gen-reformat script"
-	@echo "#!$(BASH)" > $@
-	@cat gen-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/format.dtd --noout \$$FILE1 && \\" >> $@
-	@echo "$(XSLTPROC) $(apertiumdir)/reformat.xsl \$$FILE1 >/tmp/\$$\$$.reformat.l && \\" >> $@
-	@echo "$(FLEX) \$$FLEXOPTS -o/tmp/\$$\$$.lex.cc /tmp/\$$\$$.reformat.l && \\" >> $@
-	@echo "$(CXX) -DGENFORMAT $(CXXFLAGS) -w $(APERTIUM_CFLAGS) -I $(apertiuminclude) -o \$$FILE2 /tmp/\$$\$$.lex.cc $(APERTIUM_LIBS) 2>/dev/null &&\\" >> $@
-	@echo "rm /tmp/\$$\$$.reformat.l /tmp/\$$\$$.lex.cc" >> $@
-	@chmod a+x $@
-
-apertium-gen-modes: Makefile.am modes-header.sh
-	@echo "Creating apertium-gen-modes script"
-	@echo "#!$(BASH)" > $@
-	@echo "APERTIUMDIR="$(apertiumdir) >> $@
-	@cat modes-header.sh >> $@
-	@echo "$(XMLLINT) --dtdvalid $(apertiumdir)/modes.dtd --noout \$$FILE1 && \\" >> $@
-	@if [ `basename $(XSLTPROC)` == xsltproc ]; \
-	  then echo "$(XSLTPROC) --stringparam prefix $(prefix)/bin --stringparam dataprefix \$$FULLDIRNAME  $(apertiumdir)/modes2bash.xsl \$$FILE1 | awk -f $(apertiumdir)/apertium-createmodes.awk PARAM=\$$FULLDIRNAME"; \
-          else echo "$(XSLTPROC) $(apertiumdir)/modes2bash.xsl \$$FILE1 \\\$$prefix=$(prefix)/bin \\\$$dataprefix=\$$FULLDIRNAME| awk -f $(apertiumdir)/apertium-createmodes.awk PARAM=\$$FULLDIRNAME"; \
-          fi >> $@
-	@chmod a+x $@
-
-apertium-utils-fixlatex: Makefile.am utils-fixlatex-header.sh
-	@echo "Creating apertium-utils-fixlatex script"
-	@echo "#!$(BASH)" > $@
-	@cat utils-fixlatex-header.sh >> $@
-	@chmod a+x $@
-
-apertium: Makefile.am apertium-header.sh
-	@echo "Creating apertium script"
-	@echo "#!$(BASH)" > $@
-	@echo "APERTIUM_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "DEFAULT_DIRECTORY=\"$(prefix)/share/apertium\"" >>$@
-	@cat apertium-header.sh >>$@
-	@chmod a+x $@
-
-apertium-unformat: Makefile.am apertium-unformat-header.sh
-	@echo "Creating apertium-unformat script"
-	@echo "#!$(BASH)" > $@
-	@echo "APERTIUM_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "DEFAULT_DIRECTORY=\"$(prefix)/share/apertium\"" >>$@
-	@cat apertium-unformat-header.sh >>$@
-	@chmod a+x $@
-
-#apertium-translator-lextor: Makefile.am trans-lextor-header.sh
-#	@echo "Creating apertium-translator-lextor script"
-#	@echo "#!$(BASH)" > $@
-#	@echo "APERTIUM_PATH=\"$(prefix)/bin\"" >>$@
-#	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-#	@cat trans-lextor-header.sh >>$@
-#	@chmod a+x $@
-
-#apertium-gen-oldbil: Makefile.am transformdicbil-header.sh
-#	@echo "Creating apertium-gen-oldbil script"
-#	@echo "#!$(BASH)" >$@
-#	@echo "APERTIUM_PATH=\"$(prefix)/bin\"" >>$@
-#	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-#	@echo "XSLTPROC_OPTIONS=\"\"">>$@
-#	@echo "STYLESHEET=\"$(apertiumdir)/new2old.xsl\"">>$@
-#	@cat transformdicbil-header.sh >>$@
-#	@chmod a+x $@
-
-apertium-gen-lextorbil: Makefile.am transformdic-header.sh
-	@echo "Creating apertium-gen-lextorbil script"
-	@echo "#!$(BASH)" >$@
-	@echo "APERTIUM_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "XSLTPROC_OPTIONS_LR=\"\"">>$@
-	@echo "XSLTPROC_OPTIONS_RL=\"--stringparam r2l yes\"">>$@
-	@echo "STYLESHEET=\"$(apertiumdir)/lexchoicebil.xsl\"">>$@
-	@cat transformdic-header.sh >>$@
-	@chmod a+x $@
-
-apertium-gen-lextormono: Makefile.am transformdic-header.sh
-	@echo "Creating apertium-gen-lextormono script"
-	@echo "#!$(BASH)" >$@
-	@echo "APERTIUM_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "XSLTPROC_OPTIONS_LR=\"\"">>$@
-	@echo "XSLTPROC_OPTIONS_RL=\"--stringparam r2l yes\"">>$@
-	@echo "STYLESHEET=\"$(apertiumdir)/lexchoice.xsl\"">>$@
-	@cat transformdic-header.sh >>$@
-	@chmod a+x $@
-
-apertium-gen-wlist-lextor: Makefile.am gen-wlist-lextor-header.sh
-	@echo "Creating apertium-gen-wlist-lextor script"
-	@echo "#!$(BASH)" >$@
-	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-	@cat gen-wlist-lextor-header.sh >>$@
-	@chmod a+x $@
-
-apertium-preprocess-corpus-lextor: Makefile.am preprocess-corpus-lextor.sh
-	@echo "Creating apertium-preprocess-corpus-lextor script"
-	@echo "#!$(BASH)" >$@
-	@echo "LTTOOLBOX_PATH=\"$(prefix)/bin\"" >>$@
-	@echo "APERTIUM_PATH=\"$(prefix)/bin\"" >>$@
-	@cat preprocess-corpus-lextor.sh >>$@
-	@chmod a+x $@
-
-apertium-gen-stopwords-lextor: Makefile.am gen-stopwords-lextor.sh
-	@echo "Creating apertium-gen-stopwords-lextor script"
-	@echo "#!$(BASH)" >$@
-	@cat gen-stopwords-lextor.sh >>$@
-	@chmod a+x $@
-         ###apertium-lextor-eval.1
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/apertium/apertium-deshtml.1 b/apertium/apertium-deshtml.1
index 029a1a0..88a4e79 100644
--- a/apertium/apertium-deshtml.1
+++ b/apertium/apertium-deshtml.1
@@ -8,6 +8,7 @@ This tool is part of the apertium open-source machine translation
 toolbox: \fBhttp://www.apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-deshtml
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -21,6 +22,11 @@ processing with lt-proc. HTML tags and other format information are  enclosed in
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-deslatex.1 b/apertium/apertium-deslatex.1
index 23ef353..4a9f496 100644
--- a/apertium/apertium-deslatex.1
+++ b/apertium/apertium-deslatex.1
@@ -7,6 +7,7 @@ apertium-deslatex \- This application is part of (
 This tool is part of the apertium open-source machine translation toolbox: \fBhttp://www.apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-deslatex
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -18,6 +19,11 @@ processing with lt-proc. Format information (newlines, tabs, etc.) is enclosed i
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-desodt.1 b/apertium/apertium-desodt.1
index ca2174a..f8bf4d9 100644
--- a/apertium/apertium-desodt.1
+++ b/apertium/apertium-desodt.1
@@ -8,6 +8,7 @@ This tool is part of the apertium open-source machine translation
 toolbox: \fBhttp://www.apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-desodt
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -21,6 +22,11 @@ processing with lt-proc. ODT tags and other format information are  enclosed in
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-despptx.1 b/apertium/apertium-despptx.1
index 624844c..216b181 100644
--- a/apertium/apertium-despptx.1
+++ b/apertium/apertium-despptx.1
@@ -8,6 +8,7 @@ This tool is part of the apertium open-source machine translation
 toolbox: \fBhttp://www.apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-despptx
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -21,6 +22,11 @@ processing with lt-proc. PPTX tags and other format information are  enclosed in
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-desrtf.1 b/apertium/apertium-desrtf-cp1250.1
similarity index 84%
copy from apertium/apertium-desrtf.1
copy to apertium/apertium-desrtf-cp1250.1
index 0504f44..ca6f7f7 100644
--- a/apertium/apertium-desrtf.1
+++ b/apertium/apertium-desrtf-cp1250.1
@@ -5,9 +5,10 @@ apertium-desrtf \- This application is part of (
 )
 .PP
 This tool is part of the apertium open-source machine translation
-toolbox: \fBhttp://apertium.org\fR.
+toolbox: \fBhttp://apertium.sf.net\fR.
 .SH SYNOPSIS
 .B apertium-desrtf
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -20,6 +21,11 @@ processing with lt-proc. RTF commands  and other format information are  enclose
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-desrtf.1 b/apertium/apertium-desrtf-cp1251.1
similarity index 84%
copy from apertium/apertium-desrtf.1
copy to apertium/apertium-desrtf-cp1251.1
index 0504f44..ca6f7f7 100644
--- a/apertium/apertium-desrtf.1
+++ b/apertium/apertium-desrtf-cp1251.1
@@ -5,9 +5,10 @@ apertium-desrtf \- This application is part of (
 )
 .PP
 This tool is part of the apertium open-source machine translation
-toolbox: \fBhttp://apertium.org\fR.
+toolbox: \fBhttp://apertium.sf.net\fR.
 .SH SYNOPSIS
 .B apertium-desrtf
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -20,6 +21,11 @@ processing with lt-proc. RTF commands  and other format information are  enclose
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-desrtf.1 b/apertium/apertium-desrtf.1
index 0504f44..eef5b8a 100644
--- a/apertium/apertium-desrtf.1
+++ b/apertium/apertium-desrtf.1
@@ -8,6 +8,7 @@ This tool is part of the apertium open-source machine translation
 toolbox: \fBhttp://apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-desrtf
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -20,6 +21,11 @@ processing with lt-proc. RTF commands  and other format information are  enclose
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-destxt.1 b/apertium/apertium-destxt.1
index 071d5e8..64e8df5 100644
--- a/apertium/apertium-destxt.1
+++ b/apertium/apertium-destxt.1
@@ -7,6 +7,7 @@ apertium-destxt \- This application is part of (
 This tool is part of the apertium open-source machine translation toolbox: \fBhttp://www.apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-destxt
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -19,6 +20,11 @@ processing with lt-proc. Format information (newlines, tabs, etc.) is enclosed i
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-deswxml.1 b/apertium/apertium-deswxml.1
index 6f3f2fb..6906f86 100644
--- a/apertium/apertium-deswxml.1
+++ b/apertium/apertium-deswxml.1
@@ -8,6 +8,7 @@ This tool is part of the apertium open-source machine translation
 toolbox: \fBhttp://www.apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-deswxml
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -21,6 +22,11 @@ processing with lt-proc. WXML tags and other format information are  enclosed in
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-desxlsx.1 b/apertium/apertium-desxlsx.1
index 77b3321..d73f6a4 100644
--- a/apertium/apertium-desxlsx.1
+++ b/apertium/apertium-desxlsx.1
@@ -8,6 +8,7 @@ This tool is part of the apertium open-source machine translation
 toolbox: \fBhttp://www.apertium.org\fR.
 .SH SYNOPSIS
 .B apertium-desxlsx
+[ -h ] [ -i ] [ -n ]
 [ <input file> [ <output file> ] ]
 .PP
 .SH DESCRIPTION
@@ -21,6 +22,11 @@ processing with lt-proc. XLSX tags and other format information are  enclosed in
 .TP
 .B \-h, \-\-help
 Display this help.
+.B \-i
+Makes the addition of trailing sentence terminator (".") unconditional, often
+leading to duplicates.
+.B \-n
+Suppresses the addition of a trailing sentence terminator.
 .PP
 .SH EXAMPLE
 .TP
diff --git a/apertium/apertium-header.sh b/apertium/apertium-header.sh
index 0adcce4..91975c7 100644
--- a/apertium/apertium-header.sh
+++ b/apertium/apertium-header.sh
@@ -23,9 +23,10 @@ message ()
   echo "USAGE: $(basename $0) [-d datadir] [-f format] [-u] <direction> [in [out]]"
   echo " -d datadir       directory of linguistic data"
   echo " -f format        one of: txt (default), html, rtf, odt, docx, wxml, xlsx, pptx,"
-  echo "                  xpresstag, html-noent, latex, latex-raw";
+  echo "                  xpresstag, html-noent, latex, latex-raw"
   echo " -a               display ambiguity"
   echo " -u               don't display marks '*' for unknown words"
+  echo " -n               don't insert period before possible sentence-ends"
   echo " -m memory.tmx    use a translation memory to recycle translations"
   echo " -o direction     translation direction using the translation memory,"
   echo "                  by default 'direction' is used instead"
@@ -33,7 +34,7 @@ message ()
   echo " direction        typically, LANG1-LANG2, but see modes.xml in language data"
   echo " in               input file (stdin by default)"
   echo " out              output file (stdout by default)"
-  exit 1;
+  exit 1
 }
 
 list_directions ()
@@ -101,7 +102,7 @@ translate_latex()
 
   "$APERTIUM_PATH/apertium-prelatex" "$INFILE" | \
     "$APERTIUM_PATH/apertium-utils-fixlatex" | \
-    "$APERTIUM_PATH/apertium-deslatex" | \
+    "$APERTIUM_PATH/apertium-deslatex" ${FORMAT_OPTIONS} | \
     if [ "$TRANSLATION_MEMORY_FILE" = "" ];
     then cat;
     else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
@@ -137,7 +138,7 @@ translate_latex_raw()
 
   "$APERTIUM_PATH/apertium-prelatex" "$INFILE" | \
     "$APERTIUM_PATH/apertium-utils-fixlatex" | \
-    "$APERTIUM_PATH/apertium-deslatex" | \
+    "$APERTIUM_PATH/apertium-deslatex" ${FORMAT_OPTIONS} | \
     if [ "$TRANSLATION_MEMORY_FILE" = "" ];
     then cat;
     else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
@@ -169,7 +170,7 @@ translate_odt ()
   unzip -q -o -d "$INPUT_TMPDIR" "$INFILE"
   find "$INPUT_TMPDIR" | grep "content\\.xml\\|styles\\.xml" |\
   awk '{printf "<file name=\"" $0 "\"/>"; PART = $0; while(getline < PART) printf(" %s", $0); printf("\n");}' |\
-  "$APERTIUM_PATH/apertium-desodt" |\
+  "$APERTIUM_PATH/apertium-desodt" ${FORMAT_OPTIONS} |\
   if [ "$TRANSLATION_MEMORY_FILE" = "" ];
   then cat;
   else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
@@ -227,7 +228,7 @@ translate_docx ()
   find "$INPUT_TMPDIR" | grep "xml" |\
   grep -v -i \\\(settings\\\|theme\\\|styles\\\|font\\\|rels\\\|docProps\\\) |\
   awk '{printf "<file name=\"" $0 "\"/>"; PART = $0; while(getline < PART) printf(" %s", $0); printf("\n");}' |\
-  "$APERTIUM_PATH/apertium-deswxml" |\
+  "$APERTIUM_PATH/apertium-deswxml" ${FORMAT_OPTIONS} |\
   if [ "$TRANSLATION_MEMORY_FILE" = "" ];
   then cat;
   else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
@@ -284,7 +285,7 @@ translate_pptx ()
   find "$INPUT_TMPDIR" | grep "xml$" |\
   grep "slides\/slide" |\
   awk '{printf "<file name=\"" $0 "\"/>"; PART = $0; while(getline < PART) printf(" %s", $0); printf("\n");}' |\
-  "$APERTIUM_PATH/apertium-despptx" |\
+  "$APERTIUM_PATH/apertium-despptx" ${FORMAT_OPTIONS} |\
   if [ "$TRANSLATION_MEMORY_FILE" = "" ];
   then cat;
   else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
@@ -328,7 +329,7 @@ translate_xlsx ()
   unzip -q -o -d "$INPUT_TMPDIR" "$INFILE"
   find "$INPUT_TMPDIR" | grep "sharedStrings.xml" |\
   awk '{printf "<file name=\"" $0 "\"/>"; PART = $0; while(getline < PART) printf(" %s", $0); printf("\n");}' |\
-  "$APERTIUM_PATH/apertium-desxlsx" |\
+  "$APERTIUM_PATH/apertium-desxlsx" ${FORMAT_OPTIONS} |\
   if [ "$TRANSLATION_MEMORY_FILE" = "" ];
   then cat;
   else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
@@ -356,7 +357,7 @@ translate_xlsx ()
 
 translate_htmlnoent ()
 {
-  "$APERTIUM_PATH/apertium-deshtml" "$INFILE" | \
+  "$APERTIUM_PATH/apertium-deshtml" ${FORMAT_OPTIONS} "$INFILE" | \
     if [ "$TRANSLATION_MEMORY_FILE" = "" ]; then
     cat
   else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
@@ -381,6 +382,7 @@ translate_htmlnoent ()
 PATH="${APERTIUM_PATH}:${PATH}"
 [[ -z $TMPDIR ]] && TMPDIR=/tmp
 TMCOMPFILE=$(mktemp "$TMPDIR/apertium.XXXXXXXX")
+trap 'rm -Rf "$TMCOMPFILE"' EXIT
 
 # Default values, may be overridden below:
 PAIR=""
@@ -389,6 +391,7 @@ FORMAT="txt"
 DATADIR=$DEFAULT_DIRECTORY
 TRANSLATION_MEMORY_DIRECTION=$PAIR
 LIST_MODES_AND_EXIT=false
+FORMAT_OPTIONS=""
 
 # Skip (but store) non-option arguments that come before options:
 declare -a ARGS_PREOPT
@@ -402,13 +405,14 @@ while [[ $OPTIND -le $# ]]; do
 done
 
 
-while getopts ":uahlf:d:m:o:" opt; do
+while getopts ":uahlf:d:m:o:n" opt; do
   case "$opt" in
     f) FORMAT=$OPTARG ;;
     d) DATADIR=$OPTARG ;;
     m) TRANSLATION_MEMORY_FILE=$OPTARG ;;
     o) TRANSLATION_MEMORY_DIRECTION=$OPTARG ;;
     u) UWORDS="no" ;;
+    n) FORMAT_OPTIONS="-n" ;;
     a) OPTION_TAGGER="-m" ;;
     l) LIST_MODES_AND_EXIT=true ;;
     h) message ;;
@@ -619,26 +623,40 @@ case "$FORMAT" in
   *) # Por defecto asumimos txt
     FORMAT="txt"
     OPTION="-g"
-    ;;	
+    ;;
 esac
 
 if [ -z "$REF" ]
 then
-  REF=$FORMAT
+    REF=$FORMAT
 fi
 
-if [ "$FORMAT" = "none" ]
-then cat "$INFILE";
-else "$APERTIUM_PATH/apertium-des$FORMAT" "$INFILE"; fi| \
-  if [ "$TRANSLATION_MEMORY_FILE" = "" ];
-then cat;
-else "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE";
-fi | if [ ! -x "$DATADIR/modes/$PAIR.mode" ]
-then sh "$DATADIR/modes/$PAIR.mode" "$OPTION" "$OPTION_TAGGER"
-else "$DATADIR/modes/$PAIR.mode" "$OPTION" "$OPTION_TAGGER"
-fi | if [ "$FORMAT" = "none" ]
-then if [ "$REDIR" = "" ]; then cat; else cat > "$SALIDA"; fi
-else if [ "$REDIR" = "" ]; then "$APERTIUM_PATH/apertium-re$FORMAT"; else "$APERTIUM_PATH/apertium-re$FORMAT" > "$SALIDA"; fi
-fi
+set -e -o pipefail
+
+if [ "$FORMAT" = "none" ]; then
+    cat "$INFILE"
+else
+  "$APERTIUM_PATH/apertium-des$FORMAT" ${FORMAT_OPTIONS} "$INFILE"
+fi | if [ "$TRANSLATION_MEMORY_FILE" = "" ];
+     then
+         cat
+     else
+       "$APERTIUM_PATH/lt-tmxproc" "$TMCOMPFILE"
+     fi | if [ ! -x "$DATADIR/modes/$PAIR.mode" ]; then
+              sh "$DATADIR/modes/$PAIR.mode" "$OPTION" "$OPTION_TAGGER"
+          else
+            "$DATADIR/modes/$PAIR.mode" "$OPTION" "$OPTION_TAGGER"
+          fi | if [ "$FORMAT" = "none" ]; then
+                   if [ "$REDIR" = "" ]; then
+                       cat
+                   else
+                     cat > "$SALIDA"
+                   fi
+               else
+                 if [ "$REDIR" = "" ]; then
+                     "$APERTIUM_PATH/apertium-re$FORMAT"
+                 else
+                   "$APERTIUM_PATH/apertium-re$FORMAT" > "$SALIDA"
+                 fi
+               fi
 
-rm -Rf "$TMCOMPFILE"
diff --git a/apertium/apertium-lextor-eval.1 b/apertium/apertium-lextor-eval.1
new file mode 100644
index 0000000..0ed91de
--- /dev/null
+++ b/apertium/apertium-lextor-eval.1
@@ -0,0 +1,62 @@
+.TH apertium-lextor-eval 1 2006-12-12 "" ""
+.SH NAME
+apertium-lextor-eval \- This application is part of
+(
+.B apertium
+)
+.PP
+This tool is part of the apertium machine translation
+architecture: \fBhttp://apertium.org\fR.
+.SH SYNOPSIS
+.B apertium\-lextor\-eval
+.B \-\-reference\fR reftext 
+.B \-\-parameters\fR | \fB\-p\fR model dic left right
+.PP
+.SH DESCRIPTION
+.BR apertium\-lextor\-eval 
+is the application used to evaluate the performance of lexical
+selection models that have been previously estimated with
+\fBapertium\-lextor\fR(1). To achieve this purpose a manually
+disambiguated corpus is used. This corpus is read from the standard
+input and must be in the intermediate format used by apertium.
+.SH OPTIONS
+.TP
+.B \-\-reference | \-r\fR
+.br
+Specifies the reference corpus used for evaluation (one word per line
+with the correct translation sense for those words with more than
+one).
+.TP
+.B \-\-parameters | \-p\fR
+.br
+It allows to specify the following required parameters:
+.TP
+.I model\fR the file containing the model to be used for the lexical selection.
+.TP
+.I dic\fR  the lexical\-selection dictionary in binary format.
+.TP
+.I left\fR left\-side context to take into account (number of words).
+.TP
+.I right\fR right\-side context to take into account (number of words).
+.PP
+.B \-\-help | \-h
+.br
+Shows this help.
+.PP
+.B \-\-version | \-v
+.br
+Shows license information.
+.PP
+.SH SEE ALSO
+.I apertium\-gen\-lextorbil\fR(1),
+.I apertium\-preprocess\-corpus\-lextor\fR(1),
+.I apertium\-gen\-stopwords\-lextor\fR(1),
+.I apertium\-gen\-wlist\-lextor\fR(1),
+.I apertium\-gen\-wlist\-lextor\-translation\fR(1),
+.I apertium\-lextor\-mono\fR(1),
+.I apertium\-lextor\fR(1).
+.SH BUGS
+Lots of...lurking in the dark and waiting for you!
+.SH AUTHOR
+(c) 2005,2006 Universitat d'Alacant / Universidad de Alicante. All rights
+reserved.
diff --git a/apertium/apertium-rertf-cp1250.1 b/apertium/apertium-rertf-cp1250.1
new file mode 100644
index 0000000..34c80da
--- /dev/null
+++ b/apertium/apertium-rertf-cp1250.1
@@ -0,0 +1,34 @@
+.TH apertium-rertf 1 2006-03-21 "" ""
+.SH NAME
+apertium-rertf \- This application is part of (
+.B apertium 
+)
+.PP
+This tool is part of the apertium open-source machine translation
+toolbox: \fBhttp://www.apertium.org\fR.
+.SH SYNOPSIS
+.B apertium-rertf
+[ <input file> [ <output file> ] ]
+.PP
+.SH DESCRIPTION
+.BR apertium-rertf 
+is an RTF format processor. It restores the original RTF formatting
+the text had before being passed through the apertium-desrtf deformatter.
+
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+Display this help.
+.PP
+.SH SEE ALSO
+.I apertium-retxt\fR(1),
+.I apertium-rehtml\fR(1),
+.I lt-proc\fR(1),
+.I apertium\fR(1).
+.SH BUGS
+Lots of...lurking in the dark and waiting for you!
+.SH AUTHOR
+Copyright (c) 2005, 2006 Universitat d'Alacant / Universidad de Alicante.
+This is free software.  You may redistribute copies of it under the terms
+of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
+
diff --git a/apertium/apertium-rertf-cp1251.1 b/apertium/apertium-rertf-cp1251.1
new file mode 100644
index 0000000..34c80da
--- /dev/null
+++ b/apertium/apertium-rertf-cp1251.1
@@ -0,0 +1,34 @@
+.TH apertium-rertf 1 2006-03-21 "" ""
+.SH NAME
+apertium-rertf \- This application is part of (
+.B apertium 
+)
+.PP
+This tool is part of the apertium open-source machine translation
+toolbox: \fBhttp://www.apertium.org\fR.
+.SH SYNOPSIS
+.B apertium-rertf
+[ <input file> [ <output file> ] ]
+.PP
+.SH DESCRIPTION
+.BR apertium-rertf 
+is an RTF format processor. It restores the original RTF formatting
+the text had before being passed through the apertium-desrtf deformatter.
+
+.SH OPTIONS
+.TP
+.B \-h, \-\-help
+Display this help.
+.PP
+.SH SEE ALSO
+.I apertium-retxt\fR(1),
+.I apertium-rehtml\fR(1),
+.I lt-proc\fR(1),
+.I apertium\fR(1).
+.SH BUGS
+Lots of...lurking in the dark and waiting for you!
+.SH AUTHOR
+Copyright (c) 2005, 2006 Universitat d'Alacant / Universidad de Alicante.
+This is free software.  You may redistribute copies of it under the terms
+of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
+
diff --git a/apertium/apertium_config.h.cmake_in b/apertium/apertium_config.h.cmake_in
new file mode 100644
index 0000000..2d14f63
--- /dev/null
+++ b/apertium/apertium_config.h.cmake_in
@@ -0,0 +1,57 @@
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "${PACKAGE_BUGREPORT}"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "${PACKAGE_NAME}"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "${PACKAGE_STRING}"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "${PACKAGE_TARNAME}"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "${PACKAGE_VERSION}"
+
+#define HAVE_DECL_FPUTS_UNLOCKED   ${HAVE_DECL_FPUTS_UNLOCKED}
+#define HAVE_DECL_FGETC_UNLOCKED   ${HAVE_DECL_FGETC_UNLOCKED}
+#define HAVE_DECL_FPUTC_UNLOCKED   ${HAVE_DECL_FPUTC_UNLOCKED}
+#define HAVE_DECL_FWRITE_UNLOCKED  ${HAVE_DECL_FWRITE_UNLOCKED}
+#define HAVE_DECL_FREAD_UNLOCKED   ${HAVE_DECL_FREAD_UNLOCKED}
+#define HAVE_DECL_FGETWC_UNLOCKED  ${HAVE_DECL_FGETWC_UNLOCKED}
+#define HAVE_DECL_FPUTWC_UNLOCKED  ${HAVE_DECL_FPUTWC_UNLOCKED}
+#define HAVE_DECL_FPUTWS_UNLOCKED  ${HAVE_DECL_FPUTWS_UNLOCKED}
+
+#define HAVE_DECL_FPUTS_NOLOCK   ${HAVE_DECL_FPUTS_NOLOCK}
+#define HAVE_DECL_FGETC_NOLOCK   ${HAVE_DECL_FGETC_NOLOCK}
+#define HAVE_DECL_FPUTC_NOLOCK   ${HAVE_DECL_FPUTC_NOLOCK}
+#define HAVE_DECL_FWRITE_NOLOCK  ${HAVE_DECL_FWRITE_NOLOCK}
+#define HAVE_DECL_FREAD_NOLOCK   ${HAVE_DECL_FREAD_NOLOCK}
+#define HAVE_DECL_FGETWC_NOLOCK  ${HAVE_DECL_FGETWC_NOLOCK}
+#define HAVE_DECL_FPUTWC_NOLOCK  ${HAVE_DECL_FPUTWC_NOLOCK}
+#define HAVE_DECL_FPUTWS_NOLOCK  ${HAVE_DECL_FPUTWS_NOLOCK}
+
+#if !defined(HAVE_DECL_FPUTS_UNLOCKED) && defined (HAVE_DECL_FPUTS_NOLOCK)
+#define fputs_unlocked _fputs_nolock
+#endif
+#if !defined(HAVE_DECL_FGETC_UNLOCKED) && defined (HAVE_DECL_FGETC_NOLOCK)
+#define fgetc_unlocked _fgetc_nolock
+#endif
+#if !defined(HAVE_DECL_FPUTC_UNLOCKED) && defined (HAVE_DECL_FPUTC_NOLOCK)
+#define fputc_unlocked _fputc_nolock
+#endif
+#if !defined(HAVE_DECL_FWRITE_UNLOCKED) && defined (HAVE_DECL_FWRITE_NOLOCK)
+#define fwrite_unlocked _fwrite_nolock
+#endif
+#if !defined(HAVE_DECL_FREAD_UNLOCKED) && defined (HAVE_DECL_FREAD_NOLOCK)
+#define fread_unlocked _fread_nolock
+#endif
+#if !defined(HAVE_DECL_FPUTWS_UNLOCKED) && defined (HAVE_DECL_FPUTWS_NOLOCK)
+#define fputws_unlocked _fputws_nolock
+#endif
+#if !defined(HAVE_DECL_FGETWC_UNLOCKED) && defined (HAVE_DECL_FGETWC_NOLOCK)
+#define fgetwc_unlocked _fgetwc_nolock
+#endif
+#if !defined(HAVE_DECL_FPUTWC_UNLOCKED) && defined (HAVE_DECL_FPUTWC_NOLOCK)
+#define fputwc_unlocked _fputwc_nolock
+#endif
diff --git a/apertium/apertium_config.h.in b/apertium/apertium_config.h.in
deleted file mode 100644
index fd93b9c..0000000
--- a/apertium/apertium_config.h.in
+++ /dev/null
@@ -1,140 +0,0 @@
-/* apertium/apertium_config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* Define to 1 if you have the declaration of `fgetc_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FGETC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fgetwc_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FGETWC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fgetws_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FGETWS_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FPUTC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FPUTS_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fputwc_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FPUTWC_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fputws_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FPUTWS_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FREAD_UNLOCKED
-
-/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if
-   you don't. */
-#undef HAVE_DECL_FWRITE_UNLOCKED
-
-/* Define to 1 if you have the declaration of `getopt_long', and to 0 if you
-   don't. */
-#undef HAVE_DECL_GETOPT_LONG
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the `getopt_long' function. */
-#undef HAVE_GETOPT_LONG
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `setlocale' function. */
-#undef HAVE_SETLOCALE
-
-/* Define to 1 if you have the `snprintf' function. */
-#undef HAVE_SNPRINTF
-
-/* Define to 1 if stdbool.h conforms to C99. */
-#undef HAVE_STDBOOL_H
-
-/* Define to 1 if you have the <stddef.h> header file. */
-#undef HAVE_STDDEF_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strcasecmp' function. */
-#undef HAVE_STRCASECMP
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if the system has the type `_Bool'. */
-#undef HAVE__BOOL
-
-/* Define to the sub-directory where libtool stores uninstalled libraries. */
-#undef LT_OBJDIR
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
diff --git a/apertium/apertium_deshtml.cc b/apertium/apertium_deshtml.cc
deleted file mode 100644
index fcd635d..0000000
--- a/apertium/apertium_deshtml.cc
+++ /dev/null
@@ -1,5476 +0,0 @@
-#line 2 "apertium_deshtml.cc"
-
-#line 4 "apertium_deshtml.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][61] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0
-    },
-
-    {
-       11,   12,   13,   14,   13,   12,   12,   15,   16,   12,
-       15,   12,   12,   12,   17,   13,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12
-    },
-
-    {
-       11,   12,   13,   14,   13,   12,   12,   15,   16,   12,
-       15,   12,   12,   12,   17,   13,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-
-       12
-    },
-
-    {
-       11,   18,   18,   18,   18,   18,   18,   18,   18,   19,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18
-    },
-
-    {
-       11,   18,   18,   18,   18,   18,   18,   18,   18,   19,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18
-    },
-
-    {
-       11,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   21,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20
-    },
-
-    {
-       11,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   21,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20
-    },
-
-    {
-       11,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-
-       22,   22,   22,   22,   23,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22
-    },
-
-    {
-       11,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   23,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22
-    },
-
-    {
-       11,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   25,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24
-
-    },
-
-    {
-       11,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   25,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24
-    },
-
-    {
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11
-    },
-
-    {
-       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-
-      -12
-    },
-
-    {
-       11,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13
-    },
-
-    {
-       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14
-    },
-
-    {
-       11,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15
-    },
-
-    {
-       11,  -16,  -16,  -16,  -16,  -16,   26,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27
-    },
-
-    {
-       11,  -17,  -17,  -17,  -17,   28,  -17,  -17,  -17,  -17,
-
-       29,  -17,  -17,  -17,  -17,  -17,   30,   31,   32,   33,
-       34,   33,   33,   33,   35,   36,   33,   33,   37,   33,
-       33,   38,   39,   33,   40,   41,   42,   33,   33,   33,
-       31,   32,   33,   34,   33,   33,   35,   36,   33,   37,
-       33,   33,   38,   39,   33,   40,   41,   42,   33,   33,
-       33
-    },
-
-    {
-       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18
-    },
-
-    {
-       11,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,   43,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19
-
-    },
-
-    {
-       11,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20
-    },
-
-    {
-       11,  -21,  -21,  -21,  -21,   44,  -21,  -21,  -21,  -21,
-       45,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21
-    },
-
-    {
-       11,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-
-      -22
-    },
-
-    {
-       11,  -23,  -23,  -23,  -23,   46,  -23,  -23,  -23,  -23,
-       47,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23
-    },
-
-    {
-       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24
-    },
-
-    {
-       11,  -25,  -25,  -25,  -25,   48,  -25,  -25,  -25,  -25,
-       49,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25
-    },
-
-    {
-       11,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,   50,   50,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,   51,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,   51,
-      -26
-    },
-
-    {
-       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-
-      -27,  -27,  -27,   52,  -27,  -27,  -27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27,   27,   27,   27,   27,   27,   27,   27,   27,   27,
-       27
-    },
-
-    {
-       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,   53,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54
-    },
-
-    {
-       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,   55,   56,   55,
-       57,   55,   55,   55,   58,   55,   55,   55,   59,   55,
-       55,   60,   61,   55,   55,   62,   63,   55,   55,   55,
-       55,   56,   55,   57,   55,   55,   58,   55,   55,   59,
-       55,   55,   60,   61,   55,   55,   62,   63,   55,   55,
-       55
-
-    },
-
-    {
-       11,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   66,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   66,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   67,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   67,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   68,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   68,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   69,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   70,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   70,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   71,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       71,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   72,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   72,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   73,   64,
-       64,   64,   74,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   73,
-       64,   64,   64,   74,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   75,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   76,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   77,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   78,   64,   64,   64,   64,
-       64,   64,   77,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   78,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       79,   64,   64,   64,   80,   81,   64,   64,   64,   64,
-
-       64,   64,   64,   82,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   79,   64,   64,   80,   81,   64,   64,
-       64,   64,   64,   64,   82,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   83,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   83,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,   84,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43
-    },
-
-    {
-       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,   85,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44
-    },
-
-    {
-       11,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,   86,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-
-      -45,  -45,  -45,  -45,  -45,   86,  -45,  -45,  -45,  -45,
-      -45
-    },
-
-    {
-       11,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,   87,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46
-    },
-
-    {
-       11,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,   88,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-       88,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47
-    },
-
-    {
-       11,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,   89,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48
-    },
-
-    {
-       11,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,   90,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,   90,  -49,  -49,  -49,  -49,
-      -49
-
-    },
-
-    {
-       11,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,   91,   91,   52,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50
-    },
-
-    {
-       11,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,   92,   92,  -51,  -51,  -51,  -51,   92,   92,   92,
-       92,   92,   92,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-       92,   92,   92,   92,   92,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51
-    },
-
-    {
-       11,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-
-      -52
-    },
-
-    {
-       11,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,   93,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53
-    },
-
-    {
-       11,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   95,   94,   94,   94,   94,
-
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   98,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   98,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   99,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   99,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,  100,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,  101,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,  101,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  102,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,  102,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,  103,   96,
-       96,   96,  104,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,  103,
-       96,   96,   96,  104,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,  105,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  106,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-      107,   96,   96,   96,  108,  109,   96,   96,   96,   96,
-       96,   96,   96,  110,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,  107,   96,   96,  108,  109,   96,   96,
-       96,   96,   96,   96,  110,   96,   96,   96,   96,   96,
-
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,  111,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,  111,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,  112,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,  112,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  113,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   76,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,  114,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,  114,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  115,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  116,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-
-    },
-
-    {
-       11,   64,   64,   64,  117,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   76,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,  118,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  118,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  119,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  120,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-      121,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,  121,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,   64,   64,   64,  122,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  120,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  123,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,  123,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,   76,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124
-    },
-
-    {
-       11,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,  125,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,  125,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,  126,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-      126
-    },
-
-    {
-       11,   64,   64,   64,  127,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  128,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-
-    },
-
-    {
-       11,   64,   64,   64,  129,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  128,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,  130,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,  130,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  131,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  128,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,   64,   64,   64,  132,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  120,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84
-    },
-
-    {
-       11,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  133,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85
-    },
-
-    {
-       11,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  134,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  134,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86
-    },
-
-    {
-       11,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  135,
-
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87
-    },
-
-    {
-       11,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  136,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  136,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88
-    },
-
-    {
-       11,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  137,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89
-
-    },
-
-    {
-       11,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  138,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  138,  -90,  -90,  -90,
-      -90
-    },
-
-    {
-       11,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  139,  139,   52,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91
-    },
-
-    {
-       11,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  140,  140,   52,  -92,  -92,  -92,  140,  140,  140,
-      140,  140,  140,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      140,  140,  140,  140,  140,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-
-      -92
-    },
-
-    {
-       11,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93
-    },
-
-    {
-       11,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   95,   94,   94,   94,   94,
-
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94,   94,   94,   94,   94,   94,   94,   94,   94,   94,
-       94
-    },
-
-    {
-       11,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97
-    },
-
-    {
-       11,   96,   96,   96,  141,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  106,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,  142,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,  142,   96,
-       96
-
-    },
-
-    {
-       11,   96,   96,   96,  143,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  144,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,  145,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  106,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,  146,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  147,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96
-    },
-
-    {
-       11,   96,   96,   96,  148,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  147,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  149,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,  149,   96,   96,   96,
-       96
-    },
-
-    {
-       11,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  106,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150
-    },
-
-    {
-       11, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106
-    },
-
-    {
-       11,   96,   96,   96,  151,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,  152,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,  153,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  152,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  154,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,  154,   96,   96,   96,
-       96
-
-    },
-
-    {
-       11,   96,   96,   96,  155,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  152,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,  156,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  147,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,  157,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,  157,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,   76,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158
-    },
-
-    {
-       11,   64,   64,   64,  159,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  116,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  116,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160
-    },
-
-    {
-       11, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-
-      161,  161,  161,  161,  161,   76,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161
-    },
-
-    {
-       11,   64,   64,   64,  162,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  163,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  120,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164
-
-    },
-
-    {
-       11, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,  165,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,  165,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  120,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-
-      166
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  167,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,  167,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,   76,  124,  124,  124,  124,
-
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  168,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,  168,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,  169,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,  169,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-
-      170,  170,  170,  170,  170,  128,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170
-    },
-
-    {
-       11, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128
-    },
-
-    {
-       11,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  128,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171
-
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,  172,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,  172,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  128,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173
-    },
-
-    {
-       11,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  120,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-
-      174
-    },
-
-    {
-       11, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133
-    },
-
-    {
-       11, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134,  175, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134,  175, -134, -134, -134, -134, -134,
-     -134
-    },
-
-    {
-       11, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135
-    },
-
-    {
-       11, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136,  176, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136,  176, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136
-    },
-
-    {
-       11, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137
-    },
-
-    {
-       11, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138,  177,
-
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-      177
-    },
-
-    {
-       11, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139,  178,  178,   52, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139
-
-    },
-
-    {
-       11, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140,  179,  179,   52, -140, -140, -140,  179,  179,  179,
-      179,  179,  179, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-      179,  179,  179,  179,  179, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140
-    },
-
-    {
-       11,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  106,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180
-    },
-
-    {
-       11,   96,   96,   96,  181,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  144,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96
-    },
-
-    {
-       11,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  144,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182
-    },
-
-    {
-       11, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144
-    },
-
-    {
-       11,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  106,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183
-    },
-
-    {
-       11,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  147,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184
-    },
-
-    {
-       11, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147
-    },
-
-    {
-       11,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  147,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  186,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,  186,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-
-    },
-
-    {
-       11,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  106,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150,  150,  150,  150,  150,  150,  150,  150,  150,  150,
-      150
-    },
-
-    {
-       11,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  152,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187
-    },
-
-    {
-       11, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-
-     -152
-    },
-
-    {
-       11,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  152,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,   96,   96,   96,  189,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,  189,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  152,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190
-    },
-
-    {
-       11,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  147,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  192,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,  192,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,   76,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158
-    },
-
-    {
-       11,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  116,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193
-
-    },
-
-    {
-       11,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  116,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,   76,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161
-    },
-
-    {
-       11,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  163,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-
-      194
-    },
-
-    {
-       11, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163
-    },
-
-    {
-       11,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  120,  164,  164,  164,  164,
-
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164
-    },
-
-    {
-       11,   64,   64,   64,  162,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  163,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  120,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166,  166,  166,  166,  166,  166,  166,  166,  166,  166,
-      166
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,  195,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,  195,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,  196,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,  196,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,  197,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,  197,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-
-    },
-
-    {
-       11,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  128,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
-      170
-    },
-
-    {
-       11,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  128,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171,  171,  171,  171,  171,  171,  171,  171,  171,  171,
-      171
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,  198,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,  198,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  128,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173,  173,  173,  173,  173,  173,  173,  173,  173,  173,
-      173
-    },
-
-    {
-       11,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  120,  174,  174,  174,  174,
-
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174,  174,  174,  174,  174,  174,  174,  174,  174,  174,
-      174
-    },
-
-    {
-       11, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175,  199, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175,  199, -175, -175,
-
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175
-    },
-
-    {
-       11, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176,  200, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176,  200, -176, -176, -176, -176, -176,
-     -176
-    },
-
-    {
-       11, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177,  201, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177,  201,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177
-    },
-
-    {
-       11, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178,  202,  202,   52, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178
-    },
-
-    {
-       11, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179,  203,  203,   52, -179, -179, -179,  203,  203,  203,
-      203,  203,  203, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-      203,  203,  203,  203,  203, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179
-
-    },
-
-    {
-       11,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  106,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180
-    },
-
-    {
-       11,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  144,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204
-    },
-
-    {
-       11,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  144,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-      182,  182,  182,  182,  182,  182,  182,  182,  182,  182,
-
-      182
-    },
-
-    {
-       11,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  106,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183
-    },
-
-    {
-       11,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  147,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184
-    },
-
-    {
-       11,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  147,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,  205,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,  205,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-
-      187,  187,  187,  187,  187,  152,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187,  187,  187,  187,  187,  187,  187,  187,  187,  187,
-      187
-    },
-
-    {
-       11,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  152,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188,  188,  188,  188,  188,  188,  188,  188,  188,  188,
-      188
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,  206,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,  206,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-
-    },
-
-    {
-       11,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  152,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
-      190
-    },
-
-    {
-       11,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  147,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191,  191,  191,  191,  191,  191,  191,  191,  191,  191,
-      191
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  207,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,  207,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  116,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
-      193
-    },
-
-    {
-       11,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  163,  194,  194,  194,  194,
-
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194,  194,  194,  194,  194,  194,  194,  194,  194,  194,
-      194
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-      208,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,  208,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  209,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,  209,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  210,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,  211,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  212,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  116,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199,  213, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199,  213, -199, -199, -199, -199, -199, -199,
-     -199
-
-    },
-
-    {
-       11, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200,  214, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200,  214, -200, -200, -200,
-     -200
-    },
-
-    {
-       11, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201,  215, -201, -201, -201, -201, -201, -201, -201, -201,
-
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201,  215, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201
-    },
-
-    {
-       11, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202,  216,  216,   52, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-
-     -202
-    },
-
-    {
-       11, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203,   52, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203
-    },
-
-    {
-       11,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  144,  204,  204,  204,  204,
-
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204,  204,  204,  204,  204,  204,  204,  204,  204,  204,
-      204
-    },
-
-    {
-       11,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   97,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-      217,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-
-       96,  217,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   96,   96,   96,  218,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,  144,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,  219,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,  219,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  220,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  116,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,   64,   64,   64,  221,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  222,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-
-    },
-
-    {
-       11,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  211,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223
-    },
-
-    {
-       11, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211
-    },
-
-    {
-       11,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  116,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-
-      224
-    },
-
-    {
-       11, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213,  225, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213,  225, -213, -213, -213,
-     -213
-    },
-
-    {
-       11, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-
-     -214, -214, -214, -214, -214,  226, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214,  226, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214
-    },
-
-    {
-       11, -215, -215, -215,  227, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215,  228, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215
-    },
-
-    {
-       11, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216,  229,  229,   52, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216
-    },
-
-    {
-       11,   96,   96,   96,  230,   96,   96,   96,   96,   96,
-
-       96,   96,   96,   96,   96,  144,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96,   96,   96,   96,   96,   96,   96,   96,   96,   96,
-       96
-    },
-
-    {
-       11,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  144,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,  232,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-      232,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-
-    },
-
-    {
-       11,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  116,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233
-    },
-
-    {
-       11,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  222,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234
-    },
-
-    {
-       11, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-
-     -222
-    },
-
-    {
-       11,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  211,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
-      223
-    },
-
-    {
-       11,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  116,  224,  224,  224,  224,
-
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224,  224,  224,  224,  224,  224,  224,  224,  224,  224,
-      224
-    },
-
-    {
-       11, -225, -225, -225,  235, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225,  236, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225
-    },
-
-    {
-       11, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226,  237, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226,  237, -226, -226,
-     -226
-    },
-
-    {
-       11,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-
-      238,  238,  238,  238,  238,  228,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238
-    },
-
-    {
-       11, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228
-    },
-
-    {
-       11, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229,  239,  239,   52, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229
-
-    },
-
-    {
-       11,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  144,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240
-    },
-
-    {
-       11,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  144,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
-      231
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,  241,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  116,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233,  233,  233,  233,  233,  233,  233,  233,  233,  233,
-      233
-    },
-
-    {
-       11,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  222,  234,  234,  234,  234,
-
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
-      234
-    },
-
-    {
-       11,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  236,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242
-    },
-
-    {
-       11, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236
-    },
-
-    {
-       11, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237,  243,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-      243, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237
-    },
-
-    {
-       11,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  228,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238,  238,  238,  238,  238,  238,  238,  238,  238,  238,
-      238
-    },
-
-    {
-       11, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239,   52, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239
-
-    },
-
-    {
-       11,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  144,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
-      240
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-
-      244,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,  244,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  236,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242
-    },
-
-    {
-       11, -243, -243, -243, -243, -243, -243, -243, -243,  245,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,  246,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,  246,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-      247, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-
-     -245,  247, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  248,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,  248,   64,   64,   64,
-       64
-    },
-
-    {
-       11, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247,  249, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247,  249, -247, -247, -247, -247, -247, -247, -247,
-     -247
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,  250,   64,   64,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,  250,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249,  251, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249,  251, -249, -249, -249,
-     -249
-
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,  252,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-      252,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-
-     -251, -251, -251,  253, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251,  253, -251, -251, -251, -251, -251,
-     -251
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-      254,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,  254,   64,   64,   64,   64,   64,   64,   64,   64,
-
-       64
-    },
-
-    {
-       11, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253,  255, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-      255, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253
-    },
-
-    {
-       11,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   65,   64,   64,   64,   64,
-
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,  256,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  256,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-      257, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-
-     -255,  257, -255, -255, -255, -255, -255, -255, -255, -255,
-     -255
-    },
-
-    {
-       11,   64,   64,   64,  258,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,  259,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64
-    },
-
-    {
-       11, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-
-     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-     -257, -257, -257, -257,  260, -257, -257, -257, -257, -257,
-     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-     -257, -257, -257, -257, -257,  260, -257, -257, -257, -257,
-     -257
-    },
-
-    {
-       11,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  259,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261
-    },
-
-    {
-       11, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259
-
-    },
-
-    {
-       11, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260,  262, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260
-    },
-
-    {
-       11,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  259,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261,  261,  261,  261,  261,  261,  261,  261,  261,  261,
-      261
-    },
-
-    {
-       11, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-
-     -262
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 32
-#define YY_END_OF_BUFFER 33
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[263] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       33,   31,   29,   29,   30,   31,   29,    2,    2,    5,
-        5,    8,    8,   11,   11,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   28,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   26,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
-        0,    0,    0,    1,    0,    0,    0,    0,    0,    0,
-        0,    0,   12,    0,   25,    0,   27,    0,    0,    0,
-
-        0,    0,    0,    0,    0,   19,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   22,    0,    0,    0,   17,
-        0,    0,    0,    0,    0,    0,    0,   18,    0,    0,
-        0,    0,    3,    0,    6,    0,    9,    0,    0,    0,
-        0,    0,    0,   23,    0,    0,   20,    0,    0,    0,
-        0,   21,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   24,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       15,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   13,    0,    0,    0,    0,    0,   10,    0,    0,
-        0,    0,    0,    0,    0,    4,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   14,    0,
-        0,    7
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    5,    1,    6,    7,    1,    8,    1,    1,
-        1,    1,    1,    1,    9,    1,   10,   11,   12,   12,
-       12,   12,   12,   12,   11,   11,   11,    1,   13,   14,
-        1,   15,   16,    7,   17,   18,   19,   20,   21,   22,
-       23,   24,   25,   26,   27,   28,   29,   30,   31,   32,
-       26,   33,   34,   35,   36,   37,   26,   38,   39,   26,
-        7,    7,    7,    7,    1,    1,   40,   41,   42,   43,
-
-       44,   22,   45,   46,   47,   26,   48,   49,   50,   51,
-       52,   53,   26,   54,   55,   56,   57,   58,   26,   59,
-       60,   26,    7,    1,    7,    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
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_deshtml.cctmp"
-#line 4 "apertium_deshtml.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/${}]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-map<string, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution["À"] = L"À";
-  S1_substitution["À"] = L"À";
-  S1_substitution["&#xC0;"] = L"À";
-  S1_substitution["&#xc0;"] = L"À";
-  S1_substitution["Á"] = L"Á";
-  S1_substitution["Á"] = L"Á";
-  S1_substitution["&#xC1;"] = L"Á";
-  S1_substitution["&#xc1;"] = L"Á";
-  S1_substitution["Â"] = L"Â";
-  S1_substitution["Â"] = L"Â";
-  S1_substitution["&#xC2;"] = L"Â";
-  S1_substitution["&#xc2;"] = L"Â";
-  S1_substitution["Ã"] = L"Ã";
-  S1_substitution["Ã"] = L"Ã";
-  S1_substitution["&#xC3;"] = L"Ã";
-  S1_substitution["&#xc3;"] = L"Ã";
-  S1_substitution["Ä"] = L"Ä";
-  S1_substitution["Ä"] = L"Ä";
-  S1_substitution["&#xC4;"] = L"Ä";
-  S1_substitution["&#xc4;"] = L"Ä";
-  S1_substitution["Å"] = L"Å";
-  S1_substitution["Å"] = L"Å";
-  S1_substitution["&#xC5;"] = L"Å";
-  S1_substitution["&#xc5;"] = L"Å";
-  S1_substitution["Æ"] = L"Æ";
-  S1_substitution["Æ"] = L"Æ";
-  S1_substitution["&#xC6;"] = L"Æ";
-  S1_substitution["&#xc6;"] = L"Æ";
-  S1_substitution["Ç"] = L"Ç";
-  S1_substitution["Ç"] = L"Ç";
-  S1_substitution["&#xC7;"] = L"Ç";
-  S1_substitution["&#xc7;"] = L"Ç";
-  S1_substitution["È"] = L"È";
-  S1_substitution["È"] = L"È";
-  S1_substitution["&#xC8;"] = L"È";
-  S1_substitution["&#xc8;"] = L"È";
-  S1_substitution["É"] = L"É";
-  S1_substitution["É"] = L"É";
-  S1_substitution["&#xC9;"] = L"É";
-  S1_substitution["&#xc9;"] = L"É";
-  S1_substitution["Ê"] = L"Ê";
-  S1_substitution["Ê"] = L"Ê";
-  S1_substitution["&#xCA;"] = L"Ê";
-  S1_substitution["&#xca;"] = L"Ê";
-  S1_substitution["Ë"] = L"Ë";
-  S1_substitution["Ë"] = L"Ë";
-  S1_substitution["&#xCB;"] = L"Ë";
-  S1_substitution["&#xcb;"] = L"Ë";
-  S1_substitution["Ì"] = L"Ì";
-  S1_substitution["Ì"] = L"Ì";
-  S1_substitution["&#xCC;"] = L"Ì";
-  S1_substitution["&#xcc;"] = L"Ì";
-  S1_substitution["Í"] = L"Í";
-  S1_substitution["Í"] = L"Í";
-  S1_substitution["&#xCD;"] = L"Í";
-  S1_substitution["&#xcd;"] = L"Í";
-  S1_substitution["Î"] = L"Î";
-  S1_substitution["Î"] = L"Î";
-  S1_substitution["&#xCE;"] = L"Î";
-  S1_substitution["&#xce;"] = L"Î";
-  S1_substitution["Ï"] = L"Ï";
-  S1_substitution["Ï"] = L"Ï";
-  S1_substitution["&#xCF;"] = L"Ï";
-  S1_substitution["&#xcf;"] = L"Ï";
-  S1_substitution["Ð"] = L"Ð";
-  S1_substitution["Ð"] = L"Ð";
-  S1_substitution["&#xD0;"] = L"Ð";
-  S1_substitution["&#xd0;"] = L"Ð";
-  S1_substitution["Ñ"] = L"Ñ";
-  S1_substitution["Ñ"] = L"Ñ";
-  S1_substitution["&#xD1;"] = L"Ñ";
-  S1_substitution["&#xd1;"] = L"Ñ";
-  S1_substitution["Ò"] = L"Ò";
-  S1_substitution["Ò"] = L"Ò";
-  S1_substitution["&#xD2;"] = L"Ò";
-  S1_substitution["&#xd2;"] = L"Ò";
-  S1_substitution["Ó"] = L"Ó";
-  S1_substitution["Ó"] = L"Ó";
-  S1_substitution["&#xD3;"] = L"Ó";
-  S1_substitution["&#xd3;"] = L"Ó";
-  S1_substitution["Ô"] = L"Ô";
-  S1_substitution["Ô"] = L"Ô";
-  S1_substitution["&#xD4;"] = L"Ô";
-  S1_substitution["&#xd4;"] = L"Ô";
-  S1_substitution["Õ"] = L"Õ";
-  S1_substitution["Õ"] = L"Õ";
-  S1_substitution["&#xD5;"] = L"Õ";
-  S1_substitution["&#xd5;"] = L"Õ";
-  S1_substitution["Ö"] = L"Ö";
-  S1_substitution["Ö"] = L"Ö";
-  S1_substitution["&#xD6;"] = L"Ö";
-  S1_substitution["&#xd6;"] = L"Ö";
-  S1_substitution["Ø"] = L"Ø";
-  S1_substitution["Ø"] = L"Ø";
-  S1_substitution["&#xD8;"] = L"Ø";
-  S1_substitution["&#xd8;"] = L"Ø";
-  S1_substitution["Ù"] = L"Ù";
-  S1_substitution["Ù"] = L"Ù";
-  S1_substitution["&#xD9;"] = L"Ù";
-  S1_substitution["&#xd9;"] = L"Ù";
-  S1_substitution["Ú"] = L"Ú";
-  S1_substitution["Ú"] = L"Ú";
-  S1_substitution["&#xDA;"] = L"Ú";
-  S1_substitution["&#xda;"] = L"Ú";
-  S1_substitution["Û"] = L"Û";
-  S1_substitution["Û"] = L"Û";
-  S1_substitution["&#xDB;"] = L"Û";
-  S1_substitution["&#xdb;"] = L"Û";
-  S1_substitution["Ü"] = L"Ü";
-  S1_substitution["Ü"] = L"Ü";
-  S1_substitution["&#xDC;"] = L"Ü";
-  S1_substitution["&#xdc;"] = L"Ü";
-  S1_substitution["Ý"] = L"Ý";
-  S1_substitution["Ý"] = L"Ý";
-  S1_substitution["&#xDD;"] = L"Ý";
-  S1_substitution["&#xdd;"] = L"Ý";
-  S1_substitution["Þ"] = L"Þ";
-  S1_substitution["Þ"] = L"Þ";
-  S1_substitution["&#xDE;"] = L"Þ";
-  S1_substitution["&#xde;"] = L"Þ";
-  S1_substitution["ß"] = L"ß";
-  S1_substitution["ß"] = L"ß";
-  S1_substitution["&#xDF;"] = L"ß";
-  S1_substitution["&#xdf;"] = L"ß";
-  S1_substitution["à"] = L"à";
-  S1_substitution["à"] = L"à";
-  S1_substitution["&#xE0;"] = L"à";
-  S1_substitution["&#xe0;"] = L"à";
-  S1_substitution["á"] = L"á";
-  S1_substitution["á"] = L"á";
-  S1_substitution["&#xE1;"] = L"á";
-  S1_substitution["&#xe1;"] = L"á";
-  S1_substitution["â"] = L"â";
-  S1_substitution["â"] = L"â";
-  S1_substitution["&#xE2;"] = L"â";
-  S1_substitution["&#xe2;"] = L"â";
-  S1_substitution["ã"] = L"ã";
-  S1_substitution["ã"] = L"ã";
-  S1_substitution["&#xE3;"] = L"ã";
-  S1_substitution["&#xe3;"] = L"ã";
-  S1_substitution["ä"] = L"ä";
-  S1_substitution["ä"] = L"ä";
-  S1_substitution["&#xE4;"] = L"ä";
-  S1_substitution["&#xe4;"] = L"ä";
-  S1_substitution["å"] = L"å";
-  S1_substitution["å"] = L"å";
-  S1_substitution["&#xE5;"] = L"å";
-  S1_substitution["&#xe5;"] = L"å";
-  S1_substitution["æ"] = L"æ";
-  S1_substitution["æ"] = L"æ";
-  S1_substitution["&#xE6;"] = L"æ";
-  S1_substitution["&#xe6;"] = L"æ";
-  S1_substitution["ç"] = L"ç";
-  S1_substitution["ç"] = L"ç";
-  S1_substitution["&#xE7;"] = L"ç";
-  S1_substitution["&#xe7;"] = L"ç";
-  S1_substitution["è"] = L"è";
-  S1_substitution["è"] = L"è";
-  S1_substitution["&#xE8;"] = L"è";
-  S1_substitution["&#xe8;"] = L"è";
-  S1_substitution["é"] = L"é";
-  S1_substitution["é"] = L"é";
-  S1_substitution["&#xE9;"] = L"é";
-  S1_substitution["&#xe9;"] = L"é";
-  S1_substitution["ê"] = L"ê";
-  S1_substitution["ê"] = L"ê";
-  S1_substitution["&#xEA;"] = L"ê";
-  S1_substitution["&#xea;"] = L"ê";
-  S1_substitution["ë"] = L"ë";
-  S1_substitution["ë"] = L"ë";
-  S1_substitution["&#xEB;"] = L"ë";
-  S1_substitution["&#xeb;"] = L"ë";
-  S1_substitution["ì"] = L"ì";
-  S1_substitution["ì"] = L"ì";
-  S1_substitution["&#xEC;"] = L"ì";
-  S1_substitution["&#xec;"] = L"ì";
-  S1_substitution["í"] = L"í";
-  S1_substitution["í"] = L"í";
-  S1_substitution["&#xED;"] = L"í";
-  S1_substitution["&#xed;"] = L"í";
-  S1_substitution["î"] = L"î";
-  S1_substitution["î"] = L"î";
-  S1_substitution["&#xEE;"] = L"î";
-  S1_substitution["&#xee;"] = L"î";
-  S1_substitution["ï"] = L"ï";
-  S1_substitution["ï"] = L"ï";
-  S1_substitution["&#xEF;"] = L"ï";
-  S1_substitution["&#xef;"] = L"ï";
-  S1_substitution["ð"] = L"ð";
-  S1_substitution["ð"] = L"ð";
-  S1_substitution["&#xF0;"] = L"ð";
-  S1_substitution["&#xf0;"] = L"ð";
-  S1_substitution["ñ"] = L"ñ";
-  S1_substitution["ñ"] = L"ñ";
-  S1_substitution["&#xF1;"] = L"ñ";
-  S1_substitution["&#xf1;"] = L"ñ";
-  S1_substitution["ò"] = L"ò";
-  S1_substitution["ò"] = L"ò";
-  S1_substitution["&#xF2;"] = L"ò";
-  S1_substitution["&#xf2;"] = L"ò";
-  S1_substitution["ó"] = L"ó";
-  S1_substitution["ó"] = L"ó";
-  S1_substitution["&#xF3;"] = L"ó";
-  S1_substitution["&#xf3;"] = L"ó";
-  S1_substitution["ô"] = L"ô";
-  S1_substitution["ô"] = L"ô";
-  S1_substitution["&#xF4;"] = L"ô";
-  S1_substitution["&#xf4;"] = L"ô";
-  S1_substitution["õ"] = L"õ";
-  S1_substitution["õ"] = L"õ";
-  S1_substitution["&#xF5;"] = L"õ";
-  S1_substitution["&#xf5;"] = L"õ";
-  S1_substitution["ö"] = L"ö";
-  S1_substitution["ö"] = L"ö";
-  S1_substitution["&#xF6;"] = L"ö";
-  S1_substitution["&#xf6;"] = L"ö";
-  S1_substitution["ø"] = L"ø";
-  S1_substitution["ø"] = L"ø";
-  S1_substitution["&#xF8;"] = L"ø";
-  S1_substitution["&#xf8;"] = L"ø";
-  S1_substitution["ù"] = L"ù";
-  S1_substitution["ù"] = L"ù";
-  S1_substitution["&#xF9;"] = L"ù";
-  S1_substitution["&#xf9;"] = L"ù";
-  S1_substitution["ú"] = L"ú";
-  S1_substitution["ú"] = L"ú";
-  S1_substitution["&#xFA;"] = L"ú";
-  S1_substitution["&#xfa;"] = L"ú";
-  S1_substitution["û"] = L"û";
-  S1_substitution["û"] = L"û";
-  S1_substitution["&#xFB;"] = L"û";
-  S1_substitution["&#xfb;"] = L"û";
-  S1_substitution["ü"] = L"ü";
-  S1_substitution["ü"] = L"ü";
-  S1_substitution["&#xFC;"] = L"ü";
-  S1_substitution["&#xfc;"] = L"ü";
-  S1_substitution["ý"] = L"ý";
-  S1_substitution["ý"] = L"ý";
-  S1_substitution["&#xFD;"] = L"ý";
-  S1_substitution["&#xfd;"] = L"ý";
-  S1_substitution["þ"] = L"þ";
-  S1_substitution["þ"] = L"þ";
-  S1_substitution["&#xFE;"] = L"þ";
-  S1_substitution["&#xfe;"] = L"þ";
-  S1_substitution["ÿ"] = L"ÿ";
-  S1_substitution["ÿ"] = L"ÿ";
-  S1_substitution["&#xFF;"] = L"ÿ";
-  S1_substitution["&#xff;"] = L"ÿ";
-  S1_substitution["·"] = L"·";
-  S1_substitution["·"] = L"·";
-  S1_substitution["&#xB7;"] = L"·";
-  S1_substitution["&#xb7;"] = L"·";
-  S1_substitution["«"] = L"«";
-  S1_substitution["«"] = L"«";
-  S1_substitution["&#xAB;"] = L"«";
-  S1_substitution["&#xab;"] = L"«";
-  S1_substitution["»"] = L"»";
-  S1_substitution["»"] = L"»";
-  S1_substitution["&#xBB;"] = L"»";
-  S1_substitution["&#xbb;"] = L"»";
-  S1_substitution["’"] = L"'";
-  S1_substitution["Ĉ"] = L"Ĉ";
-  S1_substitution["ĉ"] = L"ĉ";
-  S1_substitution["Ĝ"] = L"Ĝ";
-  S1_substitution["ĝ"] = L"ĝ";
-  S1_substitution["Ĥ"] = L"Ĥ";
-  S1_substitution["ĥ"] = L"ĥ";
-  S1_substitution["Ĵ"] = L"Ĵ";
-  S1_substitution["ĵ"] = L"ĵ";
-  S1_substitution["Ŝ"] = L"Ŝ";
-  S1_substitution["ŝ"] = L"ŝ";
-  S1_substitution["Ŭ"] = L"Ŭ";
-  S1_substitution["ŭ"] = L"ŭ";
-  S1_substitution["'"] = L"'";
-  S1_substitution["'"] = L"'";
-}
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 3812 "apertium_deshtml.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-#define C4 4
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 546 "apertium_deshtml.cctmp"
-
-
-
-#line 4021 "apertium_deshtml.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 551 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 557 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 566 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 570 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 5:
-/* rule 5 can match eol */
-YY_RULE_SETUP
-#line 576 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 6:
-YY_RULE_SETUP
-#line 585 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 589 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 8:
-/* rule 8 can match eol */
-YY_RULE_SETUP
-#line 595 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 9:
-YY_RULE_SETUP
-#line 604 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 10:
-/* rule 10 can match eol */
-YY_RULE_SETUP
-#line 608 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 11:
-/* rule 11 can match eol */
-YY_RULE_SETUP
-#line 614 "apertium_deshtml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 12:
-YY_RULE_SETUP
-#line 620 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 13:
-/* rule 13 can match eol */
-YY_RULE_SETUP
-#line 624 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 14:
-/* rule 14 can match eol */
-YY_RULE_SETUP
-#line 628 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 15:
-/* rule 15 can match eol */
-YY_RULE_SETUP
-#line 632 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 16:
-/* rule 16 can match eol */
-YY_RULE_SETUP
-#line 636 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 17:
-/* rule 17 can match eol */
-YY_RULE_SETUP
-#line 640 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 18:
-/* rule 18 can match eol */
-YY_RULE_SETUP
-#line 644 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 19:
-/* rule 19 can match eol */
-YY_RULE_SETUP
-#line 648 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 20:
-/* rule 20 can match eol */
-YY_RULE_SETUP
-#line 652 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 21:
-/* rule 21 can match eol */
-YY_RULE_SETUP
-#line 656 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 660 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 23:
-/* rule 23 can match eol */
-YY_RULE_SETUP
-#line 664 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 24:
-/* rule 24 can match eol */
-YY_RULE_SETUP
-#line 668 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 25:
-/* rule 25 can match eol */
-YY_RULE_SETUP
-#line 671 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 26:
-/* rule 26 can match eol */
-YY_RULE_SETUP
-#line 674 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 27:
-/* rule 27 can match eol */
-YY_RULE_SETUP
-#line 677 "apertium_deshtml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 681 "apertium_deshtml.cctmp"
-{
-  if(S1_substitution.find(yytext) != S1_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S1_substitution[yytext].c_str(), yyout);
-    offset+=S1_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 29:
-/* rule 29 can match eol */
-YY_RULE_SETUP
-#line 695 "apertium_deshtml.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 703 "apertium_deshtml.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 723 "apertium_deshtml.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-case YY_STATE_EOF(C4):
-#line 748 "apertium_deshtml.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 755 "apertium_deshtml.cctmp"
-ECHO;
-	YY_BREAK
-#line 4410 "apertium_deshtml.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 755 "apertium_deshtml.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  S1_init();
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_deslatex.cc b/apertium/apertium_deslatex.cc
deleted file mode 100644
index 94838e0..0000000
--- a/apertium/apertium_deslatex.cc
+++ /dev/null
@@ -1,67456 +0,0 @@
-#line 2 "apertium_deslatex.cc"
-
-#line 4 "apertium_deslatex.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][65] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0
-    },
-
-    {
-       27,   28,   29,   30,   28,   28,   31,   32,   28,   31,
-       28,   28,   33,   29,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   29
-    },
-
-    {
-       27,   28,   29,   30,   28,   28,   31,   32,   28,   31,
-       28,   28,   33,   29,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   29
-    },
-
-    {
-       27,   34,   34,   34,   34,   34,   34,   34,   35,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34
-    },
-
-    {
-       27,   34,   34,   34,   34,   34,   34,   34,   35,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34
-    },
-
-    {
-       27,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   37,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36
-    },
-
-    {
-       27,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   37,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36
-    },
-
-    {
-       27,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-
-       38,   38,   39,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38
-    },
-
-    {
-       27,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   39,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38,   38,   38,   38,   38,   38,
-       38,   38,   38,   38,   38
-    },
-
-    {
-       27,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   41,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40
-
-    },
-
-    {
-       27,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   41,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40,   40,   40,   40,   40,   40,
-       40,   40,   40,   40,   40
-    },
-
-    {
-       27,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   43,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42
-    },
-
-    {
-       27,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   43,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-
-       42,   42,   42,   42,   42
-    },
-
-    {
-       27,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   45,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44
-    },
-
-    {
-       27,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   45,   44,   44,   44,   44,   44,   44,   44,
-
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       44,   44,   44,   44,   44
-    },
-
-    {
-       27,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   47,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46
-    },
-
-    {
-       27,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   47,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46,   46,   46,   46,   46,   46,
-       46,   46,   46,   46,   46
-    },
-
-    {
-       27,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-
-       48,   48,   49,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48
-    },
-
-    {
-       27,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   49,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48
-    },
-
-    {
-       27,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   51,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50
-
-    },
-
-    {
-       27,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   51,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50
-    },
-
-    {
-       27,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   53,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52
-    },
-
-    {
-       27,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   53,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-       52,   52,   52,   52,   52,   52,   52,   52,   52,   52,
-
-       52,   52,   52,   52,   52
-    },
-
-    {
-       27,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   55,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54
-    },
-
-    {
-       27,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   55,   54,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54
-    },
-
-    {
-       27,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   57,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56
-    },
-
-    {
-       27,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   57,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56,   56,   56,   56,   56,   56,
-       56,   56,   56,   56,   56
-    },
-
-    {
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27
-    },
-
-    {
-       27,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28
-    },
-
-    {
-       27,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29
-
-    },
-
-    {
-       27,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30
-    },
-
-    {
-       27,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31
-    },
-
-    {
-       27,  -32,  -32,  -32,  -32,   58,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,  -32,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-
-       59,   59,   59,   59,  -32
-    },
-
-    {
-       27,  -33,  -33,  -33,   60,  -33,  -33,  -33,  -33,   61,
-      -33,  -33,  -33,  -33,   62,   63,   64,   62,   65,   66,
-       62,   62,   67,   62,   62,   62,   68,   62,   62,   69,
-       62,   70,   71,   72,   62,   73,   62,   62,   62,  -33,
-       62,   63,   64,   62,   65,   66,   62,   62,   67,   62,
-       62,   68,   62,   62,   69,   62,   70,   71,   72,   62,
-       73,   62,   62,   62,  -33
-    },
-
-    {
-       27,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34
-    },
-
-    {
-       27,  -35,  -35,  -35,  -35,  -35,  -35,  -35,   74,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35
-    },
-
-    {
-       27,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36
-    },
-
-    {
-       27,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,   75,
-
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37
-    },
-
-    {
-       27,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38
-    },
-
-    {
-       27,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,   76,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39
-
-    },
-
-    {
-       27,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40
-    },
-
-    {
-       27,  -41,  -41,  -41,   77,  -41,  -41,  -41,  -41,   78,
-      -41,  -41,  -41,  -41,  -41,  -41,   79,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-
-      -41,  -41,  -41,  -41,  -41,   80,  -41,  -41,  -41,  -41,
-      -41,  -41,   79,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-       80,  -41,  -41,  -41,  -41
-    },
-
-    {
-       27,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-
-      -42,  -42,  -42,  -42,  -42
-    },
-
-    {
-       27,  -43,  -43,  -43,   81,  -43,  -43,  -43,  -43,   82,
-      -43,  -43,  -43,  -43,  -43,  -43,   83,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,   84,  -43,  -43,  -43,  -43,
-      -43,  -43,   83,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-       84,  -43,  -43,  -43,  -43
-    },
-
-    {
-       27,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44
-    },
-
-    {
-       27,  -45,  -45,  -45,   85,  -45,  -45,  -45,  -45,   86,
-      -45,  -45,  -45,  -45,  -45,   87,   88,  -45,   89,   90,
-      -45,  -45,   91,  -45,  -45,  -45,   92,  -45,  -45,   93,
-      -45,   94,   95,   96,  -45,   97,  -45,  -45,  -45,  -45,
-      -45,   87,   88,  -45,   89,   90,  -45,  -45,   91,  -45,
-
-      -45,   92,  -45,  -45,   93,  -45,   94,   95,   96,  -45,
-       97,  -45,  -45,  -45,  -45
-    },
-
-    {
-       27,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46
-    },
-
-    {
-       27,  -47,  -47,  -47,   98,  -47,  -47,  -47,  -47,   99,
-
-      -47,  -47,  -47,  -47,  -47,  100,  101,  -47,  102,  103,
-      -47,  -47,  104,  -47,  -47,  -47,  105,  -47,  -47,  106,
-      -47,  107,  108,  109,  -47,  110,  -47,  -47,  -47,  -47,
-      -47,  100,  101,  -47,  102,  103,  -47,  -47,  104,  -47,
-      -47,  105,  -47,  -47,  106,  -47,  107,  108,  109,  -47,
-      110,  -47,  -47,  -47,  -47
-    },
-
-    {
-       27,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48
-    },
-
-    {
-       27,  -49,  -49,  -49,  111,  -49,  -49,  -49,  -49,  112,
-      -49,  -49,  -49,  -49,  -49,  113,  114,  -49,  115,  116,
-      -49,  -49,  117,  -49,  -49,  -49,  118,  -49,  -49,  119,
-      -49,  120,  121,  122,  -49,  123,  -49,  -49,  -49,  -49,
-      -49,  113,  114,  -49,  115,  116,  -49,  -49,  117,  -49,
-      -49,  118,  -49,  -49,  119,  -49,  120,  121,  122,  -49,
-      123,  -49,  -49,  -49,  -49
-
-    },
-
-    {
-       27,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50
-    },
-
-    {
-       27,  -51,  -51,  -51,  124,  -51,  -51,  -51,  -51,  125,
-      -51,  -51,  -51,  -51,  -51,  126,  127,  -51,  128,  129,
-      -51,  -51,  130,  -51,  -51,  -51,  131,  -51,  -51,  132,
-
-      -51,  133,  134,  135,  -51,  136,  -51,  -51,  -51,  -51,
-      -51,  126,  127,  -51,  128,  129,  -51,  -51,  130,  -51,
-      -51,  131,  -51,  -51,  132,  -51,  133,  134,  135,  -51,
-      136,  -51,  -51,  -51,  -51
-    },
-
-    {
-       27,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-
-      -52,  -52,  -52,  -52,  -52
-    },
-
-    {
-       27,  -53,  -53,  -53,  137,  -53,  -53,  -53,  -53,  138,
-      -53,  -53,  -53,  -53,  -53,  139,  140,  -53,  141,  142,
-      -53,  -53,  143,  -53,  -53,  -53,  144,  -53,  -53,  145,
-      -53,  146,  147,  148,  -53,  149,  -53,  -53,  -53,  -53,
-      -53,  139,  140,  -53,  141,  142,  -53,  -53,  143,  -53,
-      -53,  144,  -53,  -53,  145,  -53,  146,  147,  148,  -53,
-      149,  -53,  -53,  -53,  -53
-    },
-
-    {
-       27,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54
-    },
-
-    {
-       27,  -55,  -55,  -55,  150,  -55,  -55,  -55,  -55,  151,
-      -55,  -55,  -55,  -55,  -55,  152,  153,  -55,  154,  155,
-      -55,  -55,  156,  -55,  -55,  -55,  157,  -55,  -55,  158,
-      -55,  159,  160,  161,  -55,  162,  -55,  -55,  -55,  -55,
-      -55,  152,  153,  -55,  154,  155,  -55,  -55,  156,  -55,
-
-      -55,  157,  -55,  -55,  158,  -55,  159,  160,  161,  -55,
-      162,  -55,  -55,  -55,  -55
-    },
-
-    {
-       27,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56
-    },
-
-    {
-       27,  -57,  -57,  -57,  163,  -57,  -57,  -57,  -57,  164,
-
-      -57,  -57,  -57,  -57,  -57,  165,  166,  -57,  167,  168,
-      -57,  -57,  169,  -57,  -57,  -57,  170,  -57,  -57,  171,
-      -57,  172,  173,  174,  -57,  175,  -57,  -57,  -57,  -57,
-      -57,  165,  166,  -57,  167,  168,  -57,  -57,  169,  -57,
-      -57,  170,  -57,  -57,  171,  -57,  172,  173,  174,  -57,
-      175,  -57,  -57,  -57,  -57
-    },
-
-    {
-       27,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      176,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  177,  -58,  -58,  -58,
-
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  177,  -58,  -58,  -58
-    },
-
-    {
-       27,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  178,  -59,  -59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,  -59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,  -59
-
-    },
-
-    {
-       27,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  179,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60
-    },
-
-    {
-       27,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  180,  180,  181,  180,  180,  180,
-      180,  180,  182,  180,  180,  180,  180,  180,  180,  183,
-
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  -61,
-      180,  180,  181,  180,  180,  180,  180,  180,  182,  180,
-      180,  180,  180,  180,  183,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  -61
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  186,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      186,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  187,  184,  184,  184,  184,  184,
-
-      184,  188,  189,  184,  184,  184,  184,  184,  190,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      187,  184,  184,  184,  184,  184,  184,  188,  189,  184,
-      184,  184,  184,  190,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  191,  184,  184,  184,
-      192,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  191,  184,  184,  184,  192,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  193,  184,
-      184,  194,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  193,  184,  184,  194,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  195,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  195,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  196,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  197,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      196,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      197,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  198,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      198,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  199,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  199,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  200,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  201,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  200,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  201,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  202,  184,
-      184,  203,  204,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  202,  184,  184,  203,  204,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  205,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  205,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  206,  -74,  -74,  -74,  -74,  -74,  -74,
-
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74
-    },
-
-    {
-       27,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  207,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  207,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75
-    },
-
-    {
-       27,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  208,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      208,  -76,  -76,  -76,  -76
-    },
-
-    {
-       27,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  209,  -77,
-
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77
-    },
-
-    {
-       27,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  210,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-
-      -78,  -78,  210,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78
-    },
-
-    {
-       27,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  211,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  211,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79
-
-    },
-
-    {
-       27,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  212,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  212,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80
-    },
-
-    {
-       27,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  213,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81
-    },
-
-    {
-       27,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  214,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  214,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-
-      -82,  -82,  -82,  -82,  -82
-    },
-
-    {
-       27,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  215,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  215,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83
-    },
-
-    {
-       27,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  216,  -84,
-
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  216,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84
-    },
-
-    {
-       27,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  217,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85
-    },
-
-    {
-       27,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  218,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  218,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86
-    },
-
-    {
-       27,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  219,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      219,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87
-    },
-
-    {
-       27,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  220,  -88,  -88,  -88,  -88,  -88,
-      -88,  221,  222,  -88,  -88,  -88,  -88,  -88,  223,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-
-      220,  -88,  -88,  -88,  -88,  -88,  -88,  221,  222,  -88,
-      -88,  -88,  -88,  223,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88
-    },
-
-    {
-       27,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  224,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  224,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89
-
-    },
-
-    {
-       27,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  225,  -90,
-      -90,  226,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  225,  -90,  -90,  226,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90
-    },
-
-    {
-       27,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-
-      -91,  -91,  -91,  227,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  227,  -91,
-      -91,  -91,  -91,  -91,  -91
-    },
-
-    {
-       27,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  228,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      228,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-
-      -92,  -92,  -92,  -92,  -92
-    },
-
-    {
-       27,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  229,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      229,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93
-    },
-
-    {
-       27,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  230,  -94,
-
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  230,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94
-    },
-
-    {
-       27,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  231,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  232,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  231,  -95,  -95,  -95,  -95,  -95,
-
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  232,
-      -95,  -95,  -95,  -95,  -95
-    },
-
-    {
-       27,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  233,  -96,
-      -96,  234,  235,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  233,  -96,  -96,  234,  235,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96
-    },
-
-    {
-       27,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  236,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  236,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97
-    },
-
-    {
-       27,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  237,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98
-    },
-
-    {
-       27,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  238,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  239,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  238,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  239,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99
-
-    },
-
-    {
-       27, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100,  240, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-      240, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100
-    },
-
-    {
-       27, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101,  241, -101, -101, -101, -101, -101,
-     -101,  242,  243, -101, -101, -101, -101, -101,  244, -101,
-
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-      241, -101, -101, -101, -101, -101, -101,  242,  243, -101,
-     -101, -101, -101,  244, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101
-    },
-
-    {
-       27, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102,  245, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102,  245, -102, -102, -102, -102, -102, -102, -102, -102,
-
-     -102, -102, -102, -102, -102
-    },
-
-    {
-       27, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103,  246, -103,
-     -103,  247, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103,  246, -103, -103,  247, -103, -103, -103,
-     -103, -103, -103, -103, -103
-    },
-
-    {
-       27, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104,  248, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104,  248, -104,
-     -104, -104, -104, -104, -104
-    },
-
-    {
-       27, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105,  249, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-
-      249, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105
-    },
-
-    {
-       27, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106,  250, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-      250, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106
-    },
-
-    {
-       27, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-
-     -107, -107, -107, -107, -107, -107, -107, -107,  251, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107,  251, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107
-    },
-
-    {
-       27, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108,  252, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108,  253, -108, -108, -108, -108, -108,
-
-     -108, -108, -108, -108,  252, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108,  253,
-     -108, -108, -108, -108, -108
-    },
-
-    {
-       27, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109,  254, -109,
-     -109,  255,  256, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109,  254, -109, -109,  255,  256, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109
-
-    },
-
-    {
-       27, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110,  257, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110,  257, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110
-    },
-
-    {
-       27, -111, -111, -111, -111, -111, -111, -111,  258, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111
-    },
-
-    {
-       27, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112,  259, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112,  260, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112,  259, -112, -112, -112, -112, -112, -112, -112,
-     -112,  260, -112, -112, -112, -112, -112, -112, -112, -112,
-
-     -112, -112, -112, -112, -112
-    },
-
-    {
-       27, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113,  261, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-      261, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113
-    },
-
-    {
-       27, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114,  262, -114, -114, -114, -114, -114,
-
-     -114,  263,  264, -114, -114, -114, -114, -114,  265, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-      262, -114, -114, -114, -114, -114, -114,  263,  264, -114,
-     -114, -114, -114,  265, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114
-    },
-
-    {
-       27, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115,  266, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-
-     -115,  266, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115
-    },
-
-    {
-       27, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116,  267, -116,
-     -116,  268, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116,  267, -116, -116,  268, -116, -116, -116,
-     -116, -116, -116, -116, -116
-    },
-
-    {
-       27, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117,  269, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117,  269, -117,
-     -117, -117, -117, -117, -117
-    },
-
-    {
-       27, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118,  270, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-      270, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118
-    },
-
-    {
-       27, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119,  271, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-      271, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119
-
-    },
-
-    {
-       27, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120,  272, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120,  272, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120
-    },
-
-    {
-       27, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121,  273, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-
-     -121, -121, -121, -121,  274, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121,  273, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121,  274,
-     -121, -121, -121, -121, -121
-    },
-
-    {
-       27, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122,  275, -122,
-     -122,  276,  277, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122,  275, -122, -122,  276,  277, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-
-     -122, -122, -122, -122, -122
-    },
-
-    {
-       27, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123,  278, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123,  278, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123
-    },
-
-    {
-       27, -124, -124, -124, -124, -124, -124, -124,  279, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124
-    },
-
-    {
-       27, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125,  280, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125,  281, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125,  280, -125, -125, -125, -125, -125, -125, -125,
-
-     -125,  281, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125
-    },
-
-    {
-       27, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126,  282, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-      282, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126
-    },
-
-    {
-       27, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-
-     -127, -127, -127, -127,  283, -127, -127, -127, -127, -127,
-     -127,  284,  285, -127, -127, -127, -127, -127,  286, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-      283, -127, -127, -127, -127, -127, -127,  284,  285, -127,
-     -127, -127, -127,  286, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127
-    },
-
-    {
-       27, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128,  287, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128,  287, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128
-    },
-
-    {
-       27, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129,  288, -129,
-     -129,  289, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129,  288, -129, -129,  289, -129, -129, -129,
-     -129, -129, -129, -129, -129
-
-    },
-
-    {
-       27, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130,  290, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130,  290, -130,
-     -130, -130, -130, -130, -130
-    },
-
-    {
-       27, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131,  291, -131, -131, -131, -131,
-
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-      291, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131
-    },
-
-    {
-       27, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132,  292, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-      292, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-
-     -132, -132, -132, -132, -132
-    },
-
-    {
-       27, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133,  293, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133,  293, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133
-    },
-
-    {
-       27, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134,  294, -134,
-
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134,  295, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134,  294, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134,  295,
-     -134, -134, -134, -134, -134
-    },
-
-    {
-       27, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135,  296, -135,
-     -135,  297,  298, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135,  296, -135, -135,  297,  298, -135,
-
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135
-    },
-
-    {
-       27, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136,  299, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136,  299, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136
-    },
-
-    {
-       27, -137, -137, -137, -137, -137, -137, -137,  300, -137,
-
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137
-    },
-
-    {
-       27, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138,  301, -138,  302, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-
-     -138, -138,  301, -138,  302, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138
-    },
-
-    {
-       27, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139,  303, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-      303, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139
-
-    },
-
-    {
-       27, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140,  304, -140, -140, -140, -140, -140,
-     -140,  305,  306, -140, -140, -140, -140, -140,  307, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-      304, -140, -140, -140, -140, -140, -140,  305,  306, -140,
-     -140, -140, -140,  307, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140
-    },
-
-    {
-       27, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141,  308, -141, -141, -141,
-
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141,  308, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141
-    },
-
-    {
-       27, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142,  309, -142,
-     -142,  310, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142,  309, -142, -142,  310, -142, -142, -142,
-
-     -142, -142, -142, -142, -142
-    },
-
-    {
-       27, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143,  311, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143,  311, -143,
-     -143, -143, -143, -143, -143
-    },
-
-    {
-       27, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-
-     -144, -144, -144, -144, -144,  312, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-      312, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144
-    },
-
-    {
-       27, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145,  313, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-      313, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145
-    },
-
-    {
-       27, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146,  314, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146,  314, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146
-    },
-
-    {
-       27, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-
-     -147, -147, -147, -147, -147, -147, -147, -147,  315, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147,  316, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147,  315, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147,  316,
-     -147, -147, -147, -147, -147
-    },
-
-    {
-       27, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148,  317, -148,
-     -148,  318,  319, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-
-     -148, -148, -148, -148,  317, -148, -148,  318,  319, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148
-    },
-
-    {
-       27, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149,  320, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149,  320, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149
-
-    },
-
-    {
-       27, -150, -150, -150, -150, -150, -150, -150,  321, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150
-    },
-
-    {
-       27, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151,  322, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-
-     -151, -151, -151,  323, -151, -151, -151, -151, -151, -151,
-     -151, -151,  322, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151,  323, -151,
-     -151, -151, -151, -151, -151
-    },
-
-    {
-       27, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152,  324, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-      324, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-
-     -152, -152, -152, -152, -152
-    },
-
-    {
-       27, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153,  325, -153, -153, -153, -153, -153,
-     -153,  326,  327, -153, -153, -153, -153, -153,  328, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-      325, -153, -153, -153, -153, -153, -153,  326,  327, -153,
-     -153, -153, -153,  328, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153
-    },
-
-    {
-       27, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-
-     -154, -154, -154, -154, -154, -154,  329, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154,  329, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154
-    },
-
-    {
-       27, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155,  330, -155,
-     -155,  331, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-
-     -155, -155, -155,  330, -155, -155,  331, -155, -155, -155,
-     -155, -155, -155, -155, -155
-    },
-
-    {
-       27, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156,  332, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156,  332, -156,
-     -156, -156, -156, -156, -156
-    },
-
-    {
-       27, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157,  333, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-      333, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157
-    },
-
-    {
-       27, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158,  334, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
-      334, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158
-    },
-
-    {
-       27, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159,  335, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159,  335, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159
-
-    },
-
-    {
-       27, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160,  336, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160,  337, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160,  336, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160,  337,
-     -160, -160, -160, -160, -160
-    },
-
-    {
-       27, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161,  338, -161,
-     -161,  339,  340, -161, -161, -161, -161, -161, -161, -161,
-
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161,  338, -161, -161,  339,  340, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161
-    },
-
-    {
-       27, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162,  341, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162,  341, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-
-     -162, -162, -162, -162, -162
-    },
-
-    {
-       27, -163, -163, -163, -163, -163, -163, -163,  342, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163
-    },
-
-    {
-       27, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164,  343, -164,  344, -164,
-
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164,  343, -164,  344, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164
-    },
-
-    {
-       27, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165,  345, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-
-      345, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165
-    },
-
-    {
-       27, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166,  346, -166, -166, -166, -166, -166,
-     -166,  347,  348, -166, -166, -166, -166, -166,  349, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-      346, -166, -166, -166, -166, -166, -166,  347,  348, -166,
-     -166, -166, -166,  349, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166
-    },
-
-    {
-       27, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167,  350, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167,  350, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167
-    },
-
-    {
-       27, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168,  351, -168,
-     -168,  352, -168, -168, -168, -168, -168, -168, -168, -168,
-
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168,  351, -168, -168,  352, -168, -168, -168,
-     -168, -168, -168, -168, -168
-    },
-
-    {
-       27, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169,  353, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169,  353, -169,
-     -169, -169, -169, -169, -169
-
-    },
-
-    {
-       27, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170,  354, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-      354, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170
-    },
-
-    {
-       27, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171,  355, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-      355, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171
-    },
-
-    {
-       27, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172,  356, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172,  356, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-
-     -172, -172, -172, -172, -172
-    },
-
-    {
-       27, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173,  357, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173,  358, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173,  357, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173,  358,
-     -173, -173, -173, -173, -173
-    },
-
-    {
-       27, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174,  359, -174,
-
-     -174,  360,  361, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174,  359, -174, -174,  360,  361, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174
-    },
-
-    {
-       27, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175,  362, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175,  362, -175, -175, -175, -175, -175,
-
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175
-    },
-
-    {
-       27, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-      363,  178, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176
-    },
-
-    {
-       27, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-
-      364, -177, -177, -177,  364,  364,  364,  364,  364,  364,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-      364,  364,  364,  364,  364,  364, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177
-    },
-
-    {
-       27, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178
-    },
-
-    {
-       27, -179, -179, -179, -179, -179, -179, -179,  365, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179
-
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  368,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  368,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  369,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  369,  366,
-
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  370,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      370,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  371,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  371,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  372,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  372,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  373,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      373,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  374,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  374,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  375,  376,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  375,  376,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  377,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  377,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  378,  184,  184,
-      184,  184,  184,  184,  379,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  378,  184,  184,  184,  184,  184,  184,  379,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  380,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  380,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  381,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      381,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  382,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  382,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  383,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  383,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  384,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  384,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  385,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  385,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  386,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  386,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  387,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  387,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  388,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  388,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  389,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  389,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  390,  184,  184,  184,  391,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      390,  184,  184,  184,  391,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  392,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  392,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  393,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  393,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206
-    },
-
-    {
-       27, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207,  394, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207,  394, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207
-    },
-
-    {
-       27, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208,  395, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-
-     -208, -208, -208, -208,  395, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208
-    },
-
-    {
-       27, -209, -209, -209, -209, -209, -209, -209,  396, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209
-
-    },
-
-    {
-       27, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210,  397, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210,  397, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210
-    },
-
-    {
-       27, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211,  398, -211, -211, -211,
-
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211,  398, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211
-    },
-
-    {
-       27, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212,  399, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212,  399, -212, -212, -212,
-
-     -212, -212, -212, -212, -212
-    },
-
-    {
-       27, -213, -213, -213, -213, -213, -213, -213,  400, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213
-    },
-
-    {
-       27, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-
-     -214, -214, -214, -214, -214, -214, -214, -214,  401, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214,  401, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214
-    },
-
-    {
-       27, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215,  402, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-
-     -215,  402, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215
-    },
-
-    {
-       27, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216,  403, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216,  403, -216, -216, -216,
-     -216, -216, -216, -216, -216
-    },
-
-    {
-       27, -217, -217, -217, -217, -217, -217, -217,  404, -217,
-
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217
-    },
-
-    {
-       27, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218,  405, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218,  405, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218
-    },
-
-    {
-       27, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219,  406, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219,  406, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219
-
-    },
-
-    {
-       27, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220,  407,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220,  407, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220
-    },
-
-    {
-       27, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221,  408, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-      408, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221
-    },
-
-    {
-       27, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222,  409, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222,  409, -222,
-
-     -222, -222, -222, -222, -222
-    },
-
-    {
-       27, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223,  410, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223,  410, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223
-    },
-
-    {
-       27, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-
-     -224, -224, -224, -224, -224, -224, -224, -224, -224,  411,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224,  411, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224
-    },
-
-    {
-       27, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225,  412, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-
-     -225, -225, -225,  412, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225
-    },
-
-    {
-       27, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226,  413, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-      413, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226
-    },
-
-    {
-       27, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-
-     -227, -227, -227, -227, -227, -227, -227, -227,  414, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227,  414, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227
-    },
-
-    {
-       27, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228,  415, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-
-     -228, -228, -228, -228, -228, -228, -228, -228,  415, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228
-    },
-
-    {
-       27, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229,  416, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229,  416, -229, -229, -229,
-     -229, -229, -229, -229, -229
-
-    },
-
-    {
-       27, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230,  417,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230,  417, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230
-    },
-
-    {
-       27, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231,  418, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231,  418, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231
-    },
-
-    {
-       27, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232,  419, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232,  419, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-
-     -232, -232, -232, -232, -232
-    },
-
-    {
-       27, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233, -233, -233,  420, -233, -233, -233,
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233,  420, -233, -233, -233
-    },
-
-    {
-       27, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234,  421, -234, -234, -234, -234, -234,
-
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-      421, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234
-    },
-
-    {
-       27, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235,  422, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-
-     -235, -235, -235, -235, -235, -235, -235, -235,  422, -235,
-     -235, -235, -235, -235, -235
-    },
-
-    {
-       27, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236,  423, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236,  423, -236, -236, -236,
-     -236, -236, -236, -236, -236
-    },
-
-    {
-       27, -237, -237, -237, -237, -237, -237, -237,  424, -237,
-
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237, -237
-    },
-
-    {
-       27, -238, -238, -238, -238, -238, -238, -238, -238, -238,
-     -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
-     -238, -238, -238, -238, -238, -238, -238, -238,  425, -238,
-     -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
-
-     -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
-     -238, -238, -238,  425, -238, -238, -238, -238, -238, -238,
-     -238, -238, -238, -238, -238
-    },
-
-    {
-       27, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239,  426, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-      426, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239
-
-    },
-
-    {
-       27, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240,  427, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240,  427, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240
-    },
-
-    {
-       27, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-     -241, -241, -241, -241, -241, -241, -241, -241, -241,  428,
-
-     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-     -241, -241, -241, -241,  428, -241, -241, -241, -241, -241,
-     -241, -241, -241, -241, -241
-    },
-
-    {
-       27, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242,  429, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-      429, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-
-     -242, -242, -242, -242, -242
-    },
-
-    {
-       27, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243,  430, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243,  430, -243,
-     -243, -243, -243, -243, -243
-    },
-
-    {
-       27, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-
-     -244, -244, -244, -244, -244, -244,  431, -244, -244, -244,
-     -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244,  431, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244, -244
-    },
-
-    {
-       27, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245,  432,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-
-     -245, -245, -245, -245,  432, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245
-    },
-
-    {
-       27, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246,  433, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246,  433, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246
-    },
-
-    {
-       27, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-
-     -247, -247, -247, -247,  434, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-      434, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247
-    },
-
-    {
-       27, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248,  435, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-
-     -248, -248, -248, -248,  435, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248
-    },
-
-    {
-       27, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249,  436, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249,  436, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249
-
-    },
-
-    {
-       27, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250,  437, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250,  437, -250, -250, -250,
-     -250, -250, -250, -250, -250
-    },
-
-    {
-       27, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251,  438,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251,  438, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251
-    },
-
-    {
-       27, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252,  439, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-     -252, -252,  439, -252, -252, -252, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-
-     -252, -252, -252, -252, -252
-    },
-
-    {
-       27, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253,  440, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253,  440, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253
-    },
-
-    {
-       27, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-
-     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-     -254, -254, -254, -254, -254, -254,  441, -254, -254, -254,
-     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-     -254, -254, -254, -254, -254, -254, -254, -254, -254, -254,
-     -254,  441, -254, -254, -254
-    },
-
-    {
-       27, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-     -255, -255, -255, -255,  442, -255, -255, -255, -255, -255,
-     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-      442, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-
-     -255, -255, -255, -255, -255, -255, -255, -255, -255, -255,
-     -255, -255, -255, -255, -255
-    },
-
-    {
-       27, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256,  443, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256,  443, -256,
-     -256, -256, -256, -256, -256
-    },
-
-    {
-       27, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-
-     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-     -257,  444, -257, -257, -257, -257, -257, -257, -257, -257,
-     -257, -257, -257, -257, -257, -257, -257, -257, -257, -257,
-     -257, -257, -257, -257, -257, -257,  444, -257, -257, -257,
-     -257, -257, -257, -257, -257
-    },
-
-    {
-       27, -258, -258, -258, -258, -258, -258, -258,  445, -258,
-     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-
-     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-     -258, -258, -258, -258, -258, -258, -258, -258, -258, -258,
-     -258, -258, -258, -258, -258
-    },
-
-    {
-       27, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259,  446, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259,  446, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259
-
-    },
-
-    {
-       27, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260,  447, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-      447, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260
-    },
-
-    {
-       27, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261, -261, -261, -261, -261, -261,  448, -261,
-
-     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261,  448, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261, -261, -261
-    },
-
-    {
-       27, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262,  449,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262, -262, -262, -262, -262, -262, -262,
-     -262, -262, -262, -262,  449, -262, -262, -262, -262, -262,
-
-     -262, -262, -262, -262, -262
-    },
-
-    {
-       27, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263,  450, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-      450, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263
-    },
-
-    {
-       27, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264,  451, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264, -264,  451, -264,
-     -264, -264, -264, -264, -264
-    },
-
-    {
-       27, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265,  452, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-
-     -265,  452, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265
-    },
-
-    {
-       27, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266,  453,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266,  453, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266
-    },
-
-    {
-       27, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-
-     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267, -267, -267, -267,  454, -267,
-     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267,  454, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267
-    },
-
-    {
-       27, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268,  455, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-
-      455, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268
-    },
-
-    {
-       27, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269,  456, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269,  456, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269
-
-    },
-
-    {
-       27, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270,  457, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270,  457, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270
-    },
-
-    {
-       27, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-
-     -271,  458, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271,  458, -271, -271, -271,
-     -271, -271, -271, -271, -271
-    },
-
-    {
-       27, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272, -272, -272, -272, -272,  459,
-     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272,  459, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-
-     -272, -272, -272, -272, -272
-    },
-
-    {
-       27, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273,  460, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273,  460, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273
-    },
-
-    {
-       27, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274,  461, -274, -274, -274, -274,
-
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274,  461, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274
-    },
-
-    {
-       27, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-     -275, -275, -275, -275, -275, -275,  462, -275, -275, -275,
-     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-
-     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-     -275,  462, -275, -275, -275
-    },
-
-    {
-       27, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276,  463, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-      463, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276
-    },
-
-    {
-       27, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-
-     -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277,  464, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277, -277, -277,  464, -277,
-     -277, -277, -277, -277, -277
-    },
-
-    {
-       27, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278,  465, -278, -278, -278, -278, -278, -278, -278, -278,
-
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278,  465, -278, -278, -278,
-     -278, -278, -278, -278, -278
-    },
-
-    {
-       27, -279, -279, -279, -279, -279, -279, -279,  466, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279
-
-    },
-
-    {
-       27, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280,  467, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280,  467, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280
-    },
-
-    {
-       27, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281,  468, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-      468, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281
-    },
-
-    {
-       27, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282,  469, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282,  469, -282, -282, -282, -282, -282, -282,
-
-     -282, -282, -282, -282, -282
-    },
-
-    {
-       27, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283,  470,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283,  470, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283
-    },
-
-    {
-       27, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284,  471, -284, -284, -284, -284, -284,
-
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-      471, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284
-    },
-
-    {
-       27, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285,  472, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-
-     -285, -285, -285, -285, -285, -285, -285, -285,  472, -285,
-     -285, -285, -285, -285, -285
-    },
-
-    {
-       27, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286,  473, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286,  473, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286
-    },
-
-    {
-       27, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287,  474,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287,  474, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287
-    },
-
-    {
-       27, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288,  475, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288,  475, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288
-    },
-
-    {
-       27, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289,  476, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-      476, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289
-
-    },
-
-    {
-       27, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290, -290, -290, -290,  477, -290,
-     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290,  477, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290
-    },
-
-    {
-       27, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291,  478, -291, -291, -291, -291, -291, -291, -291,
-
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291,  478, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291
-    },
-
-    {
-       27, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292,  479, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292,  479, -292, -292, -292,
-
-     -292, -292, -292, -292, -292
-    },
-
-    {
-       27, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293,  480,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293,  480, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293
-    },
-
-    {
-       27, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294, -294,  481, -294, -294, -294,
-
-     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294,  481, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294
-    },
-
-    {
-       27, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295,  482, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295,  482, -295, -295, -295, -295, -295, -295, -295, -295,
-
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295
-    },
-
-    {
-       27, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296,  483, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296,  483, -296, -296, -296
-    },
-
-    {
-       27, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-
-     -297, -297, -297, -297,  484, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-      484, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297
-    },
-
-    {
-       27, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-     -298, -298, -298,  485, -298, -298, -298, -298, -298, -298,
-
-     -298, -298, -298, -298, -298, -298, -298, -298, -298, -298,
-     -298, -298, -298, -298, -298, -298, -298, -298,  485, -298,
-     -298, -298, -298, -298, -298
-    },
-
-    {
-       27, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299,  486, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299,  486, -299, -299, -299,
-     -299, -299, -299, -299, -299
-
-    },
-
-    {
-       27, -300, -300, -300, -300, -300, -300, -300,  487, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300
-    },
-
-    {
-       27, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301,  488, -301,
-
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301,  488, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301
-    },
-
-    {
-       27, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-      489, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302, -302, -302,  489, -302, -302, -302, -302,
-
-     -302, -302, -302, -302, -302
-    },
-
-    {
-       27, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303,  490, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303,  490, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303
-    },
-
-    {
-       27, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-
-     -304, -304, -304, -304, -304, -304, -304, -304, -304,  491,
-     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-     -304, -304, -304, -304,  491, -304, -304, -304, -304, -304,
-     -304, -304, -304, -304, -304
-    },
-
-    {
-       27, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-     -305, -305, -305, -305,  492, -305, -305, -305, -305, -305,
-     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-      492, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-
-     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-     -305, -305, -305, -305, -305
-    },
-
-    {
-       27, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306,  493, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306, -306, -306, -306, -306, -306,  493, -306,
-     -306, -306, -306, -306, -306
-    },
-
-    {
-       27, -307, -307, -307, -307, -307, -307, -307, -307, -307,
-
-     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
-     -307, -307, -307, -307, -307, -307,  494, -307, -307, -307,
-     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
-     -307, -307, -307, -307, -307, -307, -307, -307, -307, -307,
-     -307,  494, -307, -307, -307, -307, -307, -307, -307, -307,
-     -307, -307, -307, -307, -307
-    },
-
-    {
-       27, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-     -308, -308, -308, -308, -308, -308, -308, -308, -308,  495,
-     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-
-     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-     -308, -308, -308, -308,  495, -308, -308, -308, -308, -308,
-     -308, -308, -308, -308, -308
-    },
-
-    {
-       27, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309, -309, -309, -309, -309, -309,  496, -309,
-     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309,  496, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309, -309, -309
-
-    },
-
-    {
-       27, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310,  497, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-      497, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310, -310
-    },
-
-    {
-       27, -311, -311, -311, -311, -311, -311, -311, -311, -311,
-     -311, -311, -311, -311, -311, -311, -311, -311,  498, -311,
-     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
-
-     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
-     -311, -311, -311, -311,  498, -311, -311, -311, -311, -311,
-     -311, -311, -311, -311, -311, -311, -311, -311, -311, -311,
-     -311, -311, -311, -311, -311
-    },
-
-    {
-       27, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312,  499, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312,  499, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-
-     -312, -312, -312, -312, -312
-    },
-
-    {
-       27, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313,  500, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313, -313, -313, -313, -313, -313,  500, -313, -313, -313,
-     -313, -313, -313, -313, -313
-    },
-
-    {
-       27, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314, -314, -314, -314, -314,  501,
-
-     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314,  501, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314
-    },
-
-    {
-       27, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315, -315, -315, -315, -315, -315,  502, -315, -315, -315,
-     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315, -315,  502, -315, -315, -315, -315, -315, -315, -315,
-
-     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315, -315, -315, -315, -315
-    },
-
-    {
-       27, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316, -316, -316, -316,  503, -316, -316, -316, -316,
-     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316,  503, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316, -316, -316, -316
-    },
-
-    {
-       27, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-
-     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317, -317, -317, -317, -317, -317,  504, -317, -317, -317,
-     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317,  504, -317, -317, -317
-    },
-
-    {
-       27, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318,  505, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-
-      505, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318, -318
-    },
-
-    {
-       27, -319, -319, -319, -319, -319, -319, -319, -319, -319,
-     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
-     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
-     -319, -319, -319,  506, -319, -319, -319, -319, -319, -319,
-     -319, -319, -319, -319, -319, -319, -319, -319, -319, -319,
-     -319, -319, -319, -319, -319, -319, -319, -319,  506, -319,
-     -319, -319, -319, -319, -319
-
-    },
-
-    {
-       27, -320, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320,  507, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320, -320, -320, -320, -320, -320,  507, -320, -320, -320,
-     -320, -320, -320, -320, -320
-    },
-
-    {
-       27, -321, -321, -321, -321, -321, -321, -321,  508, -321,
-     -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
-     -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
-
-     -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
-     -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
-     -321, -321, -321, -321, -321, -321, -321, -321, -321, -321,
-     -321, -321, -321, -321, -321
-    },
-
-    {
-       27, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322,  509, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322,  509, -322, -322, -322, -322, -322, -322,
-
-     -322, -322, -322, -322, -322
-    },
-
-    {
-       27, -323, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323,  510, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323, -323, -323, -323, -323, -323, -323,  510, -323, -323,
-     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323, -323, -323, -323, -323
-    },
-
-    {
-       27, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-
-     -324, -324, -324, -324, -324, -324, -324, -324,  511, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324,  511, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324
-    },
-
-    {
-       27, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325,  512,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-
-     -325, -325, -325, -325,  512, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325
-    },
-
-    {
-       27, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326,  513, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-      513, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326
-    },
-
-    {
-       27, -327, -327, -327, -327, -327, -327, -327, -327, -327,
-
-     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
-     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
-     -327, -327, -327,  514, -327, -327, -327, -327, -327, -327,
-     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
-     -327, -327, -327, -327, -327, -327, -327, -327,  514, -327,
-     -327, -327, -327, -327, -327
-    },
-
-    {
-       27, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328, -328, -328, -328, -328, -328,  515, -328, -328, -328,
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328,  515, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328, -328, -328, -328, -328
-    },
-
-    {
-       27, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329,  516,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329,  516, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329
-
-    },
-
-    {
-       27, -330, -330, -330, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330, -330, -330, -330, -330, -330,  517, -330,
-     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330,  517, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330, -330, -330
-    },
-
-    {
-       27, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-     -331, -331, -331, -331,  518, -331, -331, -331, -331, -331,
-     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-
-     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-      518, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-     -331, -331, -331, -331, -331
-    },
-
-    {
-       27, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-     -332, -332, -332, -332, -332, -332, -332, -332,  519, -332,
-     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-     -332, -332, -332, -332,  519, -332, -332, -332, -332, -332,
-     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-
-     -332, -332, -332, -332, -332
-    },
-
-    {
-       27, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333,  520, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333, -333, -333, -333, -333, -333, -333,  520, -333,
-     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333, -333, -333, -333
-    },
-
-    {
-       27, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-
-     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334,  521, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334, -334, -334, -334, -334, -334,  521, -334, -334, -334,
-     -334, -334, -334, -334, -334
-    },
-
-    {
-       27, -335, -335, -335, -335, -335, -335, -335, -335, -335,
-     -335, -335, -335, -335, -335, -335, -335, -335, -335,  522,
-     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
-     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
-     -335, -335, -335, -335, -335,  522, -335, -335, -335, -335,
-
-     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
-     -335, -335, -335, -335, -335
-    },
-
-    {
-       27, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336, -336, -336, -336, -336,  523, -336, -336, -336,
-     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336,  523, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336, -336, -336, -336
-    },
-
-    {
-       27, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-
-     -337, -337, -337, -337, -337,  524, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337,  524, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337
-    },
-
-    {
-       27, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338,  525, -338, -338, -338,
-
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338,  525, -338, -338, -338
-    },
-
-    {
-       27, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339,  526, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-      526, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339
-
-    },
-
-    {
-       27, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340,  527, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340, -340, -340, -340, -340, -340,  527, -340,
-     -340, -340, -340, -340, -340
-    },
-
-    {
-       27, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-
-     -341,  528, -341, -341, -341, -341, -341, -341, -341, -341,
-     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-     -341, -341, -341, -341, -341, -341,  528, -341, -341, -341,
-     -341, -341, -341, -341, -341
-    },
-
-    {
-       27, -342, -342, -342, -342, -342, -342, -342,  529, -342,
-     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
-     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
-     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
-     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
-     -342, -342, -342, -342, -342, -342, -342, -342, -342, -342,
-
-     -342, -342, -342, -342, -342
-    },
-
-    {
-       27, -343, -343, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343, -343, -343, -343, -343, -343,  530, -343,
-     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343,  530, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343, -343, -343
-    },
-
-    {
-       27, -344, -344, -344, -344, -344, -344, -344, -344, -344,
-     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
-
-     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
-      531, -344, -344, -344, -344, -344, -344, -344, -344, -344,
-     -344, -344, -344, -344, -344, -344, -344, -344, -344, -344,
-     -344, -344, -344, -344, -344,  531, -344, -344, -344, -344,
-     -344, -344, -344, -344, -344
-    },
-
-    {
-       27, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345, -345, -345, -345, -345, -345,  532, -345,
-     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-
-     -345, -345, -345,  532, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345, -345, -345
-    },
-
-    {
-       27, -346, -346, -346, -346, -346, -346, -346, -346, -346,
-     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
-     -346, -346, -346, -346, -346, -346, -346, -346, -346,  533,
-     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
-     -346, -346, -346, -346, -346, -346, -346, -346, -346, -346,
-     -346, -346, -346, -346,  533, -346, -346, -346, -346, -346,
-     -346, -346, -346, -346, -346
-    },
-
-    {
-       27, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-
-     -347, -347, -347, -347,  534, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-      534, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347
-    },
-
-    {
-       27, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348,  535, -348, -348, -348, -348, -348, -348,
-
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348,  535, -348,
-     -348, -348, -348, -348, -348
-    },
-
-    {
-       27, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349,  536, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349,  536, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349
-
-    },
-
-    {
-       27, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350,  537,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350,  537, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350
-    },
-
-    {
-       27, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351, -351, -351,  538, -351,
-
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351,  538, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351
-    },
-
-    {
-       27, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352,  539, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-      539, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-
-     -352, -352, -352, -352, -352
-    },
-
-    {
-       27, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353,  540, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353,  540, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353
-    },
-
-    {
-       27, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-
-     -354, -354,  541, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354,  541, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354
-    },
-
-    {
-       27, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355,  542, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-
-     -355, -355, -355, -355, -355, -355,  542, -355, -355, -355,
-     -355, -355, -355, -355, -355
-    },
-
-    {
-       27, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356,  543,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356,  543, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356
-    },
-
-    {
-       27, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-
-     -357, -357, -357, -357, -357, -357,  544, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357,  544, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357
-    },
-
-    {
-       27, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358,  545, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-
-     -358,  545, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358
-    },
-
-    {
-       27, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359,  546, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359,  546, -359, -359, -359
-
-    },
-
-    {
-       27, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360,  547, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-      547, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360
-    },
-
-    {
-       27, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-
-     -361, -361, -361,  548, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361,  548, -361,
-     -361, -361, -361, -361, -361
-    },
-
-    {
-       27, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362,  549, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362,  549, -362, -362, -362,
-
-     -362, -362, -362, -362, -362
-    },
-
-    {
-       27, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-      550,  178, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363
-    },
-
-    {
-       27, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-      551,  178, -364, -364,  551,  551,  551,  551,  551,  551,
-
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-      551,  551,  551,  551,  551,  551, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364
-    },
-
-    {
-       27, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  552,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  552,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  553,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  553,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  554,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  554,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  555,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  555,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  556,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  556,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  557,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  557,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  558,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  558,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  559,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  559,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  560,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  560,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  561,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  561,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  562,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      562,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  563,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      563,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  564,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  564,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  565,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  565,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  566,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  566,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  567,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  567,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  568,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  568,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  569,  570,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  571,  184,  184,  184,  184,  184,  184,
-      569,  570,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  571,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  572,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  573,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  574,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  574,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  575,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  575,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  576,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  576,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  577,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  577,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  578,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  578,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  579,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      579,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  580,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  580,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27, -394, -394, -394, -394, -394, -394, -394, -394, -394,
-     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
-
-     -394, -394, -394, -394, -394, -394,  581, -394, -394, -394,
-     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
-     -394, -394, -394, -394, -394, -394, -394, -394, -394, -394,
-     -394,  581, -394, -394, -394, -394, -394, -394, -394, -394,
-     -394, -394, -394, -394, -394
-    },
-
-    {
-       27, -395, -395, -395, -395, -395, -395, -395, -395, -395,
-     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
-     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
-     -395,  582, -395, -395, -395, -395, -395, -395, -395, -395,
-     -395, -395, -395, -395, -395, -395, -395, -395, -395, -395,
-
-     -395, -395, -395, -395, -395, -395,  582, -395, -395, -395,
-     -395, -395, -395, -395, -395
-    },
-
-    {
-       27, -396, -396, -396, -396, -396, -396, -396, -396, -396,
-     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
-     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
-     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
-     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
-     -396, -396, -396, -396, -396, -396, -396, -396, -396, -396,
-     -396, -396, -396, -396, -396
-    },
-
-    {
-       27, -397, -397, -397, -397, -397, -397, -397, -397, -397,
-
-     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
-     -397, -397, -397, -397, -397, -397, -397,  583, -397, -397,
-     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
-     -397, -397, -397, -397, -397, -397, -397, -397, -397, -397,
-     -397, -397,  583, -397, -397, -397, -397, -397, -397, -397,
-     -397, -397, -397, -397, -397
-    },
-
-    {
-       27, -398, -398, -398, -398, -398, -398, -398, -398, -398,
-     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
-     -398, -398, -398, -398, -398, -398,  584, -398, -398, -398,
-     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
-
-     -398, -398, -398, -398, -398, -398, -398, -398, -398, -398,
-     -398,  584, -398, -398, -398, -398, -398, -398, -398, -398,
-     -398, -398, -398, -398, -398
-    },
-
-    {
-       27, -399, -399, -399, -399, -399, -399, -399, -399, -399,
-     -399, -399, -399, -399, -399,  585, -399, -399, -399, -399,
-     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
-     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
-     -399,  585, -399, -399, -399, -399, -399, -399, -399, -399,
-     -399, -399, -399, -399, -399, -399, -399, -399, -399, -399,
-     -399, -399, -399, -399, -399
-
-    },
-
-    {
-       27, -400, -400, -400, -400, -400, -400, -400, -400, -400,
-     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
-     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
-     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
-     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
-     -400, -400, -400, -400, -400, -400, -400, -400, -400, -400,
-     -400, -400, -400, -400, -400
-    },
-
-    {
-       27, -401, -401, -401, -401, -401, -401, -401, -401, -401,
-     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
-     -401, -401, -401, -401, -401, -401, -401,  586, -401, -401,
-
-     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
-     -401, -401, -401, -401, -401, -401, -401, -401, -401, -401,
-     -401, -401,  586, -401, -401, -401, -401, -401, -401, -401,
-     -401, -401, -401, -401, -401
-    },
-
-    {
-       27, -402, -402, -402, -402, -402, -402, -402, -402, -402,
-     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
-     -402, -402, -402, -402, -402, -402,  587, -402, -402, -402,
-     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
-     -402, -402, -402, -402, -402, -402, -402, -402, -402, -402,
-     -402,  587, -402, -402, -402, -402, -402, -402, -402, -402,
-
-     -402, -402, -402, -402, -402
-    },
-
-    {
-       27, -403, -403, -403, -403, -403, -403, -403, -403, -403,
-     -403, -403, -403, -403, -403,  588, -403, -403, -403, -403,
-     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
-     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
-     -403,  588, -403, -403, -403, -403, -403, -403, -403, -403,
-     -403, -403, -403, -403, -403, -403, -403, -403, -403, -403,
-     -403, -403, -403, -403, -403
-    },
-
-    {
-       27, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404
-    },
-
-    {
-       27, -405, -405, -405, -405, -405, -405, -405, -405, -405,
-     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
-     -405, -405, -405, -405, -405, -405, -405,  589, -405, -405,
-     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
-     -405, -405, -405, -405, -405, -405, -405, -405, -405, -405,
-
-     -405, -405,  589, -405, -405, -405, -405, -405, -405, -405,
-     -405, -405, -405, -405, -405
-    },
-
-    {
-       27, -406, -406, -406, -406, -406, -406, -406, -406, -406,
-     -406, -406, -406, -406, -406, -406,  590, -406, -406, -406,
-     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
-     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
-     -406, -406,  590, -406, -406, -406, -406, -406, -406, -406,
-     -406, -406, -406, -406, -406, -406, -406, -406, -406, -406,
-     -406, -406, -406, -406, -406
-    },
-
-    {
-       27, -407, -407, -407, -407, -407, -407, -407, -407, -407,
-
-     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
-     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
-     -407, -407, -407,  591, -407, -407, -407, -407, -407, -407,
-     -407, -407, -407, -407, -407, -407, -407, -407, -407, -407,
-     -407, -407, -407, -407, -407, -407, -407, -407,  591, -407,
-     -407, -407, -407, -407, -407
-    },
-
-    {
-       27, -408, -408, -408, -408, -408, -408, -408, -408, -408,
-     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
-     -408, -408, -408, -408, -408, -408, -408, -408, -408,  592,
-     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
-
-     -408, -408, -408, -408, -408, -408, -408, -408, -408, -408,
-     -408, -408, -408, -408,  592, -408, -408, -408, -408, -408,
-     -408, -408, -408, -408, -408
-    },
-
-    {
-       27, -409, -409, -409, -409, -409, -409, -409, -409, -409,
-     -409, -409, -409, -409, -409, -409, -409, -409,  593, -409,
-     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
-     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
-     -409, -409, -409, -409,  593, -409, -409, -409, -409, -409,
-     -409, -409, -409, -409, -409, -409, -409, -409, -409, -409,
-     -409, -409, -409, -409, -409
-
-    },
-
-    {
-       27, -410, -410, -410, -410, -410, -410, -410, -410, -410,
-     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
-     -410, -410, -410, -410, -410, -410,  594, -410, -410, -410,
-     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
-     -410, -410, -410, -410, -410, -410, -410, -410, -410, -410,
-     -410,  594, -410, -410, -410, -410, -410, -410, -410, -410,
-     -410, -410, -410, -410, -410
-    },
-
-    {
-       27, -411, -411, -411, -411, -411, -411, -411, -411, -411,
-     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
-     -411,  595, -411, -411, -411, -411, -411, -411, -411, -411,
-
-     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
-     -411, -411, -411, -411, -411, -411, -411,  595, -411, -411,
-     -411, -411, -411, -411, -411, -411, -411, -411, -411, -411,
-     -411, -411, -411, -411, -411
-    },
-
-    {
-       27, -412, -412, -412, -412, -412, -412, -412, -412, -412,
-     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
-     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
-     -412, -412, -412,  596, -412, -412, -412, -412, -412, -412,
-     -412, -412, -412, -412, -412, -412, -412, -412, -412, -412,
-     -412, -412, -412, -412, -412, -412, -412, -412,  596, -412,
-
-     -412, -412, -412, -412, -412
-    },
-
-    {
-       27, -413, -413, -413, -413, -413, -413, -413, -413, -413,
-     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
-     -413, -413, -413, -413, -413, -413,  597, -413, -413, -413,
-     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
-     -413, -413, -413, -413, -413, -413, -413, -413, -413, -413,
-     -413,  597, -413, -413, -413, -413, -413, -413, -413, -413,
-     -413, -413, -413, -413, -413
-    },
-
-    {
-       27, -414, -414, -414, -414, -414, -414, -414, -414, -414,
-     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
-
-     -414, -414, -414, -414, -414, -414,  598, -414, -414, -414,
-     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
-     -414, -414, -414, -414, -414, -414, -414, -414, -414, -414,
-     -414,  598, -414, -414, -414, -414, -414, -414, -414, -414,
-     -414, -414, -414, -414, -414
-    },
-
-    {
-       27, -415, -415, -415, -415, -415, -415, -415, -415, -415,
-     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
-     -415, -415, -415, -415, -415, -415, -415,  599, -415, -415,
-     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
-     -415, -415, -415, -415, -415, -415, -415, -415, -415, -415,
-
-     -415, -415,  599, -415, -415, -415, -415, -415, -415, -415,
-     -415, -415, -415, -415, -415
-    },
-
-    {
-       27, -416, -416, -416, -416, -416, -416, -416, -416, -416,
-     -416, -416, -416, -416,  600,  601, -416, -416, -416, -416,
-     -416, -416, -416, -416, -416, -416, -416, -416, -416, -416,
-     -416, -416, -416,  602, -416, -416, -416, -416, -416, -416,
-      600,  601, -416, -416, -416, -416, -416, -416, -416, -416,
-     -416, -416, -416, -416, -416, -416, -416, -416,  602, -416,
-     -416, -416, -416, -416, -416
-    },
-
-    {
-       27, -417, -417, -417, -417, -417, -417, -417, -417,  603,
-
-     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
-     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
-     -417, -417, -417, -417, -417, -417, -417, -417, -417,  604,
-     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
-     -417, -417, -417, -417, -417, -417, -417, -417, -417, -417,
-     -417, -417, -417, -417, -417
-    },
-
-    {
-       27, -418, -418, -418, -418, -418, -418, -418, -418, -418,
-     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
-     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
-     -418, -418, -418,  605, -418, -418, -418, -418, -418, -418,
-
-     -418, -418, -418, -418, -418, -418, -418, -418, -418, -418,
-     -418, -418, -418, -418, -418, -418, -418, -418,  605, -418,
-     -418, -418, -418, -418, -418
-    },
-
-    {
-       27, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419,  606, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419,  606, -419, -419,
-     -419, -419, -419, -419, -419
-
-    },
-
-    {
-       27, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420,  607, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420, -420, -420, -420, -420, -420,  607, -420,
-     -420, -420, -420, -420, -420
-    },
-
-    {
-       27, -421, -421, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421, -421, -421, -421, -421,  608, -421, -421,
-
-     -421, -421, -421, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421,  608, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421, -421, -421
-    },
-
-    {
-       27, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422,  609, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-      609, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-
-     -422, -422, -422, -422, -422
-    },
-
-    {
-       27, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423,  610, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423,  610, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423
-    },
-
-    {
-       27, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424
-    },
-
-    {
-       27, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425, -425, -425,  611, -425, -425,
-     -425, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-
-     -425, -425,  611, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425
-    },
-
-    {
-       27, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426,  612, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426,  612, -426, -426, -426,
-     -426, -426, -426, -426, -426
-    },
-
-    {
-       27, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-
-     -427, -427, -427, -427, -427, -427,  613, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427,  613, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427
-    },
-
-    {
-       27, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428,  614, -428, -428, -428, -428, -428, -428,
-
-     -428, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428, -428, -428, -428, -428, -428,  614, -428,
-     -428, -428, -428, -428, -428
-    },
-
-    {
-       27, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429,  615,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429,  615, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429
-
-    },
-
-    {
-       27, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430, -430, -430, -430,  616, -430,
-     -430, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430,  616, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430
-    },
-
-    {
-       27, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431, -431,  617, -431, -431, -431,
-
-     -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431,  617, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431
-    },
-
-    {
-       27, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432,  618, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432,  618, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-
-     -432, -432, -432, -432, -432
-    },
-
-    {
-       27, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433,  619, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433,  619, -433,
-     -433, -433, -433, -433, -433
-    },
-
-    {
-       27, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-
-     -434, -434, -434, -434, -434, -434,  620, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434,  620, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434
-    },
-
-    {
-       27, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435,  621, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-
-     -435,  621, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435
-    },
-
-    {
-       27, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436,  622, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436,  622, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436
-    },
-
-    {
-       27, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-
-     -437, -437, -437, -437,  623,  624, -437, -437, -437, -437,
-     -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-     -437, -437, -437,  625, -437, -437, -437, -437, -437, -437,
-      623,  624, -437, -437, -437, -437, -437, -437, -437, -437,
-     -437, -437, -437, -437, -437, -437, -437, -437,  625, -437,
-     -437, -437, -437, -437, -437
-    },
-
-    {
-       27, -438, -438, -438, -438, -438, -438, -438, -438,  626,
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438, -438, -438, -438, -438,  627,
-
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438
-    },
-
-    {
-       27, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439,  628, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439, -439, -439,  628, -439,
-     -439, -439, -439, -439, -439
-
-    },
-
-    {
-       27, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440,  629, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440,  629, -440, -440,
-     -440, -440, -440, -440, -440
-    },
-
-    {
-       27, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-
-     -441, -441, -441,  630, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441, -441, -441,  630, -441,
-     -441, -441, -441, -441, -441
-    },
-
-    {
-       27, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442,  631, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442,  631, -442, -442, -442, -442, -442, -442, -442,
-
-     -442, -442, -442, -442, -442
-    },
-
-    {
-       27, -443, -443, -443, -443, -443, -443, -443, -443, -443,
-     -443, -443, -443, -443, -443, -443, -443, -443, -443, -443,
-     -443, -443, -443, -443, -443,  632, -443, -443, -443, -443,
-     -443, -443, -443, -443, -443, -443, -443, -443, -443, -443,
-     -443, -443, -443, -443, -443, -443, -443, -443, -443, -443,
-      632, -443, -443, -443, -443, -443, -443, -443, -443, -443,
-     -443, -443, -443, -443, -443
-    },
-
-    {
-       27, -444, -444, -444, -444, -444, -444, -444, -444, -444,
-     -444, -444, -444, -444, -444,  633, -444, -444, -444, -444,
-
-     -444, -444, -444, -444, -444, -444, -444, -444, -444, -444,
-     -444, -444, -444, -444, -444, -444, -444, -444, -444, -444,
-     -444,  633, -444, -444, -444, -444, -444, -444, -444, -444,
-     -444, -444, -444, -444, -444, -444, -444, -444, -444, -444,
-     -444, -444, -444, -444, -444
-    },
-
-    {
-       27, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445
-    },
-
-    {
-       27, -446, -446, -446, -446, -446, -446, -446, -446, -446,
-     -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
-     -446, -446, -446, -446, -446, -446, -446,  634, -446, -446,
-     -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
-     -446, -446, -446, -446, -446, -446, -446, -446, -446, -446,
-     -446, -446,  634, -446, -446, -446, -446, -446, -446, -446,
-     -446, -446, -446, -446, -446
-    },
-
-    {
-       27, -447, -447, -447, -447, -447, -447, -447, -447, -447,
-
-     -447, -447, -447, -447, -447, -447, -447, -447, -447, -447,
-     -447, -447, -447, -447, -447, -447, -447, -447, -447, -447,
-     -447, -447, -447,  635, -447, -447, -447, -447, -447, -447,
-     -447, -447, -447, -447, -447, -447, -447, -447, -447, -447,
-     -447, -447, -447, -447, -447, -447, -447, -447,  635, -447,
-     -447, -447, -447, -447, -447
-    },
-
-    {
-       27, -448, -448, -448, -448, -448, -448, -448, -448, -448,
-     -448, -448, -448, -448, -448, -448,  636, -448, -448, -448,
-     -448, -448, -448, -448, -448, -448, -448, -448, -448, -448,
-     -448, -448, -448, -448, -448, -448, -448, -448, -448, -448,
-
-     -448, -448,  636, -448, -448, -448, -448, -448, -448, -448,
-     -448, -448, -448, -448, -448, -448, -448, -448, -448, -448,
-     -448, -448, -448, -448, -448
-    },
-
-    {
-       27, -449, -449, -449, -449, -449, -449, -449, -449, -449,
-     -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
-     -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
-     -449, -449, -449,  637, -449, -449, -449, -449, -449, -449,
-     -449, -449, -449, -449, -449, -449, -449, -449, -449, -449,
-     -449, -449, -449, -449, -449, -449, -449, -449,  637, -449,
-     -449, -449, -449, -449, -449
-
-    },
-
-    {
-       27, -450, -450, -450, -450, -450, -450, -450, -450, -450,
-     -450, -450, -450, -450, -450, -450, -450, -450, -450, -450,
-     -450, -450, -450, -450, -450, -450, -450, -450, -450,  638,
-     -450, -450, -450, -450, -450, -450, -450, -450, -450, -450,
-     -450, -450, -450, -450, -450, -450, -450, -450, -450, -450,
-     -450, -450, -450, -450,  638, -450, -450, -450, -450, -450,
-     -450, -450, -450, -450, -450
-    },
-
-    {
-       27, -451, -451, -451, -451, -451, -451, -451, -451, -451,
-     -451, -451, -451, -451, -451, -451, -451, -451,  639, -451,
-     -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
-
-     -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
-     -451, -451, -451, -451,  639, -451, -451, -451, -451, -451,
-     -451, -451, -451, -451, -451, -451, -451, -451, -451, -451,
-     -451, -451, -451, -451, -451
-    },
-
-    {
-       27, -452, -452, -452, -452, -452, -452, -452, -452, -452,
-     -452, -452, -452, -452, -452, -452, -452, -452, -452, -452,
-     -452, -452, -452, -452, -452, -452,  640, -452, -452, -452,
-     -452, -452, -452, -452, -452, -452, -452, -452, -452, -452,
-     -452, -452, -452, -452, -452, -452, -452, -452, -452, -452,
-     -452,  640, -452, -452, -452, -452, -452, -452, -452, -452,
-
-     -452, -452, -452, -452, -452
-    },
-
-    {
-       27, -453, -453, -453, -453, -453, -453, -453, -453, -453,
-     -453, -453, -453, -453, -453, -453, -453, -453, -453, -453,
-     -453,  641, -453, -453, -453, -453, -453, -453, -453, -453,
-     -453, -453, -453, -453, -453, -453, -453, -453, -453, -453,
-     -453, -453, -453, -453, -453, -453, -453,  641, -453, -453,
-     -453, -453, -453, -453, -453, -453, -453, -453, -453, -453,
-     -453, -453, -453, -453, -453
-    },
-
-    {
-       27, -454, -454, -454, -454, -454, -454, -454, -454, -454,
-     -454, -454, -454, -454, -454, -454, -454, -454, -454, -454,
-
-     -454, -454, -454, -454, -454, -454, -454, -454, -454, -454,
-     -454, -454, -454,  642, -454, -454, -454, -454, -454, -454,
-     -454, -454, -454, -454, -454, -454, -454, -454, -454, -454,
-     -454, -454, -454, -454, -454, -454, -454, -454,  642, -454,
-     -454, -454, -454, -454, -454
-    },
-
-    {
-       27, -455, -455, -455, -455, -455, -455, -455, -455, -455,
-     -455, -455, -455, -455, -455, -455, -455, -455, -455, -455,
-     -455, -455, -455, -455, -455, -455,  643, -455, -455, -455,
-     -455, -455, -455, -455, -455, -455, -455, -455, -455, -455,
-     -455, -455, -455, -455, -455, -455, -455, -455, -455, -455,
-
-     -455,  643, -455, -455, -455, -455, -455, -455, -455, -455,
-     -455, -455, -455, -455, -455
-    },
-
-    {
-       27, -456, -456, -456, -456, -456, -456, -456, -456, -456,
-     -456, -456, -456, -456, -456, -456, -456, -456, -456, -456,
-     -456, -456, -456, -456, -456, -456,  644, -456, -456, -456,
-     -456, -456, -456, -456, -456, -456, -456, -456, -456, -456,
-     -456, -456, -456, -456, -456, -456, -456, -456, -456, -456,
-     -456,  644, -456, -456, -456, -456, -456, -456, -456, -456,
-     -456, -456, -456, -456, -456
-    },
-
-    {
-       27, -457, -457, -457, -457, -457, -457, -457, -457, -457,
-
-     -457, -457, -457, -457, -457, -457, -457, -457, -457, -457,
-     -457, -457, -457, -457, -457, -457, -457,  645, -457, -457,
-     -457, -457, -457, -457, -457, -457, -457, -457, -457, -457,
-     -457, -457, -457, -457, -457, -457, -457, -457, -457, -457,
-     -457, -457,  645, -457, -457, -457, -457, -457, -457, -457,
-     -457, -457, -457, -457, -457
-    },
-
-    {
-       27, -458, -458, -458, -458, -458, -458, -458, -458, -458,
-     -458, -458, -458, -458,  646,  647, -458, -458, -458, -458,
-     -458, -458, -458, -458, -458, -458, -458, -458, -458, -458,
-     -458, -458, -458,  648, -458, -458, -458, -458, -458, -458,
-
-      646,  647, -458, -458, -458, -458, -458, -458, -458, -458,
-     -458, -458, -458, -458, -458, -458, -458, -458,  648, -458,
-     -458, -458, -458, -458, -458
-    },
-
-    {
-       27, -459, -459, -459, -459, -459, -459, -459, -459,  649,
-     -459, -459, -459, -459, -459, -459, -459, -459, -459, -459,
-     -459, -459, -459, -459, -459, -459, -459, -459, -459, -459,
-     -459, -459, -459, -459, -459, -459, -459, -459, -459,  650,
-     -459, -459, -459, -459, -459, -459, -459, -459, -459, -459,
-     -459, -459, -459, -459, -459, -459, -459, -459, -459, -459,
-     -459, -459, -459, -459, -459
-
-    },
-
-    {
-       27, -460, -460, -460, -460, -460, -460, -460, -460, -460,
-     -460, -460, -460, -460, -460, -460, -460, -460, -460, -460,
-     -460, -460, -460, -460, -460, -460, -460, -460, -460, -460,
-     -460, -460, -460,  651, -460, -460, -460, -460, -460, -460,
-     -460, -460, -460, -460, -460, -460, -460, -460, -460, -460,
-     -460, -460, -460, -460, -460, -460, -460, -460,  651, -460,
-     -460, -460, -460, -460, -460
-    },
-
-    {
-       27, -461, -461, -461, -461, -461, -461, -461, -461, -461,
-     -461, -461, -461, -461, -461, -461, -461, -461, -461, -461,
-     -461, -461, -461, -461, -461, -461, -461, -461, -461, -461,
-
-     -461, -461,  652, -461, -461, -461, -461, -461, -461, -461,
-     -461, -461, -461, -461, -461, -461, -461, -461, -461, -461,
-     -461, -461, -461, -461, -461, -461, -461,  652, -461, -461,
-     -461, -461, -461, -461, -461
-    },
-
-    {
-       27, -462, -462, -462, -462, -462, -462, -462, -462, -462,
-     -462, -462, -462, -462, -462, -462, -462, -462, -462, -462,
-     -462, -462, -462, -462, -462, -462, -462, -462, -462, -462,
-     -462, -462, -462,  653, -462, -462, -462, -462, -462, -462,
-     -462, -462, -462, -462, -462, -462, -462, -462, -462, -462,
-     -462, -462, -462, -462, -462, -462, -462, -462,  653, -462,
-
-     -462, -462, -462, -462, -462
-    },
-
-    {
-       27, -463, -463, -463, -463, -463, -463, -463, -463, -463,
-     -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
-     -463, -463, -463, -463, -463, -463, -463,  654, -463, -463,
-     -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
-     -463, -463, -463, -463, -463, -463, -463, -463, -463, -463,
-     -463, -463,  654, -463, -463, -463, -463, -463, -463, -463,
-     -463, -463, -463, -463, -463
-    },
-
-    {
-       27, -464, -464, -464, -464, -464, -464, -464, -464, -464,
-     -464, -464, -464, -464, -464, -464, -464, -464, -464, -464,
-
-     -464, -464, -464, -464, -464,  655, -464, -464, -464, -464,
-     -464, -464, -464, -464, -464, -464, -464, -464, -464, -464,
-     -464, -464, -464, -464, -464, -464, -464, -464, -464, -464,
-      655, -464, -464, -464, -464, -464, -464, -464, -464, -464,
-     -464, -464, -464, -464, -464
-    },
-
-    {
-       27, -465, -465, -465, -465, -465, -465, -465, -465, -465,
-     -465, -465, -465, -465, -465,  656, -465, -465, -465, -465,
-     -465, -465, -465, -465, -465, -465, -465, -465, -465, -465,
-     -465, -465, -465, -465, -465, -465, -465, -465, -465, -465,
-     -465,  656, -465, -465, -465, -465, -465, -465, -465, -465,
-
-     -465, -465, -465, -465, -465, -465, -465, -465, -465, -465,
-     -465, -465, -465, -465, -465
-    },
-
-    {
-       27, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-     -466, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-     -466, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-     -466, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-     -466, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-     -466, -466, -466, -466, -466, -466, -466, -466, -466, -466,
-     -466, -466, -466, -466, -466
-    },
-
-    {
-       27, -467, -467, -467, -467, -467, -467, -467, -467, -467,
-
-     -467, -467, -467, -467, -467, -467, -467, -467, -467, -467,
-     -467, -467, -467, -467, -467, -467, -467,  657, -467, -467,
-     -467, -467, -467, -467, -467, -467, -467, -467, -467, -467,
-     -467, -467, -467, -467, -467, -467, -467, -467, -467, -467,
-     -467, -467,  657, -467, -467, -467, -467, -467, -467, -467,
-     -467, -467, -467, -467, -467
-    },
-
-    {
-       27, -468, -468, -468, -468, -468, -468, -468, -468, -468,
-     -468, -468, -468, -468, -468, -468, -468, -468, -468, -468,
-     -468, -468, -468, -468, -468, -468, -468, -468, -468, -468,
-     -468, -468, -468,  658, -468, -468, -468, -468, -468, -468,
-
-     -468, -468, -468, -468, -468, -468, -468, -468, -468, -468,
-     -468, -468, -468, -468, -468, -468, -468, -468,  658, -468,
-     -468, -468, -468, -468, -468
-    },
-
-    {
-       27, -469, -469, -469, -469, -469, -469, -469, -469, -469,
-     -469, -469, -469, -469, -469, -469,  659, -469, -469, -469,
-     -469, -469, -469, -469, -469, -469, -469, -469, -469, -469,
-     -469, -469, -469, -469, -469, -469, -469, -469, -469, -469,
-     -469, -469,  659, -469, -469, -469, -469, -469, -469, -469,
-     -469, -469, -469, -469, -469, -469, -469, -469, -469, -469,
-     -469, -469, -469, -469, -469
-
-    },
-
-    {
-       27, -470, -470, -470, -470, -470, -470, -470, -470, -470,
-     -470, -470, -470, -470, -470, -470, -470, -470, -470, -470,
-     -470, -470, -470, -470, -470, -470, -470, -470, -470, -470,
-     -470, -470, -470,  660, -470, -470, -470, -470, -470, -470,
-     -470, -470, -470, -470, -470, -470, -470, -470, -470, -470,
-     -470, -470, -470, -470, -470, -470, -470, -470,  660, -470,
-     -470, -470, -470, -470, -470
-    },
-
-    {
-       27, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471, -471, -471, -471, -471,  661,
-
-     -471, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471,  661, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471
-    },
-
-    {
-       27, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472,  662, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472,  662, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-
-     -472, -472, -472, -472, -472
-    },
-
-    {
-       27, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473,  663, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473,  663, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473
-    },
-
-    {
-       27, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-
-     -474,  664, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474,  664, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474
-    },
-
-    {
-       27, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475,  665, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-
-     -475, -475, -475, -475, -475, -475, -475, -475,  665, -475,
-     -475, -475, -475, -475, -475
-    },
-
-    {
-       27, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476,  666, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476,  666, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476
-    },
-
-    {
-       27, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477,  667, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477,  667, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477
-    },
-
-    {
-       27, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478, -478, -478, -478, -478, -478,  668, -478, -478,
-     -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-
-     -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478,  668, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478, -478, -478, -478
-    },
-
-    {
-       27, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479, -479,  669,  670, -479, -479, -479, -479,
-     -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479,  671, -479, -479, -479, -479, -479, -479,
-      669,  670, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479, -479, -479, -479, -479, -479,  671, -479,
-     -479, -479, -479, -479, -479
-
-    },
-
-    {
-       27, -480, -480, -480, -480, -480, -480, -480, -480,  672,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480,  673,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480
-    },
-
-    {
-       27, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-
-     -481, -481, -481,  674, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481, -481, -481,  674, -481,
-     -481, -481, -481, -481, -481
-    },
-
-    {
-       27, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482,  675, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482,  675, -482, -482,
-
-     -482, -482, -482, -482, -482
-    },
-
-    {
-       27, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483,  676, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483,  676, -483,
-     -483, -483, -483, -483, -483
-    },
-
-    {
-       27, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-
-     -484, -484, -484, -484, -484, -484, -484,  677, -484, -484,
-     -484, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484,  677, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484, -484, -484, -484
-    },
-
-    {
-       27, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485,  678, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-
-      678, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485
-    },
-
-    {
-       27, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486,  679, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486,  679, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486
-    },
-
-    {
-       27, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487
-    },
-
-    {
-       27, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488, -488, -488, -488, -488, -488,  680, -488, -488,
-     -488, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-
-     -488, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488,  680, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488, -488, -488, -488
-    },
-
-    {
-       27, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489,  681, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489,  681,
-     -489, -489, -489, -489, -489
-
-    },
-
-    {
-       27, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490,  682, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490,  682, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490
-    },
-
-    {
-       27, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-
-     -491, -491, -491,  683, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491, -491, -491,  683, -491,
-     -491, -491, -491, -491, -491
-    },
-
-    {
-       27, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492, -492, -492, -492, -492, -492, -492,  684,
-     -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492, -492,  684, -492, -492, -492, -492, -492,
-
-     -492, -492, -492, -492, -492
-    },
-
-    {
-       27, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493,  685, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493,  685, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493
-    },
-
-    {
-       27, -494, -494, -494, -494, -494, -494, -494, -494, -494,
-     -494, -494, -494, -494, -494, -494, -494, -494, -494, -494,
-
-     -494, -494, -494, -494, -494, -494,  686, -494, -494, -494,
-     -494, -494, -494, -494, -494, -494, -494, -494, -494, -494,
-     -494, -494, -494, -494, -494, -494, -494, -494, -494, -494,
-     -494,  686, -494, -494, -494, -494, -494, -494, -494, -494,
-     -494, -494, -494, -494, -494
-    },
-
-    {
-       27, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495,  687, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495, -495, -495,  687, -495, -495,
-
-     -495, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495
-    },
-
-    {
-       27, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496,  688, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496,  688, -496,
-     -496, -496, -496, -496, -496
-    },
-
-    {
-       27, -497, -497, -497, -497, -497, -497, -497, -497, -497,
-
-     -497, -497, -497, -497, -497, -497, -497, -497, -497, -497,
-     -497, -497, -497, -497, -497, -497,  689, -497, -497, -497,
-     -497, -497, -497, -497, -497, -497, -497, -497, -497, -497,
-     -497, -497, -497, -497, -497, -497, -497, -497, -497, -497,
-     -497,  689, -497, -497, -497, -497, -497, -497, -497, -497,
-     -497, -497, -497, -497, -497
-    },
-
-    {
-       27, -498, -498, -498, -498, -498, -498, -498, -498, -498,
-     -498, -498, -498, -498, -498, -498, -498, -498, -498, -498,
-     -498, -498, -498, -498, -498, -498,  690, -498, -498, -498,
-     -498, -498, -498, -498, -498, -498, -498, -498, -498, -498,
-
-     -498, -498, -498, -498, -498, -498, -498, -498, -498, -498,
-     -498,  690, -498, -498, -498, -498, -498, -498, -498, -498,
-     -498, -498, -498, -498, -498
-    },
-
-    {
-       27, -499, -499, -499, -499, -499, -499, -499, -499, -499,
-     -499, -499, -499, -499, -499, -499, -499, -499, -499, -499,
-     -499, -499, -499, -499, -499, -499, -499,  691, -499, -499,
-     -499, -499, -499, -499, -499, -499, -499, -499, -499, -499,
-     -499, -499, -499, -499, -499, -499, -499, -499, -499, -499,
-     -499, -499,  691, -499, -499, -499, -499, -499, -499, -499,
-     -499, -499, -499, -499, -499
-
-    },
-
-    {
-       27, -500, -500, -500, -500, -500, -500, -500, -500, -500,
-     -500, -500, -500, -500,  692,  693, -500, -500, -500, -500,
-     -500, -500, -500, -500, -500, -500, -500, -500, -500, -500,
-     -500, -500, -500,  694, -500, -500, -500, -500, -500, -500,
-      692,  693, -500, -500, -500, -500, -500, -500, -500, -500,
-     -500, -500, -500, -500, -500, -500, -500, -500,  694, -500,
-     -500, -500, -500, -500, -500
-    },
-
-    {
-       27, -501, -501, -501, -501, -501, -501, -501, -501,  695,
-     -501, -501, -501, -501, -501, -501, -501, -501, -501, -501,
-     -501, -501, -501, -501, -501, -501, -501, -501, -501, -501,
-
-     -501, -501, -501, -501, -501, -501, -501, -501, -501,  696,
-     -501, -501, -501, -501, -501, -501, -501, -501, -501, -501,
-     -501, -501, -501, -501, -501, -501, -501, -501, -501, -501,
-     -501, -501, -501, -501, -501
-    },
-
-    {
-       27, -502, -502, -502, -502, -502, -502, -502, -502, -502,
-     -502, -502, -502, -502, -502, -502, -502, -502, -502, -502,
-     -502, -502, -502, -502, -502, -502, -502, -502, -502, -502,
-     -502, -502, -502,  697, -502, -502, -502, -502, -502, -502,
-     -502, -502, -502, -502, -502, -502, -502, -502, -502, -502,
-     -502, -502, -502, -502, -502, -502, -502, -502,  697, -502,
-
-     -502, -502, -502, -502, -502
-    },
-
-    {
-       27, -503, -503, -503, -503, -503, -503, -503, -503, -503,
-     -503, -503, -503, -503, -503, -503, -503, -503, -503, -503,
-     -503, -503, -503, -503, -503, -503, -503, -503, -503, -503,
-     -503, -503,  698, -503, -503, -503, -503, -503, -503, -503,
-     -503, -503, -503, -503, -503, -503, -503, -503, -503, -503,
-     -503, -503, -503, -503, -503, -503, -503,  698, -503, -503,
-     -503, -503, -503, -503, -503
-    },
-
-    {
-       27, -504, -504, -504, -504, -504, -504, -504, -504, -504,
-     -504, -504, -504, -504, -504, -504, -504, -504, -504, -504,
-
-     -504, -504, -504, -504, -504, -504, -504, -504, -504, -504,
-     -504, -504, -504,  699, -504, -504, -504, -504, -504, -504,
-     -504, -504, -504, -504, -504, -504, -504, -504, -504, -504,
-     -504, -504, -504, -504, -504, -504, -504, -504,  699, -504,
-     -504, -504, -504, -504, -504
-    },
-
-    {
-       27, -505, -505, -505, -505, -505, -505, -505, -505, -505,
-     -505, -505, -505, -505, -505, -505, -505, -505, -505, -505,
-     -505, -505, -505, -505, -505, -505, -505,  700, -505, -505,
-     -505, -505, -505, -505, -505, -505, -505, -505, -505, -505,
-     -505, -505, -505, -505, -505, -505, -505, -505, -505, -505,
-
-     -505, -505,  700, -505, -505, -505, -505, -505, -505, -505,
-     -505, -505, -505, -505, -505
-    },
-
-    {
-       27, -506, -506, -506, -506, -506, -506, -506, -506, -506,
-     -506, -506, -506, -506, -506, -506, -506, -506, -506, -506,
-     -506, -506, -506, -506, -506,  701, -506, -506, -506, -506,
-     -506, -506, -506, -506, -506, -506, -506, -506, -506, -506,
-     -506, -506, -506, -506, -506, -506, -506, -506, -506, -506,
-      701, -506, -506, -506, -506, -506, -506, -506, -506, -506,
-     -506, -506, -506, -506, -506
-    },
-
-    {
-       27, -507, -507, -507, -507, -507, -507, -507, -507, -507,
-
-     -507, -507, -507, -507, -507,  702, -507, -507, -507, -507,
-     -507, -507, -507, -507, -507, -507, -507, -507, -507, -507,
-     -507, -507, -507, -507, -507, -507, -507, -507, -507, -507,
-     -507,  702, -507, -507, -507, -507, -507, -507, -507, -507,
-     -507, -507, -507, -507, -507, -507, -507, -507, -507, -507,
-     -507, -507, -507, -507, -507
-    },
-
-    {
-       27, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508
-    },
-
-    {
-       27, -509, -509, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509, -509, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509, -509, -509, -509, -509, -509,  703, -509, -509,
-     -509, -509, -509, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509, -509, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509,  703, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509, -509, -509, -509
-
-    },
-
-    {
-       27, -510, -510, -510, -510, -510, -510, -510, -510, -510,
-     -510, -510, -510, -510, -510, -510, -510, -510,  704, -510,
-     -510, -510, -510, -510, -510, -510, -510, -510, -510, -510,
-     -510, -510, -510, -510, -510, -510, -510, -510, -510, -510,
-     -510, -510, -510, -510,  704, -510, -510, -510, -510, -510,
-     -510, -510, -510, -510, -510, -510, -510, -510, -510, -510,
-     -510, -510, -510, -510, -510
-    },
-
-    {
-       27, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511,  705, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511,  705, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511
-    },
-
-    {
-       27, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512,  706, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512,  706, -512,
-
-     -512, -512, -512, -512, -512
-    },
-
-    {
-       27, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513,  707,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513,  707, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513
-    },
-
-    {
-       27, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514, -514, -514, -514, -514,  708, -514,
-
-     -514, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514,  708, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514, -514
-    },
-
-    {
-       27, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515,  709, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-
-     -515,  709, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515
-    },
-
-    {
-       27, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516,  710, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516,  710, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516
-    },
-
-    {
-       27, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517,  711, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517, -517, -517,  711, -517,
-     -517, -517, -517, -517, -517
-    },
-
-    {
-       27, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518, -518, -518, -518, -518, -518,  712, -518, -518, -518,
-     -518, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-
-     -518, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518,  712, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518, -518, -518, -518, -518
-    },
-
-    {
-       27, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519,  713, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519,  713, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519
-
-    },
-
-    {
-       27, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520, -520, -520,  714, -520, -520,
-     -520, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520,  714, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520
-    },
-
-    {
-       27, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-     -521, -521, -521, -521,  715,  716, -521, -521, -521, -521,
-     -521, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-
-     -521, -521, -521,  717, -521, -521, -521, -521, -521, -521,
-      715,  716, -521, -521, -521, -521, -521, -521, -521, -521,
-     -521, -521, -521, -521, -521, -521, -521, -521,  717, -521,
-     -521, -521, -521, -521, -521
-    },
-
-    {
-       27, -522, -522, -522, -522, -522, -522, -522, -522,  718,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522,  719,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-
-     -522, -522, -522, -522, -522
-    },
-
-    {
-       27, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523,  720, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523, -523,  720, -523,
-     -523, -523, -523, -523, -523
-    },
-
-    {
-       27, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524,  721, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524, -524,  721, -524, -524,
-     -524, -524, -524, -524, -524
-    },
-
-    {
-       27, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-     -525, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-     -525, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-     -525, -525, -525,  722, -525, -525, -525, -525, -525, -525,
-     -525, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-
-     -525, -525, -525, -525, -525, -525, -525, -525,  722, -525,
-     -525, -525, -525, -525, -525
-    },
-
-    {
-       27, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526,  723, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526,  723, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526
-    },
-
-    {
-       27, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527,  724, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-      724, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527
-    },
-
-    {
-       27, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528,  725, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-
-     -528,  725, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528
-    },
-
-    {
-       27, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529
-
-    },
-
-    {
-       27, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530,  726, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530,  726, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530
-    },
-
-    {
-       27, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531, -531, -531, -531, -531, -531,  727, -531, -531,
-
-     -531, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531,  727, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531, -531, -531, -531
-    },
-
-    {
-       27, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532,  728, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532,  728, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-
-     -532, -532, -532, -532, -532
-    },
-
-    {
-       27, -533, -533, -533, -533, -533, -533, -533, -533, -533,
-     -533, -533, -533, -533, -533, -533, -533, -533, -533, -533,
-     -533, -533, -533, -533, -533, -533, -533, -533, -533, -533,
-     -533, -533, -533,  729, -533, -533, -533, -533, -533, -533,
-     -533, -533, -533, -533, -533, -533, -533, -533, -533, -533,
-     -533, -533, -533, -533, -533, -533, -533, -533,  729, -533,
-     -533, -533, -533, -533, -533
-    },
-
-    {
-       27, -534, -534, -534, -534, -534, -534, -534, -534, -534,
-     -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
-
-     -534, -534, -534, -534, -534, -534, -534, -534, -534,  730,
-     -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
-     -534, -534, -534, -534, -534, -534, -534, -534, -534, -534,
-     -534, -534, -534, -534,  730, -534, -534, -534, -534, -534,
-     -534, -534, -534, -534, -534
-    },
-
-    {
-       27, -535, -535, -535, -535, -535, -535, -535, -535, -535,
-     -535, -535, -535, -535, -535, -535, -535, -535,  731, -535,
-     -535, -535, -535, -535, -535, -535, -535, -535, -535, -535,
-     -535, -535, -535, -535, -535, -535, -535, -535, -535, -535,
-     -535, -535, -535, -535,  731, -535, -535, -535, -535, -535,
-
-     -535, -535, -535, -535, -535, -535, -535, -535, -535, -535,
-     -535, -535, -535, -535, -535
-    },
-
-    {
-       27, -536, -536, -536, -536, -536, -536, -536, -536, -536,
-     -536, -536, -536, -536, -536, -536, -536, -536, -536, -536,
-     -536, -536, -536, -536, -536, -536,  732, -536, -536, -536,
-     -536, -536, -536, -536, -536, -536, -536, -536, -536, -536,
-     -536, -536, -536, -536, -536, -536, -536, -536, -536, -536,
-     -536,  732, -536, -536, -536, -536, -536, -536, -536, -536,
-     -536, -536, -536, -536, -536
-    },
-
-    {
-       27, -537, -537, -537, -537, -537, -537, -537, -537, -537,
-
-     -537, -537, -537, -537, -537, -537, -537, -537, -537, -537,
-     -537,  733, -537, -537, -537, -537, -537, -537, -537, -537,
-     -537, -537, -537, -537, -537, -537, -537, -537, -537, -537,
-     -537, -537, -537, -537, -537, -537, -537,  733, -537, -537,
-     -537, -537, -537, -537, -537, -537, -537, -537, -537, -537,
-     -537, -537, -537, -537, -537
-    },
-
-    {
-       27, -538, -538, -538, -538, -538, -538, -538, -538, -538,
-     -538, -538, -538, -538, -538, -538, -538, -538, -538, -538,
-     -538, -538, -538, -538, -538, -538, -538, -538, -538, -538,
-     -538, -538, -538,  734, -538, -538, -538, -538, -538, -538,
-
-     -538, -538, -538, -538, -538, -538, -538, -538, -538, -538,
-     -538, -538, -538, -538, -538, -538, -538, -538,  734, -538,
-     -538, -538, -538, -538, -538
-    },
-
-    {
-       27, -539, -539, -539, -539, -539, -539, -539, -539, -539,
-     -539, -539, -539, -539, -539, -539, -539, -539, -539, -539,
-     -539, -539, -539, -539, -539, -539,  735, -539, -539, -539,
-     -539, -539, -539, -539, -539, -539, -539, -539, -539, -539,
-     -539, -539, -539, -539, -539, -539, -539, -539, -539, -539,
-     -539,  735, -539, -539, -539, -539, -539, -539, -539, -539,
-     -539, -539, -539, -539, -539
-
-    },
-
-    {
-       27, -540, -540, -540, -540, -540, -540, -540, -540, -540,
-     -540, -540, -540, -540, -540, -540, -540, -540, -540, -540,
-     -540, -540, -540, -540, -540, -540,  736, -540, -540, -540,
-     -540, -540, -540, -540, -540, -540, -540, -540, -540, -540,
-     -540, -540, -540, -540, -540, -540, -540, -540, -540, -540,
-     -540,  736, -540, -540, -540, -540, -540, -540, -540, -540,
-     -540, -540, -540, -540, -540
-    },
-
-    {
-       27, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541, -541,  737, -541, -541,
-
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541,  737, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541
-    },
-
-    {
-       27, -542, -542, -542, -542, -542, -542, -542, -542, -542,
-     -542, -542, -542, -542,  738,  739, -542, -542, -542, -542,
-     -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
-     -542, -542, -542,  740, -542, -542, -542, -542, -542, -542,
-      738,  739, -542, -542, -542, -542, -542, -542, -542, -542,
-     -542, -542, -542, -542, -542, -542, -542, -542,  740, -542,
-
-     -542, -542, -542, -542, -542
-    },
-
-    {
-       27, -543, -543, -543, -543, -543, -543, -543, -543,  741,
-     -543, -543, -543, -543, -543, -543, -543, -543, -543, -543,
-     -543, -543, -543, -543, -543, -543, -543, -543, -543, -543,
-     -543, -543, -543, -543, -543, -543, -543, -543, -543,  742,
-     -543, -543, -543, -543, -543, -543, -543, -543, -543, -543,
-     -543, -543, -543, -543, -543, -543, -543, -543, -543, -543,
-     -543, -543, -543, -543, -543
-    },
-
-    {
-       27, -544, -544, -544, -544, -544, -544, -544, -544, -544,
-     -544, -544, -544, -544, -544, -544, -544, -544, -544, -544,
-
-     -544, -544, -544, -544, -544, -544, -544, -544, -544, -544,
-     -544, -544, -544,  743, -544, -544, -544, -544, -544, -544,
-     -544, -544, -544, -544, -544, -544, -544, -544, -544, -544,
-     -544, -544, -544, -544, -544, -544, -544, -544,  743, -544,
-     -544, -544, -544, -544, -544
-    },
-
-    {
-       27, -545, -545, -545, -545, -545, -545, -545, -545, -545,
-     -545, -545, -545, -545, -545, -545, -545, -545, -545, -545,
-     -545, -545, -545, -545, -545, -545, -545, -545, -545, -545,
-     -545, -545,  744, -545, -545, -545, -545, -545, -545, -545,
-     -545, -545, -545, -545, -545, -545, -545, -545, -545, -545,
-
-     -545, -545, -545, -545, -545, -545, -545,  744, -545, -545,
-     -545, -545, -545, -545, -545
-    },
-
-    {
-       27, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546,  745, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546,  745, -546,
-     -546, -546, -546, -546, -546
-    },
-
-    {
-       27, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-
-     -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-     -547, -547, -547, -547, -547, -547, -547,  746, -547, -547,
-     -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-     -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-     -547, -547,  746, -547, -547, -547, -547, -547, -547, -547,
-     -547, -547, -547, -547, -547
-    },
-
-    {
-       27, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-     -548, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-     -548, -548, -548, -548, -548,  747, -548, -548, -548, -548,
-     -548, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-
-     -548, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-      747, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-     -548, -548, -548, -548, -548
-    },
-
-    {
-       27, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549,  748, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549,  748, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549
-
-    },
-
-    {
-       27, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-      749,  178, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550
-    },
-
-    {
-       27, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-      750,  178, -551, -551,  750,  750,  750,  750,  750,  750,
-     -551, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-
-     -551, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-      750,  750,  750,  750,  750,  750, -551, -551, -551, -551,
-     -551, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-     -551, -551, -551, -551, -551
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  751,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  751,  366,
-
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  752,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  752,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  753,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      753,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  754,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  754,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  755,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  755,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  756,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  756,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  757,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  758,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  759,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  759,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  760,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  760,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  761,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  762,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  763,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  763,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  764,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  764,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  765,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  765,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  766,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  766,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  767,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  768,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  769,
-      184,  184,  184,  184,  184,  184,  184,  184,  768,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  770,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  771,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  771,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      772,  184,  184,  184,  184,  184,  773,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  772,  184,  184,  184,
-      184,  773,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  774,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  774,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  775,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  776,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  777,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  778,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  778,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  779,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  779,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  780,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  781,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  780,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  781,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  782,  184,  184,  184,  184,
-      184,  184,  783,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  782,  184,  184,  184,  184,  184,  184,  783,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  784,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  784,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  785,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  785,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  786,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  786,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  787,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581,  788, -581, -581, -581,
-
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581,  788, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581
-    },
-
-    {
-       27, -582, -582, -582, -582, -582, -582, -582, -582, -582,
-     -582, -582, -582, -582, -582,  789, -582, -582, -582, -582,
-     -582, -582, -582, -582, -582, -582, -582, -582, -582, -582,
-     -582, -582, -582, -582, -582, -582, -582, -582, -582, -582,
-     -582,  789, -582, -582, -582, -582, -582, -582, -582, -582,
-     -582, -582, -582, -582, -582, -582, -582, -582, -582, -582,
-
-     -582, -582, -582, -582, -582
-    },
-
-    {
-       27, -583, -583, -583, -583, -583, -583, -583, -583, -583,
-     -583, -583, -583, -583, -583, -583, -583, -583, -583, -583,
-     -583, -583, -583, -583, -583, -583, -583, -583, -583, -583,
-     -583, -583, -583,  790, -583, -583, -583, -583, -583, -583,
-     -583, -583, -583, -583, -583, -583, -583, -583, -583, -583,
-     -583, -583, -583, -583, -583, -583, -583, -583,  790, -583,
-     -583, -583, -583, -583, -583
-    },
-
-    {
-       27, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584, -584, -584, -584,  791, -584,
-
-     -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584,  791, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584
-    },
-
-    {
-       27, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585,  792, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585
-    },
-
-    {
-       27, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586,  793, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586,  793, -586,
-     -586, -586, -586, -586, -586
-    },
-
-    {
-       27, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-
-     -587, -587, -587, -587, -587, -587, -587, -587,  794, -587,
-     -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-     -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-     -587, -587, -587, -587,  794, -587, -587, -587, -587, -587,
-     -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-     -587, -587, -587, -587, -587
-    },
-
-    {
-       27, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588,  795, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-
-     -588, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588, -588
-    },
-
-    {
-       27, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589,  796, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589, -589, -589,  796, -589,
-     -589, -589, -589, -589, -589
-
-    },
-
-    {
-       27, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590,  797, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590,  797,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590
-    },
-
-    {
-       27, -591, -591, -591, -591, -591, -591, -591, -591, -591,
-     -591, -591, -591, -591, -591, -591, -591, -591, -591, -591,
-     -591, -591,  798, -591, -591, -591, -591, -591, -591, -591,
-
-     -591, -591, -591, -591, -591, -591, -591, -591, -591, -591,
-     -591, -591, -591, -591, -591, -591, -591, -591,  798, -591,
-     -591, -591, -591, -591, -591, -591, -591, -591, -591, -591,
-     -591, -591, -591, -591, -591
-    },
-
-    {
-       27, -592, -592, -592, -592, -592, -592, -592, -592, -592,
-     -592, -592, -592, -592, -592, -592, -592, -592, -592, -592,
-     -592, -592, -592, -592, -592, -592, -592, -592, -592, -592,
-     -592, -592, -592,  799, -592, -592, -592, -592, -592, -592,
-     -592, -592, -592, -592, -592, -592, -592, -592, -592, -592,
-     -592, -592, -592, -592, -592, -592, -592, -592,  799, -592,
-
-     -592, -592, -592, -592, -592
-    },
-
-    {
-       27, -593, -593, -593, -593, -593, -593, -593, -593,  800,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593,  801,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593
-    },
-
-    {
-       27, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594, -594, -594, -594,  802, -594,
-
-     -594, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594,  802, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594
-    },
-
-    {
-       27, -595, -595, -595, -595, -595, -595, -595, -595,  803,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595,  804,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595
-    },
-
-    {
-       27, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596, -596,  805, -596, -596,
-     -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596,  805, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596
-    },
-
-    {
-       27, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-
-     -597, -597, -597, -597, -597, -597, -597, -597,  806, -597,
-     -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597,  806, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597, -597
-    },
-
-    {
-       27, -598, -598, -598, -598, -598, -598, -598, -598,  807,
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598, -598, -598, -598, -598,  808,
-
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598
-    },
-
-    {
-       27, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599,  809, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599,  809, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599
-
-    },
-
-    {
-       27, -600, -600, -600, -600, -600, -600, -600, -600, -600,
-     -600, -600, -600, -600, -600, -600, -600, -600, -600, -600,
-      810, -600, -600, -600, -600, -600, -600, -600, -600, -600,
-     -600, -600, -600, -600, -600, -600, -600, -600, -600, -600,
-     -600, -600, -600, -600, -600, -600,  810, -600, -600, -600,
-     -600, -600, -600, -600, -600, -600, -600, -600, -600, -600,
-     -600, -600, -600, -600, -600
-    },
-
-    {
-       27, -601, -601, -601, -601, -601, -601, -601, -601, -601,
-     -601, -601, -601, -601, -601, -601, -601, -601, -601, -601,
-     -601, -601, -601, -601, -601, -601, -601, -601,  811, -601,
-
-     -601, -601, -601, -601, -601, -601, -601, -601, -601, -601,
-     -601, -601, -601, -601, -601, -601, -601, -601, -601, -601,
-     -601, -601, -601,  811, -601, -601, -601, -601, -601, -601,
-     -601, -601, -601, -601, -601
-    },
-
-    {
-       27, -602, -602, -602, -602, -602, -602, -602, -602,  812,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602,  813,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-
-     -602, -602, -602, -602, -602
-    },
-
-    {
-       27, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603,  814, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603
-    },
-
-    {
-       27, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604,  815, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604, -604,  815, -604, -604,
-     -604, -604, -604, -604, -604
-    },
-
-    {
-       27, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605,  816, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605, -605, -605, -605,  816, -605,
-
-     -605, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605
-    },
-
-    {
-       27, -606, -606, -606, -606, -606, -606, -606, -606, -606,
-     -606, -606, -606, -606, -606, -606, -606, -606,  817, -606,
-     -606, -606, -606, -606, -606, -606, -606, -606, -606, -606,
-     -606, -606, -606, -606,  818, -606, -606, -606, -606, -606,
-     -606, -606, -606, -606,  817, -606, -606, -606, -606, -606,
-     -606, -606, -606, -606, -606, -606, -606, -606, -606,  818,
-     -606, -606, -606, -606, -606
-    },
-
-    {
-       27, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-
-     -607, -607, -607, -607, -607,  819, -607, -607, -607, -607,
-     -607, -607,  820, -607, -607, -607, -607, -607, -607, -607,
-     -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-     -607,  819, -607, -607, -607, -607, -607, -607,  820, -607,
-     -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-     -607, -607, -607, -607, -607
-    },
-
-    {
-       27, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608,  821, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-
-     -608, -608, -608, -608, -608, -608, -608, -608, -608,  821,
-     -608, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608, -608
-    },
-
-    {
-       27, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609,  822, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609,  822, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609
-
-    },
-
-    {
-       27, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610,  823, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610
-    },
-
-    {
-       27, -611, -611, -611, -611, -611, -611, -611, -611, -611,
-     -611, -611, -611, -611, -611, -611, -611, -611, -611, -611,
-     -611, -611, -611, -611, -611, -611, -611, -611, -611, -611,
-
-     -611, -611, -611,  824, -611, -611, -611, -611, -611, -611,
-     -611, -611, -611, -611, -611, -611, -611, -611, -611, -611,
-     -611, -611, -611, -611, -611, -611, -611, -611,  824, -611,
-     -611, -611, -611, -611, -611
-    },
-
-    {
-       27, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612,  825, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-      825, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-
-     -612, -612, -612, -612, -612
-    },
-
-    {
-       27, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613,  826, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613,  826,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613
-    },
-
-    {
-       27, -614, -614, -614, -614, -614, -614, -614, -614, -614,
-     -614, -614, -614, -614, -614, -614, -614, -614, -614, -614,
-
-     -614, -614,  827, -614, -614, -614, -614, -614, -614, -614,
-     -614, -614, -614, -614, -614, -614, -614, -614, -614, -614,
-     -614, -614, -614, -614, -614, -614, -614, -614,  827, -614,
-     -614, -614, -614, -614, -614, -614, -614, -614, -614, -614,
-     -614, -614, -614, -614, -614
-    },
-
-    {
-       27, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615,  828, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-
-     -615, -615, -615, -615, -615, -615, -615, -615,  828, -615,
-     -615, -615, -615, -615, -615
-    },
-
-    {
-       27, -616, -616, -616, -616, -616, -616, -616, -616,  829,
-     -616, -616, -616, -616, -616, -616, -616, -616, -616, -616,
-     -616, -616, -616, -616, -616, -616, -616, -616, -616, -616,
-     -616, -616, -616, -616, -616, -616, -616, -616, -616,  830,
-     -616, -616, -616, -616, -616, -616, -616, -616, -616, -616,
-     -616, -616, -616, -616, -616, -616, -616, -616, -616, -616,
-     -616, -616, -616, -616, -616
-    },
-
-    {
-       27, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-
-     -617, -617, -617, -617, -617, -617, -617, -617,  831, -617,
-     -617, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-     -617, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-     -617, -617, -617, -617,  831, -617, -617, -617, -617, -617,
-     -617, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-     -617, -617, -617, -617, -617
-    },
-
-    {
-       27, -618, -618, -618, -618, -618, -618, -618, -618,  832,
-     -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
-     -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
-     -618, -618, -618, -618, -618, -618, -618, -618, -618,  833,
-
-     -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
-     -618, -618, -618, -618, -618, -618, -618, -618, -618, -618,
-     -618, -618, -618, -618, -618
-    },
-
-    {
-       27, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619,  834, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619,  834, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619
-
-    },
-
-    {
-       27, -620, -620, -620, -620, -620, -620, -620, -620, -620,
-     -620, -620, -620, -620, -620, -620, -620, -620,  835, -620,
-     -620, -620, -620, -620, -620, -620, -620, -620, -620, -620,
-     -620, -620, -620, -620, -620, -620, -620, -620, -620, -620,
-     -620, -620, -620, -620,  835, -620, -620, -620, -620, -620,
-     -620, -620, -620, -620, -620, -620, -620, -620, -620, -620,
-     -620, -620, -620, -620, -620
-    },
-
-    {
-       27, -621, -621, -621, -621, -621, -621, -621, -621,  836,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-
-     -621, -621, -621, -621, -621, -621, -621, -621, -621,  837,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621
-    },
-
-    {
-       27, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622,  838, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622,  838, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-
-     -622, -622, -622, -622, -622
-    },
-
-    {
-       27, -623, -623, -623, -623, -623, -623, -623, -623, -623,
-     -623, -623, -623, -623, -623, -623, -623, -623, -623, -623,
-      839, -623, -623, -623, -623, -623, -623, -623, -623, -623,
-     -623, -623, -623, -623, -623, -623, -623, -623, -623, -623,
-     -623, -623, -623, -623, -623, -623,  839, -623, -623, -623,
-     -623, -623, -623, -623, -623, -623, -623, -623, -623, -623,
-     -623, -623, -623, -623, -623
-    },
-
-    {
-       27, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-
-     -624, -624, -624, -624, -624, -624, -624, -624,  840, -624,
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624,  840, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624
-    },
-
-    {
-       27, -625, -625, -625, -625, -625, -625, -625, -625,  841,
-     -625, -625, -625, -625, -625, -625, -625, -625, -625, -625,
-     -625, -625, -625, -625, -625, -625, -625, -625, -625, -625,
-     -625, -625, -625, -625, -625, -625, -625, -625, -625,  842,
-     -625, -625, -625, -625, -625, -625, -625, -625, -625, -625,
-
-     -625, -625, -625, -625, -625, -625, -625, -625, -625, -625,
-     -625, -625, -625, -625, -625
-    },
-
-    {
-       27, -626, -626, -626, -626, -626, -626, -626, -626, -626,
-     -626, -626, -626,  843, -626, -626, -626, -626, -626, -626,
-     -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
-     -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
-     -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
-     -626, -626, -626, -626, -626, -626, -626, -626, -626, -626,
-     -626, -626, -626, -626, -626
-    },
-
-    {
-       27, -627, -627, -627, -627, -627, -627, -627, -627, -627,
-
-     -627, -627, -627, -627, -627, -627, -627, -627, -627, -627,
-     -627, -627, -627, -627, -627, -627, -627, -627, -627, -627,
-     -627, -627,  844, -627, -627, -627, -627, -627, -627, -627,
-     -627, -627, -627, -627, -627, -627, -627, -627, -627, -627,
-     -627, -627, -627, -627, -627, -627, -627,  844, -627, -627,
-     -627, -627, -627, -627, -627
-    },
-
-    {
-       27, -628, -628, -628, -628, -628, -628, -628, -628, -628,
-     -628, -628, -628, -628, -628, -628, -628, -628, -628, -628,
-     -628, -628,  845, -628, -628, -628, -628, -628, -628, -628,
-     -628, -628, -628, -628, -628, -628, -628, -628, -628, -628,
-
-     -628, -628, -628, -628, -628, -628, -628, -628,  845, -628,
-     -628, -628, -628, -628, -628, -628, -628, -628, -628, -628,
-     -628, -628, -628, -628, -628
-    },
-
-    {
-       27, -629, -629, -629, -629, -629, -629, -629, -629, -629,
-     -629, -629, -629, -629, -629, -629, -629, -629,  846, -629,
-     -629, -629, -629, -629, -629, -629, -629, -629, -629, -629,
-     -629, -629, -629, -629,  847, -629, -629, -629, -629, -629,
-     -629, -629, -629, -629,  846, -629, -629, -629, -629, -629,
-     -629, -629, -629, -629, -629, -629, -629, -629, -629,  847,
-     -629, -629, -629, -629, -629
-
-    },
-
-    {
-       27, -630, -630, -630, -630, -630, -630, -630, -630, -630,
-     -630, -630, -630, -630, -630,  848, -630, -630, -630, -630,
-     -630, -630,  849, -630, -630, -630, -630, -630, -630, -630,
-     -630, -630, -630, -630, -630, -630, -630, -630, -630, -630,
-     -630,  848, -630, -630, -630, -630, -630, -630,  849, -630,
-     -630, -630, -630, -630, -630, -630, -630, -630, -630, -630,
-     -630, -630, -630, -630, -630
-    },
-
-    {
-       27, -631, -631, -631, -631, -631, -631, -631, -631, -631,
-     -631, -631, -631, -631, -631, -631, -631, -631, -631, -631,
-     -631, -631, -631, -631,  850, -631, -631, -631, -631, -631,
-
-     -631, -631, -631, -631, -631, -631, -631, -631, -631, -631,
-     -631, -631, -631, -631, -631, -631, -631, -631, -631,  850,
-     -631, -631, -631, -631, -631, -631, -631, -631, -631, -631,
-     -631, -631, -631, -631, -631
-    },
-
-    {
-       27, -632, -632, -632, -632, -632, -632, -632, -632, -632,
-     -632, -632, -632, -632, -632, -632, -632, -632,  851, -632,
-     -632, -632, -632, -632, -632, -632, -632, -632, -632, -632,
-     -632, -632, -632, -632, -632, -632, -632, -632, -632, -632,
-     -632, -632, -632, -632,  851, -632, -632, -632, -632, -632,
-     -632, -632, -632, -632, -632, -632, -632, -632, -632, -632,
-
-     -632, -632, -632, -632, -632
-    },
-
-    {
-       27, -633, -633, -633, -633, -633, -633, -633, -633, -633,
-     -633, -633, -633,  852, -633, -633, -633, -633, -633, -633,
-     -633, -633, -633, -633, -633, -633, -633, -633, -633, -633,
-     -633, -633, -633, -633, -633, -633, -633, -633, -633, -633,
-     -633, -633, -633, -633, -633, -633, -633, -633, -633, -633,
-     -633, -633, -633, -633, -633, -633, -633, -633, -633, -633,
-     -633, -633, -633, -633, -633
-    },
-
-    {
-       27, -634, -634, -634, -634, -634, -634, -634, -634, -634,
-     -634, -634, -634, -634, -634, -634, -634, -634, -634, -634,
-
-     -634, -634, -634, -634, -634, -634, -634, -634, -634, -634,
-     -634, -634, -634,  853, -634, -634, -634, -634, -634, -634,
-     -634, -634, -634, -634, -634, -634, -634, -634, -634, -634,
-     -634, -634, -634, -634, -634, -634, -634, -634,  853, -634,
-     -634, -634, -634, -634, -634
-    },
-
-    {
-       27, -635, -635, -635, -635, -635, -635, -635, -635, -635,
-     -635, -635, -635, -635, -635, -635, -635, -635, -635, -635,
-     -635,  854, -635, -635, -635, -635, -635, -635, -635, -635,
-     -635, -635, -635, -635, -635, -635, -635, -635, -635, -635,
-     -635, -635, -635, -635, -635, -635, -635,  854, -635, -635,
-
-     -635, -635, -635, -635, -635, -635, -635, -635, -635, -635,
-     -635, -635, -635, -635, -635
-    },
-
-    {
-       27, -636, -636, -636, -636, -636, -636, -636, -636, -636,
-     -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
-     -636, -636, -636, -636,  855, -636, -636, -636, -636, -636,
-     -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
-     -636, -636, -636, -636, -636, -636, -636, -636, -636,  855,
-     -636, -636, -636, -636, -636, -636, -636, -636, -636, -636,
-     -636, -636, -636, -636, -636
-    },
-
-    {
-       27, -637, -637, -637, -637, -637, -637, -637, -637, -637,
-
-     -637, -637, -637, -637, -637, -637, -637, -637, -637, -637,
-     -637, -637,  856, -637, -637, -637, -637, -637, -637, -637,
-     -637, -637, -637, -637, -637, -637, -637, -637, -637, -637,
-     -637, -637, -637, -637, -637, -637, -637, -637,  856, -637,
-     -637, -637, -637, -637, -637, -637, -637, -637, -637, -637,
-     -637, -637, -637, -637, -637
-    },
-
-    {
-       27, -638, -638, -638, -638, -638, -638, -638, -638, -638,
-     -638, -638, -638, -638, -638, -638, -638, -638, -638, -638,
-     -638, -638, -638, -638, -638, -638, -638, -638, -638, -638,
-     -638, -638, -638,  857, -638, -638, -638, -638, -638, -638,
-
-     -638, -638, -638, -638, -638, -638, -638, -638, -638, -638,
-     -638, -638, -638, -638, -638, -638, -638, -638,  857, -638,
-     -638, -638, -638, -638, -638
-    },
-
-    {
-       27, -639, -639, -639, -639, -639, -639, -639, -639,  858,
-     -639, -639, -639, -639, -639, -639, -639, -639, -639, -639,
-     -639, -639, -639, -639, -639, -639, -639, -639, -639, -639,
-     -639, -639, -639, -639, -639, -639, -639, -639, -639,  859,
-     -639, -639, -639, -639, -639, -639, -639, -639, -639, -639,
-     -639, -639, -639, -639, -639, -639, -639, -639, -639, -639,
-     -639, -639, -639, -639, -639
-
-    },
-
-    {
-       27, -640, -640, -640, -640, -640, -640, -640, -640, -640,
-     -640, -640, -640, -640, -640, -640, -640, -640,  860, -640,
-     -640, -640, -640, -640, -640, -640, -640, -640, -640, -640,
-     -640, -640, -640, -640, -640, -640, -640, -640, -640, -640,
-     -640, -640, -640, -640,  860, -640, -640, -640, -640, -640,
-     -640, -640, -640, -640, -640, -640, -640, -640, -640, -640,
-     -640, -640, -640, -640, -640
-    },
-
-    {
-       27, -641, -641, -641, -641, -641, -641, -641, -641,  861,
-     -641, -641, -641, -641, -641, -641, -641, -641, -641, -641,
-     -641, -641, -641, -641, -641, -641, -641, -641, -641, -641,
-
-     -641, -641, -641, -641, -641, -641, -641, -641, -641,  862,
-     -641, -641, -641, -641, -641, -641, -641, -641, -641, -641,
-     -641, -641, -641, -641, -641, -641, -641, -641, -641, -641,
-     -641, -641, -641, -641, -641
-    },
-
-    {
-       27, -642, -642, -642, -642, -642, -642, -642, -642, -642,
-     -642, -642, -642, -642, -642, -642, -642, -642, -642, -642,
-     -642, -642, -642, -642, -642, -642, -642,  863, -642, -642,
-     -642, -642, -642, -642, -642, -642, -642, -642, -642, -642,
-     -642, -642, -642, -642, -642, -642, -642, -642, -642, -642,
-     -642, -642,  863, -642, -642, -642, -642, -642, -642, -642,
-
-     -642, -642, -642, -642, -642
-    },
-
-    {
-       27, -643, -643, -643, -643, -643, -643, -643, -643, -643,
-     -643, -643, -643, -643, -643, -643, -643, -643,  864, -643,
-     -643, -643, -643, -643, -643, -643, -643, -643, -643, -643,
-     -643, -643, -643, -643, -643, -643, -643, -643, -643, -643,
-     -643, -643, -643, -643,  864, -643, -643, -643, -643, -643,
-     -643, -643, -643, -643, -643, -643, -643, -643, -643, -643,
-     -643, -643, -643, -643, -643
-    },
-
-    {
-       27, -644, -644, -644, -644, -644, -644, -644, -644,  865,
-     -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,  866,
-     -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
-    },
-
-    {
-       27, -645, -645, -645, -645, -645, -645, -645, -645, -645,
-     -645, -645, -645, -645, -645, -645, -645, -645,  867, -645,
-     -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
-     -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
-     -645, -645, -645, -645,  867, -645, -645, -645, -645, -645,
-
-     -645, -645, -645, -645, -645, -645, -645, -645, -645, -645,
-     -645, -645, -645, -645, -645
-    },
-
-    {
-       27, -646, -646, -646, -646, -646, -646, -646, -646, -646,
-     -646, -646, -646, -646, -646, -646, -646, -646, -646, -646,
-      868, -646, -646, -646, -646, -646, -646, -646, -646, -646,
-     -646, -646, -646, -646, -646, -646, -646, -646, -646, -646,
-     -646, -646, -646, -646, -646, -646,  868, -646, -646, -646,
-     -646, -646, -646, -646, -646, -646, -646, -646, -646, -646,
-     -646, -646, -646, -646, -646
-    },
-
-    {
-       27, -647, -647, -647, -647, -647, -647, -647, -647, -647,
-
-     -647, -647, -647, -647, -647, -647, -647, -647, -647, -647,
-     -647, -647, -647, -647, -647, -647, -647, -647,  869, -647,
-     -647, -647, -647, -647, -647, -647, -647, -647, -647, -647,
-     -647, -647, -647, -647, -647, -647, -647, -647, -647, -647,
-     -647, -647, -647,  869, -647, -647, -647, -647, -647, -647,
-     -647, -647, -647, -647, -647
-    },
-
-    {
-       27, -648, -648, -648, -648, -648, -648, -648, -648,  870,
-     -648, -648, -648, -648, -648, -648, -648, -648, -648, -648,
-     -648, -648, -648, -648, -648, -648, -648, -648, -648, -648,
-     -648, -648, -648, -648, -648, -648, -648, -648, -648,  871,
-
-     -648, -648, -648, -648, -648, -648, -648, -648, -648, -648,
-     -648, -648, -648, -648, -648, -648, -648, -648, -648, -648,
-     -648, -648, -648, -648, -648
-    },
-
-    {
-       27, -649, -649, -649, -649, -649, -649, -649, -649, -649,
-     -649, -649, -649,  872, -649, -649, -649, -649, -649, -649,
-     -649, -649, -649, -649, -649, -649, -649, -649, -649, -649,
-     -649, -649, -649, -649, -649, -649, -649, -649, -649, -649,
-     -649, -649, -649, -649, -649, -649, -649, -649, -649, -649,
-     -649, -649, -649, -649, -649, -649, -649, -649, -649, -649,
-     -649, -649, -649, -649, -649
-
-    },
-
-    {
-       27, -650, -650, -650, -650, -650, -650, -650, -650, -650,
-     -650, -650, -650, -650, -650, -650, -650, -650, -650, -650,
-     -650, -650, -650, -650, -650, -650, -650, -650, -650, -650,
-     -650, -650,  873, -650, -650, -650, -650, -650, -650, -650,
-     -650, -650, -650, -650, -650, -650, -650, -650, -650, -650,
-     -650, -650, -650, -650, -650, -650, -650,  873, -650, -650,
-     -650, -650, -650, -650, -650
-    },
-
-    {
-       27, -651, -651, -651, -651, -651, -651, -651, -651, -651,
-     -651, -651, -651, -651, -651, -651, -651, -651, -651, -651,
-     -651, -651,  874, -651, -651, -651, -651, -651, -651, -651,
-
-     -651, -651, -651, -651, -651, -651, -651, -651, -651, -651,
-     -651, -651, -651, -651, -651, -651, -651, -651,  874, -651,
-     -651, -651, -651, -651, -651, -651, -651, -651, -651, -651,
-     -651, -651, -651, -651, -651
-    },
-
-    {
-       27, -652, -652, -652, -652, -652, -652, -652, -652, -652,
-     -652, -652, -652, -652, -652, -652, -652, -652,  875, -652,
-     -652, -652, -652, -652, -652, -652, -652, -652, -652, -652,
-     -652, -652, -652, -652,  876, -652, -652, -652, -652, -652,
-     -652, -652, -652, -652,  875, -652, -652, -652, -652, -652,
-     -652, -652, -652, -652, -652, -652, -652, -652, -652,  876,
-
-     -652, -652, -652, -652, -652
-    },
-
-    {
-       27, -653, -653, -653, -653, -653, -653, -653, -653, -653,
-     -653, -653, -653, -653, -653,  877, -653, -653, -653, -653,
-     -653, -653,  878, -653, -653, -653, -653, -653, -653, -653,
-     -653, -653, -653, -653, -653, -653, -653, -653, -653, -653,
-     -653,  877, -653, -653, -653, -653, -653, -653,  878, -653,
-     -653, -653, -653, -653, -653, -653, -653, -653, -653, -653,
-     -653, -653, -653, -653, -653
-    },
-
-    {
-       27, -654, -654, -654, -654, -654, -654, -654, -654, -654,
-     -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
-
-     -654, -654, -654, -654,  879, -654, -654, -654, -654, -654,
-     -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
-     -654, -654, -654, -654, -654, -654, -654, -654, -654,  879,
-     -654, -654, -654, -654, -654, -654, -654, -654, -654, -654,
-     -654, -654, -654, -654, -654
-    },
-
-    {
-       27, -655, -655, -655, -655, -655, -655, -655, -655, -655,
-     -655, -655, -655, -655, -655, -655, -655, -655,  880, -655,
-     -655, -655, -655, -655, -655, -655, -655, -655, -655, -655,
-     -655, -655, -655, -655, -655, -655, -655, -655, -655, -655,
-     -655, -655, -655, -655,  880, -655, -655, -655, -655, -655,
-
-     -655, -655, -655, -655, -655, -655, -655, -655, -655, -655,
-     -655, -655, -655, -655, -655
-    },
-
-    {
-       27, -656, -656, -656, -656, -656, -656, -656, -656, -656,
-     -656, -656, -656,  881, -656, -656, -656, -656, -656, -656,
-     -656, -656, -656, -656, -656, -656, -656, -656, -656, -656,
-     -656, -656, -656, -656, -656, -656, -656, -656, -656, -656,
-     -656, -656, -656, -656, -656, -656, -656, -656, -656, -656,
-     -656, -656, -656, -656, -656, -656, -656, -656, -656, -656,
-     -656, -656, -656, -656, -656
-    },
-
-    {
-       27, -657, -657, -657, -657, -657, -657, -657, -657, -657,
-
-     -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
-     -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
-     -657, -657, -657,  882, -657, -657, -657, -657, -657, -657,
-     -657, -657, -657, -657, -657, -657, -657, -657, -657, -657,
-     -657, -657, -657, -657, -657, -657, -657, -657,  882, -657,
-     -657, -657, -657, -657, -657
-    },
-
-    {
-       27, -658, -658, -658, -658, -658, -658, -658, -658, -658,
-     -658, -658, -658, -658, -658, -658, -658, -658, -658, -658,
-     -658,  883, -658, -658, -658, -658, -658, -658, -658, -658,
-     -658, -658, -658, -658, -658, -658, -658, -658, -658, -658,
-
-     -658, -658, -658, -658, -658, -658, -658,  883, -658, -658,
-     -658, -658, -658, -658, -658, -658, -658, -658, -658, -658,
-     -658, -658, -658, -658, -658
-    },
-
-    {
-       27, -659, -659, -659, -659, -659, -659, -659, -659, -659,
-     -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
-     -659, -659, -659, -659,  884, -659, -659, -659, -659, -659,
-     -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
-     -659, -659, -659, -659, -659, -659, -659, -659, -659,  884,
-     -659, -659, -659, -659, -659, -659, -659, -659, -659, -659,
-     -659, -659, -659, -659, -659
-
-    },
-
-    {
-       27, -660, -660, -660, -660, -660, -660, -660, -660, -660,
-     -660, -660, -660, -660, -660, -660, -660, -660, -660, -660,
-     -660, -660,  885, -660, -660, -660, -660, -660, -660, -660,
-     -660, -660, -660, -660, -660, -660, -660, -660, -660, -660,
-     -660, -660, -660, -660, -660, -660, -660, -660,  885, -660,
-     -660, -660, -660, -660, -660, -660, -660, -660, -660, -660,
-     -660, -660, -660, -660, -660
-    },
-
-    {
-       27, -661, -661, -661, -661, -661, -661, -661, -661, -661,
-     -661, -661, -661, -661, -661, -661, -661, -661, -661, -661,
-     -661, -661, -661, -661, -661, -661, -661, -661, -661, -661,
-
-     -661, -661, -661,  886, -661, -661, -661, -661, -661, -661,
-     -661, -661, -661, -661, -661, -661, -661, -661, -661, -661,
-     -661, -661, -661, -661, -661, -661, -661, -661,  886, -661,
-     -661, -661, -661, -661, -661
-    },
-
-    {
-       27, -662, -662, -662, -662, -662, -662, -662, -662,  887,
-     -662, -662, -662, -662, -662, -662, -662, -662, -662, -662,
-     -662, -662, -662, -662, -662, -662, -662, -662, -662, -662,
-     -662, -662, -662, -662, -662, -662, -662, -662, -662,  888,
-     -662, -662, -662, -662, -662, -662, -662, -662, -662, -662,
-     -662, -662, -662, -662, -662, -662, -662, -662, -662, -662,
-
-     -662, -662, -662, -662, -662
-    },
-
-    {
-       27, -663, -663, -663, -663, -663, -663, -663, -663, -663,
-     -663, -663, -663, -663, -663, -663, -663, -663,  889, -663,
-     -663, -663, -663, -663, -663, -663, -663, -663, -663, -663,
-     -663, -663, -663, -663, -663, -663, -663, -663, -663, -663,
-     -663, -663, -663, -663,  889, -663, -663, -663, -663, -663,
-     -663, -663, -663, -663, -663, -663, -663, -663, -663, -663,
-     -663, -663, -663, -663, -663
-    },
-
-    {
-       27, -664, -664, -664, -664, -664, -664, -664, -664,  890,
-     -664, -664, -664, -664, -664, -664, -664, -664, -664, -664,
-
-     -664, -664, -664, -664, -664, -664, -664, -664, -664, -664,
-     -664, -664, -664, -664, -664, -664, -664, -664, -664,  891,
-     -664, -664, -664, -664, -664, -664, -664, -664, -664, -664,
-     -664, -664, -664, -664, -664, -664, -664, -664, -664, -664,
-     -664, -664, -664, -664, -664
-    },
-
-    {
-       27, -665, -665, -665, -665, -665, -665, -665, -665, -665,
-     -665, -665, -665, -665, -665, -665, -665, -665, -665, -665,
-     -665, -665, -665, -665, -665, -665, -665,  892, -665, -665,
-     -665, -665, -665, -665, -665, -665, -665, -665, -665, -665,
-     -665, -665, -665, -665, -665, -665, -665, -665, -665, -665,
-
-     -665, -665,  892, -665, -665, -665, -665, -665, -665, -665,
-     -665, -665, -665, -665, -665
-    },
-
-    {
-       27, -666, -666, -666, -666, -666, -666, -666, -666, -666,
-     -666, -666, -666, -666, -666, -666, -666, -666,  893, -666,
-     -666, -666, -666, -666, -666, -666, -666, -666, -666, -666,
-     -666, -666, -666, -666, -666, -666, -666, -666, -666, -666,
-     -666, -666, -666, -666,  893, -666, -666, -666, -666, -666,
-     -666, -666, -666, -666, -666, -666, -666, -666, -666, -666,
-     -666, -666, -666, -666, -666
-    },
-
-    {
-       27, -667, -667, -667, -667, -667, -667, -667, -667,  894,
-
-     -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
-     -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
-     -667, -667, -667, -667, -667, -667, -667, -667, -667,  895,
-     -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
-     -667, -667, -667, -667, -667, -667, -667, -667, -667, -667,
-     -667, -667, -667, -667, -667
-    },
-
-    {
-       27, -668, -668, -668, -668, -668, -668, -668, -668, -668,
-     -668, -668, -668, -668, -668, -668, -668, -668,  896, -668,
-     -668, -668, -668, -668, -668, -668, -668, -668, -668, -668,
-     -668, -668, -668, -668, -668, -668, -668, -668, -668, -668,
-
-     -668, -668, -668, -668,  896, -668, -668, -668, -668, -668,
-     -668, -668, -668, -668, -668, -668, -668, -668, -668, -668,
-     -668, -668, -668, -668, -668
-    },
-
-    {
-       27, -669, -669, -669, -669, -669, -669, -669, -669, -669,
-     -669, -669, -669, -669, -669, -669, -669, -669, -669, -669,
-      897, -669, -669, -669, -669, -669, -669, -669, -669, -669,
-     -669, -669, -669, -669, -669, -669, -669, -669, -669, -669,
-     -669, -669, -669, -669, -669, -669,  897, -669, -669, -669,
-     -669, -669, -669, -669, -669, -669, -669, -669, -669, -669,
-     -669, -669, -669, -669, -669
-
-    },
-
-    {
-       27, -670, -670, -670, -670, -670, -670, -670, -670, -670,
-     -670, -670, -670, -670, -670, -670, -670, -670, -670, -670,
-     -670, -670, -670, -670, -670, -670, -670, -670,  898, -670,
-     -670, -670, -670, -670, -670, -670, -670, -670, -670, -670,
-     -670, -670, -670, -670, -670, -670, -670, -670, -670, -670,
-     -670, -670, -670,  898, -670, -670, -670, -670, -670, -670,
-     -670, -670, -670, -670, -670
-    },
-
-    {
-       27, -671, -671, -671, -671, -671, -671, -671, -671,  899,
-     -671, -671, -671, -671, -671, -671, -671, -671, -671, -671,
-     -671, -671, -671, -671, -671, -671, -671, -671, -671, -671,
-
-     -671, -671, -671, -671, -671, -671, -671, -671, -671,  900,
-     -671, -671, -671, -671, -671, -671, -671, -671, -671, -671,
-     -671, -671, -671, -671, -671, -671, -671, -671, -671, -671,
-     -671, -671, -671, -671, -671
-    },
-
-    {
-       27, -672, -672, -672, -672, -672, -672, -672, -672, -672,
-     -672, -672, -672,  901, -672, -672, -672, -672, -672, -672,
-     -672, -672, -672, -672, -672, -672, -672, -672, -672, -672,
-     -672, -672, -672, -672, -672, -672, -672, -672, -672, -672,
-     -672, -672, -672, -672, -672, -672, -672, -672, -672, -672,
-     -672, -672, -672, -672, -672, -672, -672, -672, -672, -672,
-
-     -672, -672, -672, -672, -672
-    },
-
-    {
-       27, -673, -673, -673, -673, -673, -673, -673, -673, -673,
-     -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
-     -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
-     -673, -673,  902, -673, -673, -673, -673, -673, -673, -673,
-     -673, -673, -673, -673, -673, -673, -673, -673, -673, -673,
-     -673, -673, -673, -673, -673, -673, -673,  902, -673, -673,
-     -673, -673, -673, -673, -673
-    },
-
-    {
-       27, -674, -674, -674, -674, -674, -674, -674, -674, -674,
-     -674, -674, -674, -674, -674, -674, -674, -674, -674, -674,
-
-     -674, -674,  903, -674, -674, -674, -674, -674, -674, -674,
-     -674, -674, -674, -674, -674, -674, -674, -674, -674, -674,
-     -674, -674, -674, -674, -674, -674, -674, -674,  903, -674,
-     -674, -674, -674, -674, -674, -674, -674, -674, -674, -674,
-     -674, -674, -674, -674, -674
-    },
-
-    {
-       27, -675, -675, -675, -675, -675, -675, -675, -675, -675,
-     -675, -675, -675, -675, -675, -675, -675, -675,  904, -675,
-     -675, -675, -675, -675, -675, -675, -675, -675, -675, -675,
-     -675, -675, -675, -675,  905, -675, -675, -675, -675, -675,
-     -675, -675, -675, -675,  904, -675, -675, -675, -675, -675,
-
-     -675, -675, -675, -675, -675, -675, -675, -675, -675,  905,
-     -675, -675, -675, -675, -675
-    },
-
-    {
-       27, -676, -676, -676, -676, -676, -676, -676, -676, -676,
-     -676, -676, -676, -676, -676,  906, -676, -676, -676, -676,
-     -676, -676,  907, -676, -676, -676, -676, -676, -676, -676,
-     -676, -676, -676, -676, -676, -676, -676, -676, -676, -676,
-     -676,  906, -676, -676, -676, -676, -676, -676,  907, -676,
-     -676, -676, -676, -676, -676, -676, -676, -676, -676, -676,
-     -676, -676, -676, -676, -676
-    },
-
-    {
-       27, -677, -677, -677, -677, -677, -677, -677, -677, -677,
-
-     -677, -677, -677, -677, -677, -677, -677, -677, -677, -677,
-     -677, -677, -677, -677,  908, -677, -677, -677, -677, -677,
-     -677, -677, -677, -677, -677, -677, -677, -677, -677, -677,
-     -677, -677, -677, -677, -677, -677, -677, -677, -677,  908,
-     -677, -677, -677, -677, -677, -677, -677, -677, -677, -677,
-     -677, -677, -677, -677, -677
-    },
-
-    {
-       27, -678, -678, -678, -678, -678, -678, -678, -678, -678,
-     -678, -678, -678, -678, -678, -678, -678, -678,  909, -678,
-     -678, -678, -678, -678, -678, -678, -678, -678, -678, -678,
-     -678, -678, -678, -678, -678, -678, -678, -678, -678, -678,
-
-     -678, -678, -678, -678,  909, -678, -678, -678, -678, -678,
-     -678, -678, -678, -678, -678, -678, -678, -678, -678, -678,
-     -678, -678, -678, -678, -678
-    },
-
-    {
-       27, -679, -679, -679, -679, -679, -679, -679, -679, -679,
-     -679, -679, -679,  910, -679, -679, -679, -679, -679, -679,
-     -679, -679, -679, -679, -679, -679, -679, -679, -679, -679,
-     -679, -679, -679, -679, -679, -679, -679, -679, -679, -679,
-     -679, -679, -679, -679, -679, -679, -679, -679, -679, -679,
-     -679, -679, -679, -679, -679, -679, -679, -679, -679, -679,
-     -679, -679, -679, -679, -679
-
-    },
-
-    {
-       27, -680, -680, -680, -680, -680, -680, -680, -680, -680,
-     -680, -680, -680, -680, -680, -680, -680, -680, -680, -680,
-     -680, -680, -680, -680, -680, -680, -680, -680, -680, -680,
-     -680, -680, -680,  911, -680, -680, -680, -680, -680, -680,
-     -680, -680, -680, -680, -680, -680, -680, -680, -680, -680,
-     -680, -680, -680, -680, -680, -680, -680, -680,  911, -680,
-     -680, -680, -680, -680, -680
-    },
-
-    {
-       27, -681, -681, -681, -681, -681, -681, -681, -681, -681,
-     -681, -681, -681, -681,  912, -681, -681, -681, -681, -681,
-     -681, -681, -681, -681, -681, -681, -681, -681, -681, -681,
-
-     -681, -681, -681, -681, -681, -681, -681, -681, -681, -681,
-      912, -681, -681, -681, -681, -681, -681, -681, -681, -681,
-     -681, -681, -681, -681, -681, -681, -681, -681, -681, -681,
-     -681, -681, -681, -681, -681
-    },
-
-    {
-       27, -682, -682, -682, -682, -682, -682, -682, -682, -682,
-     -682, -682, -682, -682, -682, -682, -682, -682, -682, -682,
-     -682, -682, -682, -682,  913, -682, -682, -682, -682, -682,
-     -682, -682, -682, -682, -682, -682, -682, -682, -682, -682,
-     -682, -682, -682, -682, -682, -682, -682, -682, -682,  913,
-     -682, -682, -682, -682, -682, -682, -682, -682, -682, -682,
-
-     -682, -682, -682, -682, -682
-    },
-
-    {
-       27, -683, -683, -683, -683, -683, -683, -683, -683, -683,
-     -683, -683, -683, -683, -683, -683, -683, -683, -683, -683,
-     -683, -683,  914, -683, -683, -683, -683, -683, -683, -683,
-     -683, -683, -683, -683, -683, -683, -683, -683, -683, -683,
-     -683, -683, -683, -683, -683, -683, -683, -683,  914, -683,
-     -683, -683, -683, -683, -683, -683, -683, -683, -683, -683,
-     -683, -683, -683, -683, -683
-    },
-
-    {
-       27, -684, -684, -684, -684, -684, -684, -684, -684, -684,
-     -684, -684, -684, -684, -684, -684, -684, -684, -684, -684,
-
-     -684, -684, -684, -684, -684, -684, -684, -684, -684, -684,
-     -684, -684, -684,  915, -684, -684, -684, -684, -684, -684,
-     -684, -684, -684, -684, -684, -684, -684, -684, -684, -684,
-     -684, -684, -684, -684, -684, -684, -684, -684,  915, -684,
-     -684, -684, -684, -684, -684
-    },
-
-    {
-       27, -685, -685, -685, -685, -685, -685, -685, -685,  916,
-     -685, -685, -685, -685, -685, -685, -685, -685, -685, -685,
-     -685, -685, -685, -685, -685, -685, -685, -685, -685, -685,
-     -685, -685, -685, -685, -685, -685, -685, -685, -685,  917,
-     -685, -685, -685, -685, -685, -685, -685, -685, -685, -685,
-
-     -685, -685, -685, -685, -685, -685, -685, -685, -685, -685,
-     -685, -685, -685, -685, -685
-    },
-
-    {
-       27, -686, -686, -686, -686, -686, -686, -686, -686, -686,
-     -686, -686, -686, -686, -686, -686, -686, -686,  918, -686,
-     -686, -686, -686, -686, -686, -686, -686, -686, -686, -686,
-     -686, -686, -686, -686, -686, -686, -686, -686, -686, -686,
-     -686, -686, -686, -686,  918, -686, -686, -686, -686, -686,
-     -686, -686, -686, -686, -686, -686, -686, -686, -686, -686,
-     -686, -686, -686, -686, -686
-    },
-
-    {
-       27, -687, -687, -687, -687, -687, -687, -687, -687,  919,
-
-     -687, -687, -687, -687, -687, -687, -687, -687, -687, -687,
-     -687, -687, -687, -687, -687, -687, -687, -687, -687, -687,
-     -687, -687, -687, -687, -687, -687, -687, -687, -687,  920,
-     -687, -687, -687, -687, -687, -687, -687, -687, -687, -687,
-     -687, -687, -687, -687, -687, -687, -687, -687, -687, -687,
-     -687, -687, -687, -687, -687
-    },
-
-    {
-       27, -688, -688, -688, -688, -688, -688, -688, -688, -688,
-     -688, -688, -688, -688, -688, -688, -688, -688, -688, -688,
-     -688, -688, -688, -688, -688, -688, -688,  921, -688, -688,
-     -688, -688, -688, -688, -688, -688, -688, -688, -688, -688,
-
-     -688, -688, -688, -688, -688, -688, -688, -688, -688, -688,
-     -688, -688,  921, -688, -688, -688, -688, -688, -688, -688,
-     -688, -688, -688, -688, -688
-    },
-
-    {
-       27, -689, -689, -689, -689, -689, -689, -689, -689, -689,
-     -689, -689, -689, -689, -689, -689, -689, -689,  922, -689,
-     -689, -689, -689, -689, -689, -689, -689, -689, -689, -689,
-     -689, -689, -689, -689, -689, -689, -689, -689, -689, -689,
-     -689, -689, -689, -689,  922, -689, -689, -689, -689, -689,
-     -689, -689, -689, -689, -689, -689, -689, -689, -689, -689,
-     -689, -689, -689, -689, -689
-
-    },
-
-    {
-       27, -690, -690, -690, -690, -690, -690, -690, -690,  923,
-     -690, -690, -690, -690, -690, -690, -690, -690, -690, -690,
-     -690, -690, -690, -690, -690, -690, -690, -690, -690, -690,
-     -690, -690, -690, -690, -690, -690, -690, -690, -690,  924,
-     -690, -690, -690, -690, -690, -690, -690, -690, -690, -690,
-     -690, -690, -690, -690, -690, -690, -690, -690, -690, -690,
-     -690, -690, -690, -690, -690
-    },
-
-    {
-       27, -691, -691, -691, -691, -691, -691, -691, -691, -691,
-     -691, -691, -691, -691, -691, -691, -691, -691,  925, -691,
-     -691, -691, -691, -691, -691, -691, -691, -691, -691, -691,
-
-     -691, -691, -691, -691, -691, -691, -691, -691, -691, -691,
-     -691, -691, -691, -691,  925, -691, -691, -691, -691, -691,
-     -691, -691, -691, -691, -691, -691, -691, -691, -691, -691,
-     -691, -691, -691, -691, -691
-    },
-
-    {
-       27, -692, -692, -692, -692, -692, -692, -692, -692, -692,
-     -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
-      926, -692, -692, -692, -692, -692, -692, -692, -692, -692,
-     -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
-     -692, -692, -692, -692, -692, -692,  926, -692, -692, -692,
-     -692, -692, -692, -692, -692, -692, -692, -692, -692, -692,
-
-     -692, -692, -692, -692, -692
-    },
-
-    {
-       27, -693, -693, -693, -693, -693, -693, -693, -693, -693,
-     -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
-     -693, -693, -693, -693, -693, -693, -693, -693,  927, -693,
-     -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
-     -693, -693, -693, -693, -693, -693, -693, -693, -693, -693,
-     -693, -693, -693,  927, -693, -693, -693, -693, -693, -693,
-     -693, -693, -693, -693, -693
-    },
-
-    {
-       27, -694, -694, -694, -694, -694, -694, -694, -694,  928,
-     -694, -694, -694, -694, -694, -694, -694, -694, -694, -694,
-
-     -694, -694, -694, -694, -694, -694, -694, -694, -694, -694,
-     -694, -694, -694, -694, -694, -694, -694, -694, -694,  929,
-     -694, -694, -694, -694, -694, -694, -694, -694, -694, -694,
-     -694, -694, -694, -694, -694, -694, -694, -694, -694, -694,
-     -694, -694, -694, -694, -694
-    },
-
-    {
-       27, -695, -695, -695, -695, -695, -695, -695, -695, -695,
-     -695, -695, -695,  930, -695, -695, -695, -695, -695, -695,
-     -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
-     -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
-     -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
-
-     -695, -695, -695, -695, -695, -695, -695, -695, -695, -695,
-     -695, -695, -695, -695, -695
-    },
-
-    {
-       27, -696, -696, -696, -696, -696, -696, -696, -696, -696,
-     -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
-     -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
-     -696, -696,  931, -696, -696, -696, -696, -696, -696, -696,
-     -696, -696, -696, -696, -696, -696, -696, -696, -696, -696,
-     -696, -696, -696, -696, -696, -696, -696,  931, -696, -696,
-     -696, -696, -696, -696, -696
-    },
-
-    {
-       27, -697, -697, -697, -697, -697, -697, -697, -697, -697,
-
-     -697, -697, -697, -697, -697, -697, -697, -697, -697, -697,
-     -697, -697,  932, -697, -697, -697, -697, -697, -697, -697,
-     -697, -697, -697, -697, -697, -697, -697, -697, -697, -697,
-     -697, -697, -697, -697, -697, -697, -697, -697,  932, -697,
-     -697, -697, -697, -697, -697, -697, -697, -697, -697, -697,
-     -697, -697, -697, -697, -697
-    },
-
-    {
-       27, -698, -698, -698, -698, -698, -698, -698, -698, -698,
-     -698, -698, -698, -698, -698, -698, -698, -698,  933, -698,
-     -698, -698, -698, -698, -698, -698, -698, -698, -698, -698,
-     -698, -698, -698, -698,  934, -698, -698, -698, -698, -698,
-
-     -698, -698, -698, -698,  933, -698, -698, -698, -698, -698,
-     -698, -698, -698, -698, -698, -698, -698, -698, -698,  934,
-     -698, -698, -698, -698, -698
-    },
-
-    {
-       27, -699, -699, -699, -699, -699, -699, -699, -699, -699,
-     -699, -699, -699, -699, -699,  935, -699, -699, -699, -699,
-     -699, -699,  936, -699, -699, -699, -699, -699, -699, -699,
-     -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
-     -699,  935, -699, -699, -699, -699, -699, -699,  936, -699,
-     -699, -699, -699, -699, -699, -699, -699, -699, -699, -699,
-     -699, -699, -699, -699, -699
-
-    },
-
-    {
-       27, -700, -700, -700, -700, -700, -700, -700, -700, -700,
-     -700, -700, -700, -700, -700, -700, -700, -700, -700, -700,
-     -700, -700, -700, -700,  937, -700, -700, -700, -700, -700,
-     -700, -700, -700, -700, -700, -700, -700, -700, -700, -700,
-     -700, -700, -700, -700, -700, -700, -700, -700, -700,  937,
-     -700, -700, -700, -700, -700, -700, -700, -700, -700, -700,
-     -700, -700, -700, -700, -700
-    },
-
-    {
-       27, -701, -701, -701, -701, -701, -701, -701, -701, -701,
-     -701, -701, -701, -701, -701, -701, -701, -701,  938, -701,
-     -701, -701, -701, -701, -701, -701, -701, -701, -701, -701,
-
-     -701, -701, -701, -701, -701, -701, -701, -701, -701, -701,
-     -701, -701, -701, -701,  938, -701, -701, -701, -701, -701,
-     -701, -701, -701, -701, -701, -701, -701, -701, -701, -701,
-     -701, -701, -701, -701, -701
-    },
-
-    {
-       27, -702, -702, -702, -702, -702, -702, -702, -702, -702,
-     -702, -702, -702,  939, -702, -702, -702, -702, -702, -702,
-     -702, -702, -702, -702, -702, -702, -702, -702, -702, -702,
-     -702, -702, -702, -702, -702, -702, -702, -702, -702, -702,
-     -702, -702, -702, -702, -702, -702, -702, -702, -702, -702,
-     -702, -702, -702, -702, -702, -702, -702, -702, -702, -702,
-
-     -702, -702, -702, -702, -702
-    },
-
-    {
-       27, -703, -703, -703, -703, -703, -703, -703, -703, -703,
-     -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
-     -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
-     -703, -703, -703,  940, -703, -703, -703, -703, -703, -703,
-     -703, -703, -703, -703, -703, -703, -703, -703, -703, -703,
-     -703, -703, -703, -703, -703, -703, -703, -703,  940, -703,
-     -703, -703, -703, -703, -703
-    },
-
-    {
-       27, -704, -704, -704, -704, -704, -704, -704, -704, -704,
-     -704, -704, -704, -704, -704,  941, -704, -704, -704, -704,
-
-     -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
-     -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
-     -704,  941, -704, -704, -704, -704, -704, -704, -704, -704,
-     -704, -704, -704, -704, -704, -704, -704, -704, -704, -704,
-     -704, -704, -704, -704, -704
-    },
-
-    {
-       27, -705, -705, -705, -705, -705, -705, -705, -705, -705,
-     -705, -705, -705, -705, -705, -705, -705, -705, -705, -705,
-     -705, -705, -705, -705,  942, -705, -705, -705, -705, -705,
-     -705, -705, -705, -705, -705, -705, -705, -705, -705, -705,
-     -705, -705, -705, -705, -705, -705, -705, -705, -705,  942,
-
-     -705, -705, -705, -705, -705, -705, -705, -705, -705, -705,
-     -705, -705, -705, -705, -705
-    },
-
-    {
-       27, -706, -706, -706, -706, -706, -706, -706, -706, -706,
-     -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
-     -706, -706,  943, -706, -706, -706, -706, -706, -706, -706,
-     -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
-     -706, -706, -706, -706, -706, -706, -706, -706,  943, -706,
-     -706, -706, -706, -706, -706, -706, -706, -706, -706, -706,
-     -706, -706, -706, -706, -706
-    },
-
-    {
-       27, -707, -707, -707, -707, -707, -707, -707, -707, -707,
-
-     -707, -707, -707, -707, -707, -707, -707, -707, -707, -707,
-     -707, -707, -707, -707, -707, -707, -707, -707, -707, -707,
-     -707, -707, -707,  944, -707, -707, -707, -707, -707, -707,
-     -707, -707, -707, -707, -707, -707, -707, -707, -707, -707,
-     -707, -707, -707, -707, -707, -707, -707, -707,  944, -707,
-     -707, -707, -707, -707, -707
-    },
-
-    {
-       27, -708, -708, -708, -708, -708, -708, -708, -708,  945,
-     -708, -708, -708, -708, -708, -708, -708, -708, -708, -708,
-     -708, -708, -708, -708, -708, -708, -708, -708, -708, -708,
-     -708, -708, -708, -708, -708, -708, -708, -708, -708,  946,
-
-     -708, -708, -708, -708, -708, -708, -708, -708, -708, -708,
-     -708, -708, -708, -708, -708, -708, -708, -708, -708, -708,
-     -708, -708, -708, -708, -708
-    },
-
-    {
-       27, -709, -709, -709, -709, -709, -709, -709, -709, -709,
-     -709, -709, -709, -709, -709, -709, -709, -709,  947, -709,
-     -709, -709, -709, -709, -709, -709, -709, -709, -709, -709,
-     -709, -709, -709, -709, -709, -709, -709, -709, -709, -709,
-     -709, -709, -709, -709,  947, -709, -709, -709, -709, -709,
-     -709, -709, -709, -709, -709, -709, -709, -709, -709, -709,
-     -709, -709, -709, -709, -709
-
-    },
-
-    {
-       27, -710, -710, -710, -710, -710, -710, -710, -710,  948,
-     -710, -710, -710, -710, -710, -710, -710, -710, -710, -710,
-     -710, -710, -710, -710, -710, -710, -710, -710, -710, -710,
-     -710, -710, -710, -710, -710, -710, -710, -710, -710,  949,
-     -710, -710, -710, -710, -710, -710, -710, -710, -710, -710,
-     -710, -710, -710, -710, -710, -710, -710, -710, -710, -710,
-     -710, -710, -710, -710, -710
-    },
-
-    {
-       27, -711, -711, -711, -711, -711, -711, -711, -711, -711,
-     -711, -711, -711, -711, -711, -711, -711, -711, -711, -711,
-     -711, -711, -711, -711, -711, -711, -711,  950, -711, -711,
-
-     -711, -711, -711, -711, -711, -711, -711, -711, -711, -711,
-     -711, -711, -711, -711, -711, -711, -711, -711, -711, -711,
-     -711, -711,  950, -711, -711, -711, -711, -711, -711, -711,
-     -711, -711, -711, -711, -711
-    },
-
-    {
-       27, -712, -712, -712, -712, -712, -712, -712, -712, -712,
-     -712, -712, -712, -712, -712, -712, -712, -712,  951, -712,
-     -712, -712, -712, -712, -712, -712, -712, -712, -712, -712,
-     -712, -712, -712, -712, -712, -712, -712, -712, -712, -712,
-     -712, -712, -712, -712,  951, -712, -712, -712, -712, -712,
-     -712, -712, -712, -712, -712, -712, -712, -712, -712, -712,
-
-     -712, -712, -712, -712, -712
-    },
-
-    {
-       27, -713, -713, -713, -713, -713, -713, -713, -713,  952,
-     -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
-     -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
-     -713, -713, -713, -713, -713, -713, -713, -713, -713,  953,
-     -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
-     -713, -713, -713, -713, -713, -713, -713, -713, -713, -713,
-     -713, -713, -713, -713, -713
-    },
-
-    {
-       27, -714, -714, -714, -714, -714, -714, -714, -714, -714,
-     -714, -714, -714, -714, -714, -714, -714, -714,  954, -714,
-
-     -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
-     -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
-     -714, -714, -714, -714,  954, -714, -714, -714, -714, -714,
-     -714, -714, -714, -714, -714, -714, -714, -714, -714, -714,
-     -714, -714, -714, -714, -714
-    },
-
-    {
-       27, -715, -715, -715, -715, -715, -715, -715, -715, -715,
-     -715, -715, -715, -715, -715, -715, -715, -715, -715, -715,
-      955, -715, -715, -715, -715, -715, -715, -715, -715, -715,
-     -715, -715, -715, -715, -715, -715, -715, -715, -715, -715,
-     -715, -715, -715, -715, -715, -715,  955, -715, -715, -715,
-
-     -715, -715, -715, -715, -715, -715, -715, -715, -715, -715,
-     -715, -715, -715, -715, -715
-    },
-
-    {
-       27, -716, -716, -716, -716, -716, -716, -716, -716, -716,
-     -716, -716, -716, -716, -716, -716, -716, -716, -716, -716,
-     -716, -716, -716, -716, -716, -716, -716, -716,  956, -716,
-     -716, -716, -716, -716, -716, -716, -716, -716, -716, -716,
-     -716, -716, -716, -716, -716, -716, -716, -716, -716, -716,
-     -716, -716, -716,  956, -716, -716, -716, -716, -716, -716,
-     -716, -716, -716, -716, -716
-    },
-
-    {
-       27, -717, -717, -717, -717, -717, -717, -717, -717,  957,
-
-     -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
-     -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
-     -717, -717, -717, -717, -717, -717, -717, -717, -717,  958,
-     -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
-     -717, -717, -717, -717, -717, -717, -717, -717, -717, -717,
-     -717, -717, -717, -717, -717
-    },
-
-    {
-       27, -718, -718, -718, -718, -718, -718, -718, -718, -718,
-     -718, -718, -718,  959, -718, -718, -718, -718, -718, -718,
-     -718, -718, -718, -718, -718, -718, -718, -718, -718, -718,
-     -718, -718, -718, -718, -718, -718, -718, -718, -718, -718,
-
-     -718, -718, -718, -718, -718, -718, -718, -718, -718, -718,
-     -718, -718, -718, -718, -718, -718, -718, -718, -718, -718,
-     -718, -718, -718, -718, -718
-    },
-
-    {
-       27, -719, -719, -719, -719, -719, -719, -719, -719, -719,
-     -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
-     -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
-     -719, -719,  960, -719, -719, -719, -719, -719, -719, -719,
-     -719, -719, -719, -719, -719, -719, -719, -719, -719, -719,
-     -719, -719, -719, -719, -719, -719, -719,  960, -719, -719,
-     -719, -719, -719, -719, -719
-
-    },
-
-    {
-       27, -720, -720, -720, -720, -720, -720, -720, -720, -720,
-     -720, -720, -720, -720, -720, -720, -720, -720, -720, -720,
-     -720, -720,  961, -720, -720, -720, -720, -720, -720, -720,
-     -720, -720, -720, -720, -720, -720, -720, -720, -720, -720,
-     -720, -720, -720, -720, -720, -720, -720, -720,  961, -720,
-     -720, -720, -720, -720, -720, -720, -720, -720, -720, -720,
-     -720, -720, -720, -720, -720
-    },
-
-    {
-       27, -721, -721, -721, -721, -721, -721, -721, -721, -721,
-     -721, -721, -721, -721, -721, -721, -721, -721,  962, -721,
-     -721, -721, -721, -721, -721, -721, -721, -721, -721, -721,
-
-     -721, -721, -721, -721,  963, -721, -721, -721, -721, -721,
-     -721, -721, -721, -721,  962, -721, -721, -721, -721, -721,
-     -721, -721, -721, -721, -721, -721, -721, -721, -721,  963,
-     -721, -721, -721, -721, -721
-    },
-
-    {
-       27, -722, -722, -722, -722, -722, -722, -722, -722, -722,
-     -722, -722, -722, -722, -722,  964, -722, -722, -722, -722,
-     -722, -722,  965, -722, -722, -722, -722, -722, -722, -722,
-     -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
-     -722,  964, -722, -722, -722, -722, -722, -722,  965, -722,
-     -722, -722, -722, -722, -722, -722, -722, -722, -722, -722,
-
-     -722, -722, -722, -722, -722
-    },
-
-    {
-       27, -723, -723, -723, -723, -723, -723, -723, -723, -723,
-     -723, -723, -723, -723, -723, -723, -723, -723, -723, -723,
-     -723, -723, -723, -723,  966, -723, -723, -723, -723, -723,
-     -723, -723, -723, -723, -723, -723, -723, -723, -723, -723,
-     -723, -723, -723, -723, -723, -723, -723, -723, -723,  966,
-     -723, -723, -723, -723, -723, -723, -723, -723, -723, -723,
-     -723, -723, -723, -723, -723
-    },
-
-    {
-       27, -724, -724, -724, -724, -724, -724, -724, -724, -724,
-     -724, -724, -724, -724, -724, -724, -724, -724,  967, -724,
-
-     -724, -724, -724, -724, -724, -724, -724, -724, -724, -724,
-     -724, -724, -724, -724, -724, -724, -724, -724, -724, -724,
-     -724, -724, -724, -724,  967, -724, -724, -724, -724, -724,
-     -724, -724, -724, -724, -724, -724, -724, -724, -724, -724,
-     -724, -724, -724, -724, -724
-    },
-
-    {
-       27, -725, -725, -725, -725, -725, -725, -725, -725, -725,
-     -725, -725, -725,  968, -725, -725, -725, -725, -725, -725,
-     -725, -725, -725, -725, -725, -725, -725, -725, -725, -725,
-     -725, -725, -725, -725, -725, -725, -725, -725, -725, -725,
-     -725, -725, -725, -725, -725, -725, -725, -725, -725, -725,
-
-     -725, -725, -725, -725, -725, -725, -725, -725, -725, -725,
-     -725, -725, -725, -725, -725
-    },
-
-    {
-       27, -726, -726, -726, -726, -726, -726, -726, -726, -726,
-     -726, -726, -726, -726, -726, -726, -726, -726, -726, -726,
-     -726, -726, -726, -726, -726, -726, -726, -726, -726, -726,
-     -726, -726, -726,  969, -726, -726, -726, -726, -726, -726,
-     -726, -726, -726, -726, -726, -726, -726, -726, -726, -726,
-     -726, -726, -726, -726, -726, -726, -726, -726,  969, -726,
-     -726, -726, -726, -726, -726
-    },
-
-    {
-       27, -727, -727, -727, -727, -727, -727, -727, -727, -727,
-
-     -727, -727, -727, -727,  970, -727, -727, -727, -727, -727,
-     -727, -727, -727, -727, -727, -727, -727, -727, -727, -727,
-     -727, -727, -727, -727, -727, -727, -727, -727, -727, -727,
-      970, -727, -727, -727, -727, -727, -727, -727, -727, -727,
-     -727, -727, -727, -727, -727, -727, -727, -727, -727, -727,
-     -727, -727, -727, -727, -727
-    },
-
-    {
-       27, -728, -728, -728, -728, -728, -728, -728, -728, -728,
-     -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
-     -728, -728, -728, -728,  971, -728, -728, -728, -728, -728,
-     -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
-
-     -728, -728, -728, -728, -728, -728, -728, -728, -728,  971,
-     -728, -728, -728, -728, -728, -728, -728, -728, -728, -728,
-     -728, -728, -728, -728, -728
-    },
-
-    {
-       27, -729, -729, -729, -729, -729, -729, -729, -729, -729,
-     -729, -729, -729, -729, -729, -729, -729, -729, -729, -729,
-     -729, -729,  972, -729, -729, -729, -729, -729, -729, -729,
-     -729, -729, -729, -729, -729, -729, -729, -729, -729, -729,
-     -729, -729, -729, -729, -729, -729, -729, -729,  972, -729,
-     -729, -729, -729, -729, -729, -729, -729, -729, -729, -729,
-     -729, -729, -729, -729, -729
-
-    },
-
-    {
-       27, -730, -730, -730, -730, -730, -730, -730, -730, -730,
-     -730, -730, -730, -730, -730, -730, -730, -730, -730, -730,
-     -730, -730, -730, -730, -730, -730, -730, -730, -730, -730,
-     -730, -730, -730,  973, -730, -730, -730, -730, -730, -730,
-     -730, -730, -730, -730, -730, -730, -730, -730, -730, -730,
-     -730, -730, -730, -730, -730, -730, -730, -730,  973, -730,
-     -730, -730, -730, -730, -730
-    },
-
-    {
-       27, -731, -731, -731, -731, -731, -731, -731, -731,  974,
-     -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
-     -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
-
-     -731, -731, -731, -731, -731, -731, -731, -731, -731,  975,
-     -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
-     -731, -731, -731, -731, -731, -731, -731, -731, -731, -731,
-     -731, -731, -731, -731, -731
-    },
-
-    {
-       27, -732, -732, -732, -732, -732, -732, -732, -732, -732,
-     -732, -732, -732, -732, -732, -732, -732, -732,  976, -732,
-     -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
-     -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
-     -732, -732, -732, -732,  976, -732, -732, -732, -732, -732,
-     -732, -732, -732, -732, -732, -732, -732, -732, -732, -732,
-
-     -732, -732, -732, -732, -732
-    },
-
-    {
-       27, -733, -733, -733, -733, -733, -733, -733, -733,  977,
-     -733, -733, -733, -733, -733, -733, -733, -733, -733, -733,
-     -733, -733, -733, -733, -733, -733, -733, -733, -733, -733,
-     -733, -733, -733, -733, -733, -733, -733, -733, -733,  978,
-     -733, -733, -733, -733, -733, -733, -733, -733, -733, -733,
-     -733, -733, -733, -733, -733, -733, -733, -733, -733, -733,
-     -733, -733, -733, -733, -733
-    },
-
-    {
-       27, -734, -734, -734, -734, -734, -734, -734, -734, -734,
-     -734, -734, -734, -734, -734, -734, -734, -734, -734, -734,
-
-     -734, -734, -734, -734, -734, -734, -734,  979, -734, -734,
-     -734, -734, -734, -734, -734, -734, -734, -734, -734, -734,
-     -734, -734, -734, -734, -734, -734, -734, -734, -734, -734,
-     -734, -734,  979, -734, -734, -734, -734, -734, -734, -734,
-     -734, -734, -734, -734, -734
-    },
-
-    {
-       27, -735, -735, -735, -735, -735, -735, -735, -735, -735,
-     -735, -735, -735, -735, -735, -735, -735, -735,  980, -735,
-     -735, -735, -735, -735, -735, -735, -735, -735, -735, -735,
-     -735, -735, -735, -735, -735, -735, -735, -735, -735, -735,
-     -735, -735, -735, -735,  980, -735, -735, -735, -735, -735,
-
-     -735, -735, -735, -735, -735, -735, -735, -735, -735, -735,
-     -735, -735, -735, -735, -735
-    },
-
-    {
-       27, -736, -736, -736, -736, -736, -736, -736, -736,  981,
-     -736, -736, -736, -736, -736, -736, -736, -736, -736, -736,
-     -736, -736, -736, -736, -736, -736, -736, -736, -736, -736,
-     -736, -736, -736, -736, -736, -736, -736, -736, -736,  982,
-     -736, -736, -736, -736, -736, -736, -736, -736, -736, -736,
-     -736, -736, -736, -736, -736, -736, -736, -736, -736, -736,
-     -736, -736, -736, -736, -736
-    },
-
-    {
-       27, -737, -737, -737, -737, -737, -737, -737, -737, -737,
-
-     -737, -737, -737, -737, -737, -737, -737, -737,  983, -737,
-     -737, -737, -737, -737, -737, -737, -737, -737, -737, -737,
-     -737, -737, -737, -737, -737, -737, -737, -737, -737, -737,
-     -737, -737, -737, -737,  983, -737, -737, -737, -737, -737,
-     -737, -737, -737, -737, -737, -737, -737, -737, -737, -737,
-     -737, -737, -737, -737, -737
-    },
-
-    {
-       27, -738, -738, -738, -738, -738, -738, -738, -738, -738,
-     -738, -738, -738, -738, -738, -738, -738, -738, -738, -738,
-      984, -738, -738, -738, -738, -738, -738, -738, -738, -738,
-     -738, -738, -738, -738, -738, -738, -738, -738, -738, -738,
-
-     -738, -738, -738, -738, -738, -738,  984, -738, -738, -738,
-     -738, -738, -738, -738, -738, -738, -738, -738, -738, -738,
-     -738, -738, -738, -738, -738
-    },
-
-    {
-       27, -739, -739, -739, -739, -739, -739, -739, -739, -739,
-     -739, -739, -739, -739, -739, -739, -739, -739, -739, -739,
-     -739, -739, -739, -739, -739, -739, -739, -739,  985, -739,
-     -739, -739, -739, -739, -739, -739, -739, -739, -739, -739,
-     -739, -739, -739, -739, -739, -739, -739, -739, -739, -739,
-     -739, -739, -739,  985, -739, -739, -739, -739, -739, -739,
-     -739, -739, -739, -739, -739
-
-    },
-
-    {
-       27, -740, -740, -740, -740, -740, -740, -740, -740,  986,
-     -740, -740, -740, -740, -740, -740, -740, -740, -740, -740,
-     -740, -740, -740, -740, -740, -740, -740, -740, -740, -740,
-     -740, -740, -740, -740, -740, -740, -740, -740, -740,  987,
-     -740, -740, -740, -740, -740, -740, -740, -740, -740, -740,
-     -740, -740, -740, -740, -740, -740, -740, -740, -740, -740,
-     -740, -740, -740, -740, -740
-    },
-
-    {
-       27, -741, -741, -741, -741, -741, -741, -741, -741, -741,
-     -741, -741, -741,  988, -741, -741, -741, -741, -741, -741,
-     -741, -741, -741, -741, -741, -741, -741, -741, -741, -741,
-
-     -741, -741, -741, -741, -741, -741, -741, -741, -741, -741,
-     -741, -741, -741, -741, -741, -741, -741, -741, -741, -741,
-     -741, -741, -741, -741, -741, -741, -741, -741, -741, -741,
-     -741, -741, -741, -741, -741
-    },
-
-    {
-       27, -742, -742, -742, -742, -742, -742, -742, -742, -742,
-     -742, -742, -742, -742, -742, -742, -742, -742, -742, -742,
-     -742, -742, -742, -742, -742, -742, -742, -742, -742, -742,
-     -742, -742,  989, -742, -742, -742, -742, -742, -742, -742,
-     -742, -742, -742, -742, -742, -742, -742, -742, -742, -742,
-     -742, -742, -742, -742, -742, -742, -742,  989, -742, -742,
-
-     -742, -742, -742, -742, -742
-    },
-
-    {
-       27, -743, -743, -743, -743, -743, -743, -743, -743, -743,
-     -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
-     -743, -743,  990, -743, -743, -743, -743, -743, -743, -743,
-     -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
-     -743, -743, -743, -743, -743, -743, -743, -743,  990, -743,
-     -743, -743, -743, -743, -743, -743, -743, -743, -743, -743,
-     -743, -743, -743, -743, -743
-    },
-
-    {
-       27, -744, -744, -744, -744, -744, -744, -744, -744, -744,
-     -744, -744, -744, -744, -744, -744, -744, -744,  991, -744,
-
-     -744, -744, -744, -744, -744, -744, -744, -744, -744, -744,
-     -744, -744, -744, -744,  992, -744, -744, -744, -744, -744,
-     -744, -744, -744, -744,  991, -744, -744, -744, -744, -744,
-     -744, -744, -744, -744, -744, -744, -744, -744, -744,  992,
-     -744, -744, -744, -744, -744
-    },
-
-    {
-       27, -745, -745, -745, -745, -745, -745, -745, -745, -745,
-     -745, -745, -745, -745, -745,  993, -745, -745, -745, -745,
-     -745, -745,  994, -745, -745, -745, -745, -745, -745, -745,
-     -745, -745, -745, -745, -745, -745, -745, -745, -745, -745,
-     -745,  993, -745, -745, -745, -745, -745, -745,  994, -745,
-
-     -745, -745, -745, -745, -745, -745, -745, -745, -745, -745,
-     -745, -745, -745, -745, -745
-    },
-
-    {
-       27, -746, -746, -746, -746, -746, -746, -746, -746, -746,
-     -746, -746, -746, -746, -746, -746, -746, -746, -746, -746,
-     -746, -746, -746, -746,  995, -746, -746, -746, -746, -746,
-     -746, -746, -746, -746, -746, -746, -746, -746, -746, -746,
-     -746, -746, -746, -746, -746, -746, -746, -746, -746,  995,
-     -746, -746, -746, -746, -746, -746, -746, -746, -746, -746,
-     -746, -746, -746, -746, -746
-    },
-
-    {
-       27, -747, -747, -747, -747, -747, -747, -747, -747, -747,
-
-     -747, -747, -747, -747, -747, -747, -747, -747,  996, -747,
-     -747, -747, -747, -747, -747, -747, -747, -747, -747, -747,
-     -747, -747, -747, -747, -747, -747, -747, -747, -747, -747,
-     -747, -747, -747, -747,  996, -747, -747, -747, -747, -747,
-     -747, -747, -747, -747, -747, -747, -747, -747, -747, -747,
-     -747, -747, -747, -747, -747
-    },
-
-    {
-       27, -748, -748, -748, -748, -748, -748, -748, -748, -748,
-     -748, -748, -748,  997, -748, -748, -748, -748, -748, -748,
-     -748, -748, -748, -748, -748, -748, -748, -748, -748, -748,
-     -748, -748, -748, -748, -748, -748, -748, -748, -748, -748,
-
-     -748, -748, -748, -748, -748, -748, -748, -748, -748, -748,
-     -748, -748, -748, -748, -748, -748, -748, -748, -748, -748,
-     -748, -748, -748, -748, -748
-    },
-
-    {
-       27, -749, -749, -749, -749, -749, -749, -749, -749, -749,
-      998,  178, -749, -749, -749, -749, -749, -749, -749, -749,
-     -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
-     -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
-     -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
-     -749, -749, -749, -749, -749, -749, -749, -749, -749, -749,
-     -749, -749, -749, -749, -749
-
-    },
-
-    {
-       27, -750, -750, -750, -750, -750, -750, -750, -750, -750,
-      999,  178, -750, -750,  999,  999,  999,  999,  999,  999,
-     -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
-     -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
-      999,  999,  999,  999,  999,  999, -750, -750, -750, -750,
-     -750, -750, -750, -750, -750, -750, -750, -750, -750, -750,
-     -750, -750, -750, -750, -750
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366, 1000,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366, 1000,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366, 1001,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366, 1001,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366, 1002,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366, 1002,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1003,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1004,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1004,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184, 1005,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 1005,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1006,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1007,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1007,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1008,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1008,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1009,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1009,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1010,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1011,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1011,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1012,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1012,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184, 1013,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1013,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1014,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1014,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184, 1015,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1016,  184,  184,  184,  184,  184,  184,
-      184, 1015,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1016,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1017,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1018,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1018,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1019,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1019,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184, 1020,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1020,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1021,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1022,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1023,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1023,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1024,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1025,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1025,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1026,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1027,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1027,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27, -777, 1028, 1028, -777, -777, -777, -777, -777, -777,
-
-     -777, -777, 1029, -777, -777, -777, -777, -777, -777, -777,
-     -777, -777, -777, -777, -777, -777, -777, -777, -777, -777,
-     -777, -777, -777, -777, -777, -777, -777, -777, -777, -777,
-     -777, -777, -777, -777, -777, -777, -777, -777, -777, -777,
-     -777, -777, -777, -777, -777, -777, -777, -777, -777, -777,
-     -777, -777, -777, -777, -777
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1030,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1030,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1031,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1031,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184, 1032,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1032,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184, 1033,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1033,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184, 1034,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184, 1034,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1035,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1035,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1036,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1036,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184, 1037,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1037,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1038,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1039,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27, -787, -787, -787, -787, -787, -787, -787, -787, -787,
-
-     -787, -787, -787, -787, -787, -787, -787, -787, -787, -787,
-     -787, -787, -787, -787, -787, -787, -787, -787, -787, -787,
-     -787, -787, -787, -787, -787, -787, -787, -787, -787, -787,
-     -787, -787, -787, -787, -787, -787, -787, -787, -787, -787,
-     -787, -787, -787, -787, -787, -787, -787, -787, -787, -787,
-     -787, -787, -787, -787, -787
-    },
-
-    {
-       27, -788, -788, -788, -788, -788, -788, -788, -788, -788,
-     -788, -788, -788, -788, -788, -788, -788, -788, 1040, -788,
-     -788, -788, -788, -788, -788, -788, -788, -788, -788, -788,
-     -788, -788, -788, -788, -788, -788, -788, -788, -788, -788,
-
-     -788, -788, -788, -788, 1040, -788, -788, -788, -788, -788,
-     -788, -788, -788, -788, -788, -788, -788, -788, -788, -788,
-     -788, -788, -788, -788, -788
-    },
-
-    {
-       27, -789, -789, -789, -789, -789, -789, -789, -789, -789,
-     -789, -789, -789, 1041, -789, -789, -789, -789, -789, -789,
-     -789, -789, -789, -789, -789, -789, -789, -789, -789, -789,
-     -789, -789, -789, -789, -789, -789, -789, -789, -789, -789,
-     -789, -789, -789, -789, -789, -789, -789, -789, -789, -789,
-     -789, -789, -789, -789, -789, -789, -789, -789, -789, -789,
-     -789, -789, -789, -789, -789
-
-    },
-
-    {
-       27, -790, -790, -790, -790, -790, -790, -790, -790, -790,
-     -790, -790, -790, -790, -790, -790, -790, -790, 1042, -790,
-     -790, -790, -790, -790, -790, -790, -790, -790, -790, -790,
-     -790, -790, -790, -790, -790, -790, -790, -790, -790, -790,
-     -790, -790, -790, -790, 1042, -790, -790, -790, -790, -790,
-     -790, -790, -790, -790, -790, -790, -790, -790, -790, -790,
-     -790, -790, -790, -790, -790
-    },
-
-    {
-       27, -791, -791, -791, -791, -791, -791, -791, -791, -791,
-     -791, -791, -791, -791, -791, -791, -791, -791, -791, -791,
-     -791, -791, -791, -791, -791, -791, -791, 1043, -791, -791,
-
-     -791, -791, -791, -791, -791, -791, -791, -791, -791, -791,
-     -791, -791, -791, -791, -791, -791, -791, -791, -791, -791,
-     -791, -791, 1043, -791, -791, -791, -791, -791, -791, -791,
-     -791, -791, -791, -791, -791
-    },
-
-    {
-       27, -792, -792, -792, -792, -792, -792, -792, -792, -792,
-     -792, -792, -792, -792, -792, -792, -792, -792, -792, -792,
-     -792, -792, -792, -792, -792, -792, -792, -792, -792, -792,
-     -792, -792, -792, -792, -792, -792, -792, -792, -792, -792,
-     -792, -792, -792, -792, -792, -792, -792, -792, -792, -792,
-     -792, -792, -792, -792, -792, -792, -792, -792, -792, -792,
-
-     -792, -792, -792, -792, -792
-    },
-
-    {
-       27, -793, -793, -793, -793, -793, -793, -793, -793, -793,
-     -793, -793, -793, -793, -793, -793, -793, -793, 1044, -793,
-     -793, -793, -793, -793, -793, -793, -793, -793, -793, -793,
-     -793, -793, -793, -793, -793, -793, -793, -793, -793, -793,
-     -793, -793, -793, -793, 1044, -793, -793, -793, -793, -793,
-     -793, -793, -793, -793, -793, -793, -793, -793, -793, -793,
-     -793, -793, -793, -793, -793
-    },
-
-    {
-       27, -794, -794, -794, -794, -794, -794, -794, -794, -794,
-     -794, -794, -794, -794, -794, -794, -794, -794, -794, -794,
-
-     -794, -794, -794, -794, -794, -794, -794, 1045, -794, -794,
-     -794, -794, -794, -794, -794, -794, -794, -794, -794, -794,
-     -794, -794, -794, -794, -794, -794, -794, -794, -794, -794,
-     -794, -794, 1045, -794, -794, -794, -794, -794, -794, -794,
-     -794, -794, -794, -794, -794
-    },
-
-    {
-       27, -795, -795, -795, -795, -795, -795, -795, -795, -795,
-     -795, -795, -795, -795, -795, -795, -795, -795, -795, -795,
-     -795, -795, -795, -795, -795, -795, -795, -795, -795, -795,
-     -795, -795, -795, -795, -795, -795, -795, -795, -795, -795,
-     -795, -795, -795, -795, -795, -795, -795, -795, -795, -795,
-
-     -795, -795, -795, -795, -795, -795, -795, -795, -795, -795,
-     -795, -795, -795, -795, -795
-    },
-
-    {
-       27, -796, -796, -796, -796, -796, -796, -796, -796, -796,
-     -796, -796, -796, -796, -796, -796, -796, -796, 1046, -796,
-     -796, -796, -796, -796, -796, -796, -796, -796, -796, -796,
-     -796, -796, -796, -796, -796, -796, -796, -796, -796, -796,
-     -796, -796, -796, -796, 1046, -796, -796, -796, -796, -796,
-     -796, -796, -796, -796, -796, -796, -796, -796, -796, -796,
-     -796, -796, -796, -796, -796
-    },
-
-    {
-       27, -797, -797, -797, -797, -797, -797, -797, -797, -797,
-
-     -797, -797, -797, 1047, -797, -797, -797, -797, -797, -797,
-     -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
-     -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
-     -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
-     -797, -797, -797, -797, -797, -797, -797, -797, -797, -797,
-     -797, -797, -797, -797, -797
-    },
-
-    {
-       27, -798, -798, -798, -798, -798, -798, -798, -798, -798,
-     -798, -798, -798, -798, -798, -798, -798, -798, -798, -798,
-     -798, -798, -798, -798, -798, -798, -798, -798, 1048, -798,
-     -798, -798, -798, -798, -798, -798, -798, -798, -798, -798,
-
-     -798, -798, -798, -798, -798, -798, -798, -798, -798, -798,
-     -798, -798, -798, 1048, -798, -798, -798, -798, -798, -798,
-     -798, -798, -798, -798, -798
-    },
-
-    {
-       27, -799, -799, -799, -799, -799, -799, -799, -799, -799,
-     -799, -799, -799, -799, -799, -799, -799, -799, 1049, -799,
-     -799, -799, -799, -799, -799, -799, -799, -799, -799, -799,
-     -799, -799, -799, -799, -799, -799, -799, -799, -799, -799,
-     -799, -799, -799, -799, 1049, -799, -799, -799, -799, -799,
-     -799, -799, -799, -799, -799, -799, -799, -799, -799, -799,
-     -799, -799, -799, -799, -799
-
-    },
-
-    {
-       27, -800, -800, -800, -800, -800, -800, -800, -800, -800,
-     -800, -800, -800, 1050, -800, -800, -800, -800, -800, -800,
-     -800, -800, -800, -800, -800, -800, -800, -800, -800, -800,
-     -800, -800, -800, -800, -800, -800, -800, -800, -800, -800,
-     -800, -800, -800, -800, -800, -800, -800, -800, -800, -800,
-     -800, -800, -800, -800, -800, -800, -800, -800, -800, -800,
-     -800, -800, -800, -800, -800
-    },
-
-    {
-       27, -801, -801, -801, -801, -801, -801, -801, -801, -801,
-     -801, -801, -801, -801, -801, -801, -801, -801, -801, -801,
-     -801, -801, -801, -801, -801, -801, -801, -801, -801, -801,
-
-     -801, -801, 1051, -801, -801, -801, -801, -801, -801, -801,
-     -801, -801, -801, -801, -801, -801, -801, -801, -801, -801,
-     -801, -801, -801, -801, -801, -801, -801, 1051, -801, -801,
-     -801, -801, -801, -801, -801
-    },
-
-    {
-       27, -802, -802, -802, -802, -802, -802, -802, -802, -802,
-     -802, -802, -802, -802, -802, -802, -802, -802, -802, -802,
-     -802, -802, -802, -802, -802, -802, -802, 1052, -802, -802,
-     -802, -802, -802, -802, -802, -802, -802, -802, -802, -802,
-     -802, -802, -802, -802, -802, -802, -802, -802, -802, -802,
-     -802, -802, 1052, -802, -802, -802, -802, -802, -802, -802,
-
-     -802, -802, -802, -802, -802
-    },
-
-    {
-       27, -803, -803, -803, -803, -803, -803, -803, -803, -803,
-     -803, -803, -803, 1053, -803, -803, -803, -803, -803, -803,
-     -803, -803, -803, -803, -803, -803, -803, -803, -803, -803,
-     -803, -803, -803, -803, -803, -803, -803, -803, -803, -803,
-     -803, -803, -803, -803, -803, -803, -803, -803, -803, -803,
-     -803, -803, -803, -803, -803, -803, -803, -803, -803, -803,
-     -803, -803, -803, -803, -803
-    },
-
-    {
-       27, -804, -804, -804, -804, -804, -804, -804, -804, -804,
-     -804, -804, -804, -804, -804, -804, -804, -804, -804, -804,
-
-     -804, -804, -804, -804, -804, -804, -804, -804, -804, -804,
-     -804, -804, 1054, -804, -804, -804, -804, -804, -804, -804,
-     -804, -804, -804, -804, -804, -804, -804, -804, -804, -804,
-     -804, -804, -804, -804, -804, -804, -804, 1054, -804, -804,
-     -804, -804, -804, -804, -804
-    },
-
-    {
-       27, -805, -805, -805, -805, -805, -805, -805, -805, -805,
-     -805, -805, -805, -805, -805, -805, -805, -805, -805, -805,
-     -805, -805, -805, -805, -805, -805, -805, -805, 1055, -805,
-     -805, -805, -805, -805, -805, -805, -805, -805, -805, -805,
-     -805, -805, -805, -805, -805, -805, -805, -805, -805, -805,
-
-     -805, -805, -805, 1055, -805, -805, -805, -805, -805, -805,
-     -805, -805, -805, -805, -805
-    },
-
-    {
-       27, -806, -806, -806, -806, -806, -806, -806, -806, -806,
-     -806, -806, -806, -806, -806, 1056, -806, -806, -806, -806,
-     -806, -806, -806, -806, -806, -806, -806, -806, -806, -806,
-     -806, -806, -806, 1057, -806, -806, -806, -806, -806, -806,
-     -806, 1056, -806, -806, -806, -806, -806, -806, -806, -806,
-     -806, -806, -806, -806, -806, -806, -806, -806, 1057, -806,
-     -806, -806, -806, -806, -806
-    },
-
-    {
-       27, -807, -807, -807, -807, -807, -807, -807, -807, -807,
-
-     -807, -807, -807, 1058, -807, -807, -807, -807, -807, -807,
-     -807, -807, -807, -807, -807, -807, -807, -807, -807, -807,
-     -807, -807, -807, -807, -807, -807, -807, -807, -807, -807,
-     -807, -807, -807, -807, -807, -807, -807, -807, -807, -807,
-     -807, -807, -807, -807, -807, -807, -807, -807, -807, -807,
-     -807, -807, -807, -807, -807
-    },
-
-    {
-       27, -808, -808, -808, -808, -808, -808, -808, -808, -808,
-     -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
-     -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
-     -808, -808, 1059, -808, -808, -808, -808, -808, -808, -808,
-
-     -808, -808, -808, -808, -808, -808, -808, -808, -808, -808,
-     -808, -808, -808, -808, -808, -808, -808, 1059, -808, -808,
-     -808, -808, -808, -808, -808
-    },
-
-    {
-       27, -809, -809, -809, -809, -809, -809, -809, -809, 1060,
-     -809, -809, -809, -809, -809, -809, -809, -809, -809, -809,
-     -809, -809, -809, -809, -809, -809, -809, -809, -809, -809,
-     -809, -809, -809, -809, -809, -809, -809, -809, -809, 1061,
-     -809, -809, -809, -809, -809, -809, -809, -809, -809, -809,
-     -809, -809, -809, -809, -809, -809, -809, -809, -809, -809,
-     -809, -809, -809, -809, -809
-
-    },
-
-    {
-       27, -810, -810, -810, -810, -810, -810, -810, -810, -810,
-     -810, -810, -810, -810, -810, -810, -810, -810, -810, -810,
-     -810, -810, -810, -810, -810, -810, -810, -810, -810, -810,
-     -810, 1062, -810, -810, -810, -810, -810, -810, -810, -810,
-     -810, -810, -810, -810, -810, -810, -810, -810, -810, -810,
-     -810, -810, -810, -810, -810, -810, 1062, -810, -810, -810,
-     -810, -810, -810, -810, -810
-    },
-
-    {
-       27, -811, -811, -811, -811, -811, -811, -811, -811, -811,
-     -811, -811, -811, -811, -811, -811, -811, -811, -811, -811,
-     -811, -811, -811, -811, -811, -811, -811, -811, -811, -811,
-
-     -811, -811, -811, -811, -811, -811, 1063, -811, -811, -811,
-     -811, -811, -811, -811, -811, -811, -811, -811, -811, -811,
-     -811, -811, -811, -811, -811, -811, -811, -811, -811, -811,
-     -811, 1063, -811, -811, -811
-    },
-
-    {
-       27, -812, -812, -812, -812, -812, -812, -812, -812, -812,
-     -812, -812, -812, 1064, -812, -812, -812, -812, -812, -812,
-     -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
-     -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
-     -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
-     -812, -812, -812, -812, -812, -812, -812, -812, -812, -812,
-
-     -812, -812, -812, -812, -812
-    },
-
-    {
-       27, -813, -813, -813, -813, -813, -813, -813, -813, -813,
-     -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
-     -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
-     -813, -813, 1065, -813, -813, -813, -813, -813, -813, -813,
-     -813, -813, -813, -813, -813, -813, -813, -813, -813, -813,
-     -813, -813, -813, -813, -813, -813, -813, 1065, -813, -813,
-     -813, -813, -813, -813, -813
-    },
-
-    {
-       27, -814, 1066, 1066, -814, -814, -814, -814, -814, -814,
-     -814, -814, 1067, -814, -814, -814, -814, -814, -814, -814,
-
-     -814, -814, -814, -814, -814, -814, -814, -814, -814, -814,
-     -814, -814, -814, -814, -814, -814, -814, -814, -814, -814,
-     -814, -814, -814, -814, -814, -814, -814, -814, -814, -814,
-     -814, -814, -814, -814, -814, -814, -814, -814, -814, -814,
-     -814, -814, -814, -814, -814
-    },
-
-    {
-       27, -815, -815, -815, -815, -815, -815, -815, -815, -815,
-     -815, -815, -815, -815, -815, -815, -815, -815, -815, -815,
-     -815, -815, -815, -815, -815, -815, -815, -815, -815, -815,
-     -815, -815, -815, 1068, -815, -815, -815, -815, -815, -815,
-     -815, -815, -815, -815, -815, -815, -815, -815, -815, -815,
-
-     -815, -815, -815, -815, -815, -815, -815, -815, 1068, -815,
-     -815, -815, -815, -815, -815
-    },
-
-    {
-       27, -816, -816, -816, -816, -816, -816, -816, -816, -816,
-     -816, -816, -816, -816, -816, -816, -816, -816, -816, -816,
-     -816, -816, -816, -816, -816, -816, -816, -816, 1069, -816,
-     -816, -816, -816, -816, -816, -816, -816, -816, -816, -816,
-     -816, -816, -816, -816, -816, -816, -816, -816, -816, -816,
-     -816, -816, -816, 1069, -816, -816, -816, -816, -816, -816,
-     -816, -816, -816, -816, -816
-    },
-
-    {
-       27, -817, -817, -817, -817, -817, -817, -817, -817, -817,
-
-     -817, -817, -817, -817, -817, -817, 1070, -817, -817, -817,
-     -817, -817, -817, -817, -817, -817, -817, -817, -817, -817,
-     -817, -817, -817, -817, -817, -817, -817, -817, -817, -817,
-     -817, -817, 1070, -817, -817, -817, -817, -817, -817, -817,
-     -817, -817, -817, -817, -817, -817, -817, -817, -817, -817,
-     -817, -817, -817, -817, -817
-    },
-
-    {
-       27, -818, -818, -818, -818, -818, -818, -818, -818, -818,
-     -818, -818, -818, -818, -818, 1071, -818, -818, -818, -818,
-     -818, -818, -818, -818, -818, -818, -818, -818, -818, -818,
-     -818, -818, -818, -818, -818, -818, -818, -818, -818, -818,
-
-     -818, 1071, -818, -818, -818, -818, -818, -818, -818, -818,
-     -818, -818, -818, -818, -818, -818, -818, -818, -818, -818,
-     -818, -818, -818, -818, -818
-    },
-
-    {
-       27, -819, -819, -819, -819, -819, -819, -819, -819, -819,
-     -819, -819, -819, -819, -819, -819, -819, -819, -819, 1072,
-     -819, -819, -819, -819, -819, -819, -819, -819, -819, -819,
-     -819, -819, -819, -819, -819, -819, -819, -819, -819, -819,
-     -819, -819, -819, -819, -819, 1072, -819, -819, -819, -819,
-     -819, -819, -819, -819, -819, -819, -819, -819, -819, -819,
-     -819, -819, -819, -819, -819
-
-    },
-
-    {
-       27, -820, -820, -820, -820, -820, -820, -820, -820, -820,
-     -820, -820, -820, -820, -820, -820, -820, -820, -820, -820,
-     -820, -820, -820, -820, -820, -820, -820, -820, -820, -820,
-     -820, -820, -820, 1073, -820, -820, -820, -820, -820, -820,
-     -820, -820, -820, -820, -820, -820, -820, -820, -820, -820,
-     -820, -820, -820, -820, -820, -820, -820, -820, 1073, -820,
-     -820, -820, -820, -820, -820
-    },
-
-    {
-       27, -821, -821, -821, -821, -821, -821, -821, -821, -821,
-     -821, -821, -821, -821, -821, -821, -821, -821, -821, -821,
-     -821, -821, -821, -821, -821, -821, -821, -821, -821, -821,
-
-     -821, -821, 1074, -821, -821, -821, -821, -821, -821, -821,
-     -821, -821, -821, -821, -821, -821, -821, -821, -821, -821,
-     -821, -821, -821, -821, -821, -821, -821, 1074, -821, -821,
-     -821, -821, -821, -821, -821
-    },
-
-    {
-       27, -822, -822, -822, -822, -822, -822, -822, -822, 1075,
-     -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
-     -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
-     -822, -822, -822, -822, -822, -822, -822, -822, -822, 1076,
-     -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
-     -822, -822, -822, -822, -822, -822, -822, -822, -822, -822,
-
-     -822, -822, -822, -822, -822
-    },
-
-    {
-       27, -823, -823, -823, -823, -823, -823, -823, -823, -823,
-     -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
-     -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
-     -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
-     -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
-     -823, -823, -823, -823, -823, -823, -823, -823, -823, -823,
-     -823, -823, -823, -823, -823
-    },
-
-    {
-       27, -824, -824, -824, -824, -824, -824, -824, -824, -824,
-     -824, -824, -824, -824, -824, -824, -824, -824, 1077, -824,
-
-     -824, -824, -824, -824, -824, -824, -824, -824, -824, -824,
-     -824, -824, -824, -824, -824, -824, -824, -824, -824, -824,
-     -824, -824, -824, -824, 1077, -824, -824, -824, -824, -824,
-     -824, -824, -824, -824, -824, -824, -824, -824, -824, -824,
-     -824, -824, -824, -824, -824
-    },
-
-    {
-       27, -825, -825, -825, -825, -825, -825, -825, -825, -825,
-     -825, -825, -825, -825, -825, -825, -825, -825, -825, -825,
-     -825, -825, -825, -825, -825, -825, 1078, -825, -825, -825,
-     -825, -825, -825, -825, -825, -825, -825, -825, -825, -825,
-     -825, -825, -825, -825, -825, -825, -825, -825, -825, -825,
-
-     -825, 1078, -825, -825, -825, -825, -825, -825, -825, -825,
-     -825, -825, -825, -825, -825
-    },
-
-    {
-       27, -826, -826, -826, -826, -826, -826, -826, -826, -826,
-     -826, -826, -826, 1079, -826, -826, -826, -826, -826, -826,
-     -826, -826, -826, -826, -826, -826, -826, -826, -826, -826,
-     -826, -826, -826, -826, -826, -826, -826, -826, -826, -826,
-     -826, -826, -826, -826, -826, -826, -826, -826, -826, -826,
-     -826, -826, -826, -826, -826, -826, -826, -826, -826, -826,
-     -826, -826, -826, -826, -826
-    },
-
-    {
-       27, -827, -827, -827, -827, -827, -827, -827, -827, -827,
-
-     -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
-     -827, -827, -827, -827, -827, -827, -827, -827, 1080, -827,
-     -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
-     -827, -827, -827, -827, -827, -827, -827, -827, -827, -827,
-     -827, -827, -827, 1080, -827, -827, -827, -827, -827, -827,
-     -827, -827, -827, -827, -827
-    },
-
-    {
-       27, -828, -828, -828, -828, -828, -828, -828, -828, -828,
-     -828, -828, -828, -828, -828, -828, -828, -828, 1081, -828,
-     -828, -828, -828, -828, -828, -828, -828, -828, -828, -828,
-     -828, -828, -828, -828, -828, -828, -828, -828, -828, -828,
-
-     -828, -828, -828, -828, 1081, -828, -828, -828, -828, -828,
-     -828, -828, -828, -828, -828, -828, -828, -828, -828, -828,
-     -828, -828, -828, -828, -828
-    },
-
-    {
-       27, -829, -829, -829, -829, -829, -829, -829, -829, -829,
-     -829, -829, -829, 1082, -829, -829, -829, -829, -829, -829,
-     -829, -829, -829, -829, -829, -829, -829, -829, -829, -829,
-     -829, -829, -829, -829, -829, -829, -829, -829, -829, -829,
-     -829, -829, -829, -829, -829, -829, -829, -829, -829, -829,
-     -829, -829, -829, -829, -829, -829, -829, -829, -829, -829,
-     -829, -829, -829, -829, -829
-
-    },
-
-    {
-       27, -830, -830, -830, -830, -830, -830, -830, -830, -830,
-     -830, -830, -830, -830, -830, -830, -830, -830, -830, -830,
-     -830, -830, -830, -830, -830, -830, -830, -830, -830, -830,
-     -830, -830, 1083, -830, -830, -830, -830, -830, -830, -830,
-     -830, -830, -830, -830, -830, -830, -830, -830, -830, -830,
-     -830, -830, -830, -830, -830, -830, -830, 1083, -830, -830,
-     -830, -830, -830, -830, -830
-    },
-
-    {
-       27, -831, -831, -831, -831, -831, -831, -831, -831, -831,
-     -831, -831, -831, -831, -831, -831, -831, -831, -831, -831,
-     -831, -831, -831, -831, -831, -831, -831, 1084, -831, -831,
-
-     -831, -831, -831, -831, -831, -831, -831, -831, -831, -831,
-     -831, -831, -831, -831, -831, -831, -831, -831, -831, -831,
-     -831, -831, 1084, -831, -831, -831, -831, -831, -831, -831,
-     -831, -831, -831, -831, -831
-    },
-
-    {
-       27, -832, -832, -832, -832, -832, -832, -832, -832, -832,
-     -832, -832, -832, 1085, -832, -832, -832, -832, -832, -832,
-     -832, -832, -832, -832, -832, -832, -832, -832, -832, -832,
-     -832, -832, -832, -832, -832, -832, -832, -832, -832, -832,
-     -832, -832, -832, -832, -832, -832, -832, -832, -832, -832,
-     -832, -832, -832, -832, -832, -832, -832, -832, -832, -832,
-
-     -832, -832, -832, -832, -832
-    },
-
-    {
-       27, -833, -833, -833, -833, -833, -833, -833, -833, -833,
-     -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
-     -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
-     -833, -833, 1086, -833, -833, -833, -833, -833, -833, -833,
-     -833, -833, -833, -833, -833, -833, -833, -833, -833, -833,
-     -833, -833, -833, -833, -833, -833, -833, 1086, -833, -833,
-     -833, -833, -833, -833, -833
-    },
-
-    {
-       27, -834, -834, -834, -834, -834, -834, -834, -834, -834,
-     -834, -834, -834, -834, -834, -834, -834, -834, -834, -834,
-
-     -834, -834, -834, -834, -834, -834, -834, -834, 1087, -834,
-     -834, -834, -834, -834, -834, -834, -834, -834, -834, -834,
-     -834, -834, -834, -834, -834, -834, -834, -834, -834, -834,
-     -834, -834, -834, 1087, -834, -834, -834, -834, -834, -834,
-     -834, -834, -834, -834, -834
-    },
-
-    {
-       27, -835, -835, -835, -835, -835, -835, -835, -835, -835,
-     -835, -835, -835, -835, -835, 1088, -835, -835, -835, -835,
-     -835, -835, -835, -835, -835, -835, -835, -835, -835, -835,
-     -835, -835, -835, 1089, -835, -835, -835, -835, -835, -835,
-     -835, 1088, -835, -835, -835, -835, -835, -835, -835, -835,
-
-     -835, -835, -835, -835, -835, -835, -835, -835, 1089, -835,
-     -835, -835, -835, -835, -835
-    },
-
-    {
-       27, -836, -836, -836, -836, -836, -836, -836, -836, -836,
-     -836, -836, -836, 1090, -836, -836, -836, -836, -836, -836,
-     -836, -836, -836, -836, -836, -836, -836, -836, -836, -836,
-     -836, -836, -836, -836, -836, -836, -836, -836, -836, -836,
-     -836, -836, -836, -836, -836, -836, -836, -836, -836, -836,
-     -836, -836, -836, -836, -836, -836, -836, -836, -836, -836,
-     -836, -836, -836, -836, -836
-    },
-
-    {
-       27, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-
-     -837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-     -837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-     -837, -837, 1091, -837, -837, -837, -837, -837, -837, -837,
-     -837, -837, -837, -837, -837, -837, -837, -837, -837, -837,
-     -837, -837, -837, -837, -837, -837, -837, 1091, -837, -837,
-     -837, -837, -837, -837, -837
-    },
-
-    {
-       27, -838, -838, -838, -838, -838, -838, -838, -838, 1092,
-     -838, -838, -838, -838, -838, -838, -838, -838, -838, -838,
-     -838, -838, -838, -838, -838, -838, -838, -838, -838, -838,
-     -838, -838, -838, -838, -838, -838, -838, -838, -838, 1093,
-
-     -838, -838, -838, -838, -838, -838, -838, -838, -838, -838,
-     -838, -838, -838, -838, -838, -838, -838, -838, -838, -838,
-     -838, -838, -838, -838, -838
-    },
-
-    {
-       27, -839, -839, -839, -839, -839, -839, -839, -839, -839,
-     -839, -839, -839, -839, -839, -839, -839, -839, -839, -839,
-     -839, -839, -839, -839, -839, -839, -839, -839, -839, -839,
-     -839, 1094, -839, -839, -839, -839, -839, -839, -839, -839,
-     -839, -839, -839, -839, -839, -839, -839, -839, -839, -839,
-     -839, -839, -839, -839, -839, -839, 1094, -839, -839, -839,
-     -839, -839, -839, -839, -839
-
-    },
-
-    {
-       27, -840, -840, -840, -840, -840, -840, -840, -840, -840,
-     -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
-     -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
-     -840, -840, -840, -840, -840, -840, 1095, -840, -840, -840,
-     -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
-     -840, -840, -840, -840, -840, -840, -840, -840, -840, -840,
-     -840, 1095, -840, -840, -840
-    },
-
-    {
-       27, -841, -841, -841, -841, -841, -841, -841, -841, -841,
-     -841, -841, -841, 1096, -841, -841, -841, -841, -841, -841,
-     -841, -841, -841, -841, -841, -841, -841, -841, -841, -841,
-
-     -841, -841, -841, -841, -841, -841, -841, -841, -841, -841,
-     -841, -841, -841, -841, -841, -841, -841, -841, -841, -841,
-     -841, -841, -841, -841, -841, -841, -841, -841, -841, -841,
-     -841, -841, -841, -841, -841
-    },
-
-    {
-       27, -842, -842, -842, -842, -842, -842, -842, -842, -842,
-     -842, -842, -842, -842, -842, -842, -842, -842, -842, -842,
-     -842, -842, -842, -842, -842, -842, -842, -842, -842, -842,
-     -842, -842, 1097, -842, -842, -842, -842, -842, -842, -842,
-     -842, -842, -842, -842, -842, -842, -842, -842, -842, -842,
-     -842, -842, -842, -842, -842, -842, -842, 1097, -842, -842,
-
-     -842, -842, -842, -842, -842
-    },
-
-    {
-       27, -843, 1098, 1098, -843, -843, -843, -843, -843, -843,
-     -843, -843, 1099, -843, -843, -843, -843, -843, -843, -843,
-     -843, -843, -843, -843, -843, -843, -843, -843, -843, -843,
-     -843, -843, -843, -843, -843, -843, -843, -843, -843, -843,
-     -843, -843, -843, -843, -843, -843, -843, -843, -843, -843,
-     -843, -843, -843, -843, -843, -843, -843, -843, -843, -843,
-     -843, -843, -843, -843, -843
-    },
-
-    {
-       27, -844, -844, -844, -844, -844, -844, -844, -844, -844,
-     -844, -844, -844, -844, -844, -844, -844, -844, -844, -844,
-
-     -844, -844, -844, -844, -844, -844, -844, -844, -844, -844,
-     -844, -844, -844, 1100, -844, -844, -844, -844, -844, -844,
-     -844, -844, -844, -844, -844, -844, -844, -844, -844, -844,
-     -844, -844, -844, -844, -844, -844, -844, -844, 1100, -844,
-     -844, -844, -844, -844, -844
-    },
-
-    {
-       27, -845, -845, -845, -845, -845, -845, -845, -845, -845,
-     -845, -845, -845, -845, -845, -845, -845, -845, -845, -845,
-     -845, -845, -845, -845, -845, -845, -845, -845, 1101, -845,
-     -845, -845, -845, -845, -845, -845, -845, -845, -845, -845,
-     -845, -845, -845, -845, -845, -845, -845, -845, -845, -845,
-
-     -845, -845, -845, 1101, -845, -845, -845, -845, -845, -845,
-     -845, -845, -845, -845, -845
-    },
-
-    {
-       27, -846, -846, -846, -846, -846, -846, -846, -846, -846,
-     -846, -846, -846, -846, -846, -846, 1102, -846, -846, -846,
-     -846, -846, -846, -846, -846, -846, -846, -846, -846, -846,
-     -846, -846, -846, -846, -846, -846, -846, -846, -846, -846,
-     -846, -846, 1102, -846, -846, -846, -846, -846, -846, -846,
-     -846, -846, -846, -846, -846, -846, -846, -846, -846, -846,
-     -846, -846, -846, -846, -846
-    },
-
-    {
-       27, -847, -847, -847, -847, -847, -847, -847, -847, -847,
-
-     -847, -847, -847, -847, -847, 1103, -847, -847, -847, -847,
-     -847, -847, -847, -847, -847, -847, -847, -847, -847, -847,
-     -847, -847, -847, -847, -847, -847, -847, -847, -847, -847,
-     -847, 1103, -847, -847, -847, -847, -847, -847, -847, -847,
-     -847, -847, -847, -847, -847, -847, -847, -847, -847, -847,
-     -847, -847, -847, -847, -847
-    },
-
-    {
-       27, -848, -848, -848, -848, -848, -848, -848, -848, -848,
-     -848, -848, -848, -848, -848, -848, -848, -848, -848, 1104,
-     -848, -848, -848, -848, -848, -848, -848, -848, -848, -848,
-     -848, -848, -848, -848, -848, -848, -848, -848, -848, -848,
-
-     -848, -848, -848, -848, -848, 1104, -848, -848, -848, -848,
-     -848, -848, -848, -848, -848, -848, -848, -848, -848, -848,
-     -848, -848, -848, -848, -848
-    },
-
-    {
-       27, -849, -849, -849, -849, -849, -849, -849, -849, -849,
-     -849, -849, -849, -849, -849, -849, -849, -849, -849, -849,
-     -849, -849, -849, -849, -849, -849, -849, -849, -849, -849,
-     -849, -849, -849, 1105, -849, -849, -849, -849, -849, -849,
-     -849, -849, -849, -849, -849, -849, -849, -849, -849, -849,
-     -849, -849, -849, -849, -849, -849, -849, -849, 1105, -849,
-     -849, -849, -849, -849, -849
-
-    },
-
-    {
-       27, -850, -850, -850, -850, -850, -850, -850, -850, -850,
-     -850, -850, -850, -850, -850, -850, -850, -850, -850, -850,
-     -850, -850, -850, -850, -850, -850, -850, -850, -850, -850,
-     -850, -850, 1106, -850, -850, -850, -850, -850, -850, -850,
-     -850, -850, -850, -850, -850, -850, -850, -850, -850, -850,
-     -850, -850, -850, -850, -850, -850, -850, 1106, -850, -850,
-     -850, -850, -850, -850, -850
-    },
-
-    {
-       27, -851, -851, -851, -851, -851, -851, -851, -851, 1107,
-     -851, -851, -851, -851, -851, -851, -851, -851, -851, -851,
-     -851, -851, -851, -851, -851, -851, -851, -851, -851, -851,
-
-     -851, -851, -851, -851, -851, -851, -851, -851, -851, 1108,
-     -851, -851, -851, -851, -851, -851, -851, -851, -851, -851,
-     -851, -851, -851, -851, -851, -851, -851, -851, -851, -851,
-     -851, -851, -851, -851, -851
-    },
-
-    {
-       27, -852, -852, -852, -852, -852, -852, -852, -852, -852,
-     -852, -852, -852, -852, -852, -852, -852, -852, -852, -852,
-     -852, -852, -852, -852, -852, -852, -852, -852, -852, -852,
-     -852, -852, -852, -852, -852, -852, -852, -852, -852, -852,
-     -852, -852, -852, -852, -852, -852, -852, -852, -852, -852,
-     -852, -852, -852, -852, -852, -852, -852, -852, -852, -852,
-
-     -852, -852, -852, -852, -852
-    },
-
-    {
-       27, -853, -853, -853, -853, -853, -853, -853, -853, -853,
-     -853, -853, -853, -853, -853, -853, -853, -853, 1109, -853,
-     -853, -853, -853, -853, -853, -853, -853, -853, -853, -853,
-     -853, -853, -853, -853, -853, -853, -853, -853, -853, -853,
-     -853, -853, -853, -853, 1109, -853, -853, -853, -853, -853,
-     -853, -853, -853, -853, -853, -853, -853, -853, -853, -853,
-     -853, -853, -853, -853, -853
-    },
-
-    {
-       27, -854, -854, -854, -854, -854, -854, -854, -854, -854,
-     -854, -854, -854, -854, -854, -854, -854, -854, -854, -854,
-
-     -854, -854, -854, -854, -854, -854, -854, -854, -854, -854,
-     -854, -854, -854, -854, -854, -854, -854, -854, -854, 1110,
-     -854, -854, -854, -854, -854, -854, -854, -854, -854, -854,
-     -854, -854, -854, -854, -854, -854, -854, -854, -854, -854,
-     -854, -854, -854, -854, -854
-    },
-
-    {
-       27, -855, -855, -855, -855, -855, -855, -855, -855, -855,
-     -855, -855, -855, 1111, -855, -855, -855, -855, -855, -855,
-     -855, -855, -855, -855, -855, -855, -855, -855, -855, -855,
-     -855, -855, -855, -855, -855, -855, -855, -855, -855, -855,
-     -855, -855, -855, -855, -855, -855, -855, -855, -855, -855,
-
-     -855, -855, -855, -855, -855, -855, -855, -855, -855, -855,
-     -855, -855, -855, -855, -855
-    },
-
-    {
-       27, -856, -856, -856, -856, -856, -856, -856, -856, -856,
-     -856, -856, -856, -856, -856, -856, -856, -856, -856, -856,
-     -856, -856, -856, -856, -856, -856, -856, -856, 1112, -856,
-     -856, -856, -856, -856, -856, -856, -856, -856, -856, -856,
-     -856, -856, -856, -856, -856, -856, -856, -856, -856, -856,
-     -856, -856, -856, 1112, -856, -856, -856, -856, -856, -856,
-     -856, -856, -856, -856, -856
-    },
-
-    {
-       27, -857, -857, -857, -857, -857, -857, -857, -857, -857,
-
-     -857, -857, -857, -857, -857, -857, -857, -857, 1113, -857,
-     -857, -857, -857, -857, -857, -857, -857, -857, -857, -857,
-     -857, -857, -857, -857, -857, -857, -857, -857, -857, -857,
-     -857, -857, -857, -857, 1113, -857, -857, -857, -857, -857,
-     -857, -857, -857, -857, -857, -857, -857, -857, -857, -857,
-     -857, -857, -857, -857, -857
-    },
-
-    {
-       27, -858, -858, -858, -858, -858, -858, -858, -858, -858,
-     -858, -858, -858, 1114, -858, -858, -858, -858, -858, -858,
-     -858, -858, -858, -858, -858, -858, -858, -858, -858, -858,
-     -858, -858, -858, -858, -858, -858, -858, -858, -858, -858,
-
-     -858, -858, -858, -858, -858, -858, -858, -858, -858, -858,
-     -858, -858, -858, -858, -858, -858, -858, -858, -858, -858,
-     -858, -858, -858, -858, -858
-    },
-
-    {
-       27, -859, -859, -859, -859, -859, -859, -859, -859, -859,
-     -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
-     -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
-     -859, -859, 1115, -859, -859, -859, -859, -859, -859, -859,
-     -859, -859, -859, -859, -859, -859, -859, -859, -859, -859,
-     -859, -859, -859, -859, -859, -859, -859, 1115, -859, -859,
-     -859, -859, -859, -859, -859
-
-    },
-
-    {
-       27, -860, -860, -860, -860, -860, -860, -860, -860, -860,
-     -860, -860, -860, -860, -860, -860, -860, -860, -860, -860,
-     -860, -860, -860, -860, -860, -860, -860, 1116, -860, -860,
-     -860, -860, -860, -860, -860, -860, -860, -860, -860, -860,
-     -860, -860, -860, -860, -860, -860, -860, -860, -860, -860,
-     -860, -860, 1116, -860, -860, -860, -860, -860, -860, -860,
-     -860, -860, -860, -860, -860
-    },
-
-    {
-       27, -861, -861, -861, -861, -861, -861, -861, -861, -861,
-     -861, -861, -861, 1117, -861, -861, -861, -861, -861, -861,
-     -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
-
-     -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
-     -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
-     -861, -861, -861, -861, -861, -861, -861, -861, -861, -861,
-     -861, -861, -861, -861, -861
-    },
-
-    {
-       27, -862, -862, -862, -862, -862, -862, -862, -862, -862,
-     -862, -862, -862, -862, -862, -862, -862, -862, -862, -862,
-     -862, -862, -862, -862, -862, -862, -862, -862, -862, -862,
-     -862, -862, 1118, -862, -862, -862, -862, -862, -862, -862,
-     -862, -862, -862, -862, -862, -862, -862, -862, -862, -862,
-     -862, -862, -862, -862, -862, -862, -862, 1118, -862, -862,
-
-     -862, -862, -862, -862, -862
-    },
-
-    {
-       27, -863, -863, -863, -863, -863, -863, -863, -863, -863,
-     -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
-     -863, -863, -863, -863, -863, -863, -863, -863, 1119, -863,
-     -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
-     -863, -863, -863, -863, -863, -863, -863, -863, -863, -863,
-     -863, -863, -863, 1119, -863, -863, -863, -863, -863, -863,
-     -863, -863, -863, -863, -863
-    },
-
-    {
-       27, -864, -864, -864, -864, -864, -864, -864, -864, -864,
-     -864, -864, -864, -864, -864, 1120, -864, -864, -864, -864,
-
-     -864, -864, -864, -864, -864, -864, -864, -864, -864, -864,
-     -864, -864, -864, 1121, -864, -864, -864, -864, -864, -864,
-     -864, 1120, -864, -864, -864, -864, -864, -864, -864, -864,
-     -864, -864, -864, -864, -864, -864, -864, -864, 1121, -864,
-     -864, -864, -864, -864, -864
-    },
-
-    {
-       27, -865, -865, -865, -865, -865, -865, -865, -865, -865,
-     -865, -865, -865, 1122, -865, -865, -865, -865, -865, -865,
-     -865, -865, -865, -865, -865, -865, -865, -865, -865, -865,
-     -865, -865, -865, -865, -865, -865, -865, -865, -865, -865,
-     -865, -865, -865, -865, -865, -865, -865, -865, -865, -865,
-
-     -865, -865, -865, -865, -865, -865, -865, -865, -865, -865,
-     -865, -865, -865, -865, -865
-    },
-
-    {
-       27, -866, -866, -866, -866, -866, -866, -866, -866, -866,
-     -866, -866, -866, -866, -866, -866, -866, -866, -866, -866,
-     -866, -866, -866, -866, -866, -866, -866, -866, -866, -866,
-     -866, -866, 1123, -866, -866, -866, -866, -866, -866, -866,
-     -866, -866, -866, -866, -866, -866, -866, -866, -866, -866,
-     -866, -866, -866, -866, -866, -866, -866, 1123, -866, -866,
-     -866, -866, -866, -866, -866
-    },
-
-    {
-       27, -867, -867, -867, -867, -867, -867, -867, -867, 1124,
-
-     -867, -867, -867, -867, -867, -867, -867, -867, -867, -867,
-     -867, -867, -867, -867, -867, -867, -867, -867, -867, -867,
-     -867, -867, -867, -867, -867, -867, -867, -867, -867, 1125,
-     -867, -867, -867, -867, -867, -867, -867, -867, -867, -867,
-     -867, -867, -867, -867, -867, -867, -867, -867, -867, -867,
-     -867, -867, -867, -867, -867
-    },
-
-    {
-       27, -868, -868, -868, -868, -868, -868, -868, -868, -868,
-     -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
-     -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
-     -868, 1126, -868, -868, -868, -868, -868, -868, -868, -868,
-
-     -868, -868, -868, -868, -868, -868, -868, -868, -868, -868,
-     -868, -868, -868, -868, -868, -868, 1126, -868, -868, -868,
-     -868, -868, -868, -868, -868
-    },
-
-    {
-       27, -869, -869, -869, -869, -869, -869, -869, -869, -869,
-     -869, -869, -869, -869, -869, -869, -869, -869, -869, -869,
-     -869, -869, -869, -869, -869, -869, -869, -869, -869, -869,
-     -869, -869, -869, -869, -869, -869, 1127, -869, -869, -869,
-     -869, -869, -869, -869, -869, -869, -869, -869, -869, -869,
-     -869, -869, -869, -869, -869, -869, -869, -869, -869, -869,
-     -869, 1127, -869, -869, -869
-
-    },
-
-    {
-       27, -870, -870, -870, -870, -870, -870, -870, -870, -870,
-     -870, -870, -870, 1128, -870, -870, -870, -870, -870, -870,
-     -870, -870, -870, -870, -870, -870, -870, -870, -870, -870,
-     -870, -870, -870, -870, -870, -870, -870, -870, -870, -870,
-     -870, -870, -870, -870, -870, -870, -870, -870, -870, -870,
-     -870, -870, -870, -870, -870, -870, -870, -870, -870, -870,
-     -870, -870, -870, -870, -870
-    },
-
-    {
-       27, -871, -871, -871, -871, -871, -871, -871, -871, -871,
-     -871, -871, -871, -871, -871, -871, -871, -871, -871, -871,
-     -871, -871, -871, -871, -871, -871, -871, -871, -871, -871,
-
-     -871, -871, 1129, -871, -871, -871, -871, -871, -871, -871,
-     -871, -871, -871, -871, -871, -871, -871, -871, -871, -871,
-     -871, -871, -871, -871, -871, -871, -871, 1129, -871, -871,
-     -871, -871, -871, -871, -871
-    },
-
-    {
-       27, -872, 1130, 1130, -872, -872, -872, -872, -872, -872,
-     -872, -872, 1131, -872, -872, -872, -872, -872, -872, -872,
-     -872, -872, -872, -872, -872, -872, -872, -872, -872, -872,
-     -872, -872, -872, -872, -872, -872, -872, -872, -872, -872,
-     -872, -872, -872, -872, -872, -872, -872, -872, -872, -872,
-     -872, -872, -872, -872, -872, -872, -872, -872, -872, -872,
-
-     -872, -872, -872, -872, -872
-    },
-
-    {
-       27, -873, -873, -873, -873, -873, -873, -873, -873, -873,
-     -873, -873, -873, -873, -873, -873, -873, -873, -873, -873,
-     -873, -873, -873, -873, -873, -873, -873, -873, -873, -873,
-     -873, -873, -873, 1132, -873, -873, -873, -873, -873, -873,
-     -873, -873, -873, -873, -873, -873, -873, -873, -873, -873,
-     -873, -873, -873, -873, -873, -873, -873, -873, 1132, -873,
-     -873, -873, -873, -873, -873
-    },
-
-    {
-       27, -874, -874, -874, -874, -874, -874, -874, -874, -874,
-     -874, -874, -874, -874, -874, -874, -874, -874, -874, -874,
-
-     -874, -874, -874, -874, -874, -874, -874, -874, 1133, -874,
-     -874, -874, -874, -874, -874, -874, -874, -874, -874, -874,
-     -874, -874, -874, -874, -874, -874, -874, -874, -874, -874,
-     -874, -874, -874, 1133, -874, -874, -874, -874, -874, -874,
-     -874, -874, -874, -874, -874
-    },
-
-    {
-       27, -875, -875, -875, -875, -875, -875, -875, -875, -875,
-     -875, -875, -875, -875, -875, -875, 1134, -875, -875, -875,
-     -875, -875, -875, -875, -875, -875, -875, -875, -875, -875,
-     -875, -875, -875, -875, -875, -875, -875, -875, -875, -875,
-     -875, -875, 1134, -875, -875, -875, -875, -875, -875, -875,
-
-     -875, -875, -875, -875, -875, -875, -875, -875, -875, -875,
-     -875, -875, -875, -875, -875
-    },
-
-    {
-       27, -876, -876, -876, -876, -876, -876, -876, -876, -876,
-     -876, -876, -876, -876, -876, 1135, -876, -876, -876, -876,
-     -876, -876, -876, -876, -876, -876, -876, -876, -876, -876,
-     -876, -876, -876, -876, -876, -876, -876, -876, -876, -876,
-     -876, 1135, -876, -876, -876, -876, -876, -876, -876, -876,
-     -876, -876, -876, -876, -876, -876, -876, -876, -876, -876,
-     -876, -876, -876, -876, -876
-    },
-
-    {
-       27, -877, -877, -877, -877, -877, -877, -877, -877, -877,
-
-     -877, -877, -877, -877, -877, -877, -877, -877, -877, 1136,
-     -877, -877, -877, -877, -877, -877, -877, -877, -877, -877,
-     -877, -877, -877, -877, -877, -877, -877, -877, -877, -877,
-     -877, -877, -877, -877, -877, 1136, -877, -877, -877, -877,
-     -877, -877, -877, -877, -877, -877, -877, -877, -877, -877,
-     -877, -877, -877, -877, -877
-    },
-
-    {
-       27, -878, -878, -878, -878, -878, -878, -878, -878, -878,
-     -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
-     -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
-     -878, -878, -878, 1137, -878, -878, -878, -878, -878, -878,
-
-     -878, -878, -878, -878, -878, -878, -878, -878, -878, -878,
-     -878, -878, -878, -878, -878, -878, -878, -878, 1137, -878,
-     -878, -878, -878, -878, -878
-    },
-
-    {
-       27, -879, -879, -879, -879, -879, -879, -879, -879, -879,
-     -879, -879, -879, -879, -879, -879, -879, -879, -879, -879,
-     -879, -879, -879, -879, -879, -879, -879, -879, -879, -879,
-     -879, -879, 1138, -879, -879, -879, -879, -879, -879, -879,
-     -879, -879, -879, -879, -879, -879, -879, -879, -879, -879,
-     -879, -879, -879, -879, -879, -879, -879, 1138, -879, -879,
-     -879, -879, -879, -879, -879
-
-    },
-
-    {
-       27, -880, -880, -880, -880, -880, -880, -880, -880, 1139,
-     -880, -880, -880, -880, -880, -880, -880, -880, -880, -880,
-     -880, -880, -880, -880, -880, -880, -880, -880, -880, -880,
-     -880, -880, -880, -880, -880, -880, -880, -880, -880, 1140,
-     -880, -880, -880, -880, -880, -880, -880, -880, -880, -880,
-     -880, -880, -880, -880, -880, -880, -880, -880, -880, -880,
-     -880, -880, -880, -880, -880
-    },
-
-    {
-       27, -881, -881, -881, -881, -881, -881, -881, -881, -881,
-     -881, -881, -881, -881, -881, -881, -881, -881, -881, -881,
-     -881, -881, -881, -881, -881, -881, -881, -881, -881, -881,
-
-     -881, -881, -881, -881, -881, -881, -881, -881, -881, -881,
-     -881, -881, -881, -881, -881, -881, -881, -881, -881, -881,
-     -881, -881, -881, -881, -881, -881, -881, -881, -881, -881,
-     -881, -881, -881, -881, -881
-    },
-
-    {
-       27, -882, -882, -882, -882, -882, -882, -882, -882, -882,
-     -882, -882, -882, -882, -882, -882, -882, -882, 1141, -882,
-     -882, -882, -882, -882, -882, -882, -882, -882, -882, -882,
-     -882, -882, -882, -882, -882, -882, -882, -882, -882, -882,
-     -882, -882, -882, -882, 1141, -882, -882, -882, -882, -882,
-     -882, -882, -882, -882, -882, -882, -882, -882, -882, -882,
-
-     -882, -882, -882, -882, -882
-    },
-
-    {
-       27, -883, -883, -883, -883, -883, -883, -883, -883, -883,
-     -883, -883, -883, -883, -883, -883, -883, -883, -883, -883,
-     -883, -883, -883, -883, -883, -883, -883, -883, -883, -883,
-     -883, -883, -883, -883, -883, -883, -883, -883, -883, 1142,
-     -883, -883, -883, -883, -883, -883, -883, -883, -883, -883,
-     -883, -883, -883, -883, -883, -883, -883, -883, -883, -883,
-     -883, -883, -883, -883, -883
-    },
-
-    {
-       27, -884, -884, -884, -884, -884, -884, -884, -884, -884,
-     -884, -884, -884, 1143, -884, -884, -884, -884, -884, -884,
-
-     -884, -884, -884, -884, -884, -884, -884, -884, -884, -884,
-     -884, -884, -884, -884, -884, -884, -884, -884, -884, -884,
-     -884, -884, -884, -884, -884, -884, -884, -884, -884, -884,
-     -884, -884, -884, -884, -884, -884, -884, -884, -884, -884,
-     -884, -884, -884, -884, -884
-    },
-
-    {
-       27, -885, -885, -885, -885, -885, -885, -885, -885, -885,
-     -885, -885, -885, -885, -885, -885, -885, -885, -885, -885,
-     -885, -885, -885, -885, -885, -885, -885, -885, 1144, -885,
-     -885, -885, -885, -885, -885, -885, -885, -885, -885, -885,
-     -885, -885, -885, -885, -885, -885, -885, -885, -885, -885,
-
-     -885, -885, -885, 1144, -885, -885, -885, -885, -885, -885,
-     -885, -885, -885, -885, -885
-    },
-
-    {
-       27, -886, -886, -886, -886, -886, -886, -886, -886, -886,
-     -886, -886, -886, -886, -886, -886, -886, -886, 1145, -886,
-     -886, -886, -886, -886, -886, -886, -886, -886, -886, -886,
-     -886, -886, -886, -886, -886, -886, -886, -886, -886, -886,
-     -886, -886, -886, -886, 1145, -886, -886, -886, -886, -886,
-     -886, -886, -886, -886, -886, -886, -886, -886, -886, -886,
-     -886, -886, -886, -886, -886
-    },
-
-    {
-       27, -887, -887, -887, -887, -887, -887, -887, -887, -887,
-
-     -887, -887, -887, 1146, -887, -887, -887, -887, -887, -887,
-     -887, -887, -887, -887, -887, -887, -887, -887, -887, -887,
-     -887, -887, -887, -887, -887, -887, -887, -887, -887, -887,
-     -887, -887, -887, -887, -887, -887, -887, -887, -887, -887,
-     -887, -887, -887, -887, -887, -887, -887, -887, -887, -887,
-     -887, -887, -887, -887, -887
-    },
-
-    {
-       27, -888, -888, -888, -888, -888, -888, -888, -888, -888,
-     -888, -888, -888, -888, -888, -888, -888, -888, -888, -888,
-     -888, -888, -888, -888, -888, -888, -888, -888, -888, -888,
-     -888, -888, 1147, -888, -888, -888, -888, -888, -888, -888,
-
-     -888, -888, -888, -888, -888, -888, -888, -888, -888, -888,
-     -888, -888, -888, -888, -888, -888, -888, 1147, -888, -888,
-     -888, -888, -888, -888, -888
-    },
-
-    {
-       27, -889, -889, -889, -889, -889, -889, -889, -889, -889,
-     -889, -889, -889, -889, -889, -889, -889, -889, -889, -889,
-     -889, -889, -889, -889, -889, -889, -889, 1148, -889, -889,
-     -889, -889, -889, -889, -889, -889, -889, -889, -889, -889,
-     -889, -889, -889, -889, -889, -889, -889, -889, -889, -889,
-     -889, -889, 1148, -889, -889, -889, -889, -889, -889, -889,
-     -889, -889, -889, -889, -889
-
-    },
-
-    {
-       27, -890, -890, -890, -890, -890, -890, -890, -890, -890,
-     -890, -890, -890, 1149, -890, -890, -890, -890, -890, -890,
-     -890, -890, -890, -890, -890, -890, -890, -890, -890, -890,
-     -890, -890, -890, -890, -890, -890, -890, -890, -890, -890,
-     -890, -890, -890, -890, -890, -890, -890, -890, -890, -890,
-     -890, -890, -890, -890, -890, -890, -890, -890, -890, -890,
-     -890, -890, -890, -890, -890
-    },
-
-    {
-       27, -891, -891, -891, -891, -891, -891, -891, -891, -891,
-     -891, -891, -891, -891, -891, -891, -891, -891, -891, -891,
-     -891, -891, -891, -891, -891, -891, -891, -891, -891, -891,
-
-     -891, -891, 1150, -891, -891, -891, -891, -891, -891, -891,
-     -891, -891, -891, -891, -891, -891, -891, -891, -891, -891,
-     -891, -891, -891, -891, -891, -891, -891, 1150, -891, -891,
-     -891, -891, -891, -891, -891
-    },
-
-    {
-       27, -892, -892, -892, -892, -892, -892, -892, -892, -892,
-     -892, -892, -892, -892, -892, -892, -892, -892, -892, -892,
-     -892, -892, -892, -892, -892, -892, -892, -892, 1151, -892,
-     -892, -892, -892, -892, -892, -892, -892, -892, -892, -892,
-     -892, -892, -892, -892, -892, -892, -892, -892, -892, -892,
-     -892, -892, -892, 1151, -892, -892, -892, -892, -892, -892,
-
-     -892, -892, -892, -892, -892
-    },
-
-    {
-       27, -893, -893, -893, -893, -893, -893, -893, -893, -893,
-     -893, -893, -893, -893, -893, 1152, -893, -893, -893, -893,
-     -893, -893, -893, -893, -893, -893, -893, -893, -893, -893,
-     -893, -893, -893, 1153, -893, -893, -893, -893, -893, -893,
-     -893, 1152, -893, -893, -893, -893, -893, -893, -893, -893,
-     -893, -893, -893, -893, -893, -893, -893, -893, 1153, -893,
-     -893, -893, -893, -893, -893
-    },
-
-    {
-       27, -894, -894, -894, -894, -894, -894, -894, -894, -894,
-     -894, -894, -894, 1154, -894, -894, -894, -894, -894, -894,
-
-     -894, -894, -894, -894, -894, -894, -894, -894, -894, -894,
-     -894, -894, -894, -894, -894, -894, -894, -894, -894, -894,
-     -894, -894, -894, -894, -894, -894, -894, -894, -894, -894,
-     -894, -894, -894, -894, -894, -894, -894, -894, -894, -894,
-     -894, -894, -894, -894, -894
-    },
-
-    {
-       27, -895, -895, -895, -895, -895, -895, -895, -895, -895,
-     -895, -895, -895, -895, -895, -895, -895, -895, -895, -895,
-     -895, -895, -895, -895, -895, -895, -895, -895, -895, -895,
-     -895, -895, 1155, -895, -895, -895, -895, -895, -895, -895,
-     -895, -895, -895, -895, -895, -895, -895, -895, -895, -895,
-
-     -895, -895, -895, -895, -895, -895, -895, 1155, -895, -895,
-     -895, -895, -895, -895, -895
-    },
-
-    {
-       27, -896, -896, -896, -896, -896, -896, -896, -896, 1156,
-     -896, -896, -896, -896, -896, -896, -896, -896, -896, -896,
-     -896, -896, -896, -896, -896, -896, -896, -896, -896, -896,
-     -896, -896, -896, -896, -896, -896, -896, -896, -896, 1157,
-     -896, -896, -896, -896, -896, -896, -896, -896, -896, -896,
-     -896, -896, -896, -896, -896, -896, -896, -896, -896, -896,
-     -896, -896, -896, -896, -896
-    },
-
-    {
-       27, -897, -897, -897, -897, -897, -897, -897, -897, -897,
-
-     -897, -897, -897, -897, -897, -897, -897, -897, -897, -897,
-     -897, -897, -897, -897, -897, -897, -897, -897, -897, -897,
-     -897, 1158, -897, -897, -897, -897, -897, -897, -897, -897,
-     -897, -897, -897, -897, -897, -897, -897, -897, -897, -897,
-     -897, -897, -897, -897, -897, -897, 1158, -897, -897, -897,
-     -897, -897, -897, -897, -897
-    },
-
-    {
-       27, -898, -898, -898, -898, -898, -898, -898, -898, -898,
-     -898, -898, -898, -898, -898, -898, -898, -898, -898, -898,
-     -898, -898, -898, -898, -898, -898, -898, -898, -898, -898,
-     -898, -898, -898, -898, -898, -898, 1159, -898, -898, -898,
-
-     -898, -898, -898, -898, -898, -898, -898, -898, -898, -898,
-     -898, -898, -898, -898, -898, -898, -898, -898, -898, -898,
-     -898, 1159, -898, -898, -898
-    },
-
-    {
-       27, -899, -899, -899, -899, -899, -899, -899, -899, -899,
-     -899, -899, -899, 1160, -899, -899, -899, -899, -899, -899,
-     -899, -899, -899, -899, -899, -899, -899, -899, -899, -899,
-     -899, -899, -899, -899, -899, -899, -899, -899, -899, -899,
-     -899, -899, -899, -899, -899, -899, -899, -899, -899, -899,
-     -899, -899, -899, -899, -899, -899, -899, -899, -899, -899,
-     -899, -899, -899, -899, -899
-
-    },
-
-    {
-       27, -900, -900, -900, -900, -900, -900, -900, -900, -900,
-     -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
-     -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
-     -900, -900, 1161, -900, -900, -900, -900, -900, -900, -900,
-     -900, -900, -900, -900, -900, -900, -900, -900, -900, -900,
-     -900, -900, -900, -900, -900, -900, -900, 1161, -900, -900,
-     -900, -900, -900, -900, -900
-    },
-
-    {
-       27, -901, 1162, 1162, -901, -901, -901, -901, -901, -901,
-     -901, -901, 1163, -901, -901, -901, -901, -901, -901, -901,
-     -901, -901, -901, -901, -901, -901, -901, -901, -901, -901,
-
-     -901, -901, -901, -901, -901, -901, -901, -901, -901, -901,
-     -901, -901, -901, -901, -901, -901, -901, -901, -901, -901,
-     -901, -901, -901, -901, -901, -901, -901, -901, -901, -901,
-     -901, -901, -901, -901, -901
-    },
-
-    {
-       27, -902, -902, -902, -902, -902, -902, -902, -902, -902,
-     -902, -902, -902, -902, -902, -902, -902, -902, -902, -902,
-     -902, -902, -902, -902, -902, -902, -902, -902, -902, -902,
-     -902, -902, -902, 1164, -902, -902, -902, -902, -902, -902,
-     -902, -902, -902, -902, -902, -902, -902, -902, -902, -902,
-     -902, -902, -902, -902, -902, -902, -902, -902, 1164, -902,
-
-     -902, -902, -902, -902, -902
-    },
-
-    {
-       27, -903, -903, -903, -903, -903, -903, -903, -903, -903,
-     -903, -903, -903, -903, -903, -903, -903, -903, -903, -903,
-     -903, -903, -903, -903, -903, -903, -903, -903, 1165, -903,
-     -903, -903, -903, -903, -903, -903, -903, -903, -903, -903,
-     -903, -903, -903, -903, -903, -903, -903, -903, -903, -903,
-     -903, -903, -903, 1165, -903, -903, -903, -903, -903, -903,
-     -903, -903, -903, -903, -903
-    },
-
-    {
-       27, -904, -904, -904, -904, -904, -904, -904, -904, -904,
-     -904, -904, -904, -904, -904, -904, 1166, -904, -904, -904,
-
-     -904, -904, -904, -904, -904, -904, -904, -904, -904, -904,
-     -904, -904, -904, -904, -904, -904, -904, -904, -904, -904,
-     -904, -904, 1166, -904, -904, -904, -904, -904, -904, -904,
-     -904, -904, -904, -904, -904, -904, -904, -904, -904, -904,
-     -904, -904, -904, -904, -904
-    },
-
-    {
-       27, -905, -905, -905, -905, -905, -905, -905, -905, -905,
-     -905, -905, -905, -905, -905, 1167, -905, -905, -905, -905,
-     -905, -905, -905, -905, -905, -905, -905, -905, -905, -905,
-     -905, -905, -905, -905, -905, -905, -905, -905, -905, -905,
-     -905, 1167, -905, -905, -905, -905, -905, -905, -905, -905,
-
-     -905, -905, -905, -905, -905, -905, -905, -905, -905, -905,
-     -905, -905, -905, -905, -905
-    },
-
-    {
-       27, -906, -906, -906, -906, -906, -906, -906, -906, -906,
-     -906, -906, -906, -906, -906, -906, -906, -906, -906, 1168,
-     -906, -906, -906, -906, -906, -906, -906, -906, -906, -906,
-     -906, -906, -906, -906, -906, -906, -906, -906, -906, -906,
-     -906, -906, -906, -906, -906, 1168, -906, -906, -906, -906,
-     -906, -906, -906, -906, -906, -906, -906, -906, -906, -906,
-     -906, -906, -906, -906, -906
-    },
-
-    {
-       27, -907, -907, -907, -907, -907, -907, -907, -907, -907,
-
-     -907, -907, -907, -907, -907, -907, -907, -907, -907, -907,
-     -907, -907, -907, -907, -907, -907, -907, -907, -907, -907,
-     -907, -907, -907, 1169, -907, -907, -907, -907, -907, -907,
-     -907, -907, -907, -907, -907, -907, -907, -907, -907, -907,
-     -907, -907, -907, -907, -907, -907, -907, -907, 1169, -907,
-     -907, -907, -907, -907, -907
-    },
-
-    {
-       27, -908, -908, -908, -908, -908, -908, -908, -908, -908,
-     -908, -908, -908, -908, -908, -908, -908, -908, -908, -908,
-     -908, -908, -908, -908, -908, -908, -908, -908, -908, -908,
-     -908, -908, 1170, -908, -908, -908, -908, -908, -908, -908,
-
-     -908, -908, -908, -908, -908, -908, -908, -908, -908, -908,
-     -908, -908, -908, -908, -908, -908, -908, 1170, -908, -908,
-     -908, -908, -908, -908, -908
-    },
-
-    {
-       27, -909, -909, -909, -909, -909, -909, -909, -909, 1171,
-     -909, -909, -909, -909, -909, -909, -909, -909, -909, -909,
-     -909, -909, -909, -909, -909, -909, -909, -909, -909, -909,
-     -909, -909, -909, -909, -909, -909, -909, -909, -909, 1172,
-     -909, -909, -909, -909, -909, -909, -909, -909, -909, -909,
-     -909, -909, -909, -909, -909, -909, -909, -909, -909, -909,
-     -909, -909, -909, -909, -909
-
-    },
-
-    {
-       27, -910, -910, -910, -910, -910, -910, -910, -910, -910,
-     -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
-     -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
-     -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
-     -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
-     -910, -910, -910, -910, -910, -910, -910, -910, -910, -910,
-     -910, -910, -910, -910, -910
-    },
-
-    {
-       27, -911, -911, -911, -911, -911, -911, -911, -911, -911,
-     -911, -911, -911, -911, -911, -911, -911, -911, 1173, -911,
-     -911, -911, -911, -911, -911, -911, -911, -911, -911, -911,
-
-     -911, -911, -911, -911, -911, -911, -911, -911, -911, -911,
-     -911, -911, -911, -911, 1173, -911, -911, -911, -911, -911,
-     -911, -911, -911, -911, -911, -911, -911, -911, -911, -911,
-     -911, -911, -911, -911, -911
-    },
-
-    {
-       27, -912, -912, -912, -912, -912, -912, -912, -912, -912,
-     -912, -912, -912, -912, -912, -912, -912, -912, -912, -912,
-     -912, -912, -912, -912, -912, -912, -912, -912, -912, -912,
-     -912, -912, -912, 1174, -912, -912, -912, -912, -912, -912,
-     -912, -912, -912, -912, -912, -912, -912, -912, -912, -912,
-     -912, -912, -912, -912, -912, -912, -912, -912, 1174, -912,
-
-     -912, -912, -912, -912, -912
-    },
-
-    {
-       27, -913, -913, -913, -913, -913, -913, -913, -913, -913,
-     -913, -913, -913, 1175, -913, -913, -913, -913, -913, -913,
-     -913, -913, -913, -913, -913, -913, -913, -913, -913, -913,
-     -913, -913, -913, -913, -913, -913, -913, -913, -913, -913,
-     -913, -913, -913, -913, -913, -913, -913, -913, -913, -913,
-     -913, -913, -913, -913, -913, -913, -913, -913, -913, -913,
-     -913, -913, -913, -913, -913
-    },
-
-    {
-       27, -914, -914, -914, -914, -914, -914, -914, -914, -914,
-     -914, -914, -914, -914, -914, -914, -914, -914, -914, -914,
-
-     -914, -914, -914, -914, -914, -914, -914, -914, 1176, -914,
-     -914, -914, -914, -914, -914, -914, -914, -914, -914, -914,
-     -914, -914, -914, -914, -914, -914, -914, -914, -914, -914,
-     -914, -914, -914, 1176, -914, -914, -914, -914, -914, -914,
-     -914, -914, -914, -914, -914
-    },
-
-    {
-       27, -915, -915, -915, -915, -915, -915, -915, -915, -915,
-     -915, -915, -915, -915, -915, -915, -915, -915, 1177, -915,
-     -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
-     -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
-     -915, -915, -915, -915, 1177, -915, -915, -915, -915, -915,
-
-     -915, -915, -915, -915, -915, -915, -915, -915, -915, -915,
-     -915, -915, -915, -915, -915
-    },
-
-    {
-       27, -916, -916, -916, -916, -916, -916, -916, -916, -916,
-     -916, -916, -916, 1178, -916, -916, -916, -916, -916, -916,
-     -916, -916, -916, -916, -916, -916, -916, -916, -916, -916,
-     -916, -916, -916, -916, -916, -916, -916, -916, -916, -916,
-     -916, -916, -916, -916, -916, -916, -916, -916, -916, -916,
-     -916, -916, -916, -916, -916, -916, -916, -916, -916, -916,
-     -916, -916, -916, -916, -916
-    },
-
-    {
-       27, -917, -917, -917, -917, -917, -917, -917, -917, -917,
-
-     -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
-     -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
-     -917, -917, 1179, -917, -917, -917, -917, -917, -917, -917,
-     -917, -917, -917, -917, -917, -917, -917, -917, -917, -917,
-     -917, -917, -917, -917, -917, -917, -917, 1179, -917, -917,
-     -917, -917, -917, -917, -917
-    },
-
-    {
-       27, -918, -918, -918, -918, -918, -918, -918, -918, -918,
-     -918, -918, -918, -918, -918, -918, -918, -918, -918, -918,
-     -918, -918, -918, -918, -918, -918, -918, 1180, -918, -918,
-     -918, -918, -918, -918, -918, -918, -918, -918, -918, -918,
-
-     -918, -918, -918, -918, -918, -918, -918, -918, -918, -918,
-     -918, -918, 1180, -918, -918, -918, -918, -918, -918, -918,
-     -918, -918, -918, -918, -918
-    },
-
-    {
-       27, -919, -919, -919, -919, -919, -919, -919, -919, -919,
-     -919, -919, -919, 1181, -919, -919, -919, -919, -919, -919,
-     -919, -919, -919, -919, -919, -919, -919, -919, -919, -919,
-     -919, -919, -919, -919, -919, -919, -919, -919, -919, -919,
-     -919, -919, -919, -919, -919, -919, -919, -919, -919, -919,
-     -919, -919, -919, -919, -919, -919, -919, -919, -919, -919,
-     -919, -919, -919, -919, -919
-
-    },
-
-    {
-       27, -920, -920, -920, -920, -920, -920, -920, -920, -920,
-     -920, -920, -920, -920, -920, -920, -920, -920, -920, -920,
-     -920, -920, -920, -920, -920, -920, -920, -920, -920, -920,
-     -920, -920, 1182, -920, -920, -920, -920, -920, -920, -920,
-     -920, -920, -920, -920, -920, -920, -920, -920, -920, -920,
-     -920, -920, -920, -920, -920, -920, -920, 1182, -920, -920,
-     -920, -920, -920, -920, -920
-    },
-
-    {
-       27, -921, -921, -921, -921, -921, -921, -921, -921, -921,
-     -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
-     -921, -921, -921, -921, -921, -921, -921, -921, 1183, -921,
-
-     -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
-     -921, -921, -921, -921, -921, -921, -921, -921, -921, -921,
-     -921, -921, -921, 1183, -921, -921, -921, -921, -921, -921,
-     -921, -921, -921, -921, -921
-    },
-
-    {
-       27, -922, -922, -922, -922, -922, -922, -922, -922, -922,
-     -922, -922, -922, -922, -922, 1184, -922, -922, -922, -922,
-     -922, -922, -922, -922, -922, -922, -922, -922, -922, -922,
-     -922, -922, -922, 1185, -922, -922, -922, -922, -922, -922,
-     -922, 1184, -922, -922, -922, -922, -922, -922, -922, -922,
-     -922, -922, -922, -922, -922, -922, -922, -922, 1185, -922,
-
-     -922, -922, -922, -922, -922
-    },
-
-    {
-       27, -923, -923, -923, -923, -923, -923, -923, -923, -923,
-     -923, -923, -923, 1186, -923, -923, -923, -923, -923, -923,
-     -923, -923, -923, -923, -923, -923, -923, -923, -923, -923,
-     -923, -923, -923, -923, -923, -923, -923, -923, -923, -923,
-     -923, -923, -923, -923, -923, -923, -923, -923, -923, -923,
-     -923, -923, -923, -923, -923, -923, -923, -923, -923, -923,
-     -923, -923, -923, -923, -923
-    },
-
-    {
-       27, -924, -924, -924, -924, -924, -924, -924, -924, -924,
-     -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
-
-     -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
-     -924, -924, 1187, -924, -924, -924, -924, -924, -924, -924,
-     -924, -924, -924, -924, -924, -924, -924, -924, -924, -924,
-     -924, -924, -924, -924, -924, -924, -924, 1187, -924, -924,
-     -924, -924, -924, -924, -924
-    },
-
-    {
-       27, -925, -925, -925, -925, -925, -925, -925, -925, 1188,
-     -925, -925, -925, -925, -925, -925, -925, -925, -925, -925,
-     -925, -925, -925, -925, -925, -925, -925, -925, -925, -925,
-     -925, -925, -925, -925, -925, -925, -925, -925, -925, 1189,
-     -925, -925, -925, -925, -925, -925, -925, -925, -925, -925,
-
-     -925, -925, -925, -925, -925, -925, -925, -925, -925, -925,
-     -925, -925, -925, -925, -925
-    },
-
-    {
-       27, -926, -926, -926, -926, -926, -926, -926, -926, -926,
-     -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
-     -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
-     -926, 1190, -926, -926, -926, -926, -926, -926, -926, -926,
-     -926, -926, -926, -926, -926, -926, -926, -926, -926, -926,
-     -926, -926, -926, -926, -926, -926, 1190, -926, -926, -926,
-     -926, -926, -926, -926, -926
-    },
-
-    {
-       27, -927, -927, -927, -927, -927, -927, -927, -927, -927,
-
-     -927, -927, -927, -927, -927, -927, -927, -927, -927, -927,
-     -927, -927, -927, -927, -927, -927, -927, -927, -927, -927,
-     -927, -927, -927, -927, -927, -927, 1191, -927, -927, -927,
-     -927, -927, -927, -927, -927, -927, -927, -927, -927, -927,
-     -927, -927, -927, -927, -927, -927, -927, -927, -927, -927,
-     -927, 1191, -927, -927, -927
-    },
-
-    {
-       27, -928, -928, -928, -928, -928, -928, -928, -928, -928,
-     -928, -928, -928, 1192, -928, -928, -928, -928, -928, -928,
-     -928, -928, -928, -928, -928, -928, -928, -928, -928, -928,
-     -928, -928, -928, -928, -928, -928, -928, -928, -928, -928,
-
-     -928, -928, -928, -928, -928, -928, -928, -928, -928, -928,
-     -928, -928, -928, -928, -928, -928, -928, -928, -928, -928,
-     -928, -928, -928, -928, -928
-    },
-
-    {
-       27, -929, -929, -929, -929, -929, -929, -929, -929, -929,
-     -929, -929, -929, -929, -929, -929, -929, -929, -929, -929,
-     -929, -929, -929, -929, -929, -929, -929, -929, -929, -929,
-     -929, -929, 1193, -929, -929, -929, -929, -929, -929, -929,
-     -929, -929, -929, -929, -929, -929, -929, -929, -929, -929,
-     -929, -929, -929, -929, -929, -929, -929, 1193, -929, -929,
-     -929, -929, -929, -929, -929
-
-    },
-
-    {
-       27, -930, 1194, 1194, -930, -930, -930, -930, -930, -930,
-     -930, -930, 1195, -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, -930, -930,
-     -930, -930, -930, -930, -930, -930, -930, -930, -930, -930,
-     -930, -930, -930, -930, -930
-    },
-
-    {
-       27, -931, -931, -931, -931, -931, -931, -931, -931, -931,
-     -931, -931, -931, -931, -931, -931, -931, -931, -931, -931,
-     -931, -931, -931, -931, -931, -931, -931, -931, -931, -931,
-
-     -931, -931, -931, 1196, -931, -931, -931, -931, -931, -931,
-     -931, -931, -931, -931, -931, -931, -931, -931, -931, -931,
-     -931, -931, -931, -931, -931, -931, -931, -931, 1196, -931,
-     -931, -931, -931, -931, -931
-    },
-
-    {
-       27, -932, -932, -932, -932, -932, -932, -932, -932, -932,
-     -932, -932, -932, -932, -932, -932, -932, -932, -932, -932,
-     -932, -932, -932, -932, -932, -932, -932, -932, 1197, -932,
-     -932, -932, -932, -932, -932, -932, -932, -932, -932, -932,
-     -932, -932, -932, -932, -932, -932, -932, -932, -932, -932,
-     -932, -932, -932, 1197, -932, -932, -932, -932, -932, -932,
-
-     -932, -932, -932, -932, -932
-    },
-
-    {
-       27, -933, -933, -933, -933, -933, -933, -933, -933, -933,
-     -933, -933, -933, -933, -933, -933, 1198, -933, -933, -933,
-     -933, -933, -933, -933, -933, -933, -933, -933, -933, -933,
-     -933, -933, -933, -933, -933, -933, -933, -933, -933, -933,
-     -933, -933, 1198, -933, -933, -933, -933, -933, -933, -933,
-     -933, -933, -933, -933, -933, -933, -933, -933, -933, -933,
-     -933, -933, -933, -933, -933
-    },
-
-    {
-       27, -934, -934, -934, -934, -934, -934, -934, -934, -934,
-     -934, -934, -934, -934, -934, 1199, -934, -934, -934, -934,
-
-     -934, -934, -934, -934, -934, -934, -934, -934, -934, -934,
-     -934, -934, -934, -934, -934, -934, -934, -934, -934, -934,
-     -934, 1199, -934, -934, -934, -934, -934, -934, -934, -934,
-     -934, -934, -934, -934, -934, -934, -934, -934, -934, -934,
-     -934, -934, -934, -934, -934
-    },
-
-    {
-       27, -935, -935, -935, -935, -935, -935, -935, -935, -935,
-     -935, -935, -935, -935, -935, -935, -935, -935, -935, 1200,
-     -935, -935, -935, -935, -935, -935, -935, -935, -935, -935,
-     -935, -935, -935, -935, -935, -935, -935, -935, -935, -935,
-     -935, -935, -935, -935, -935, 1200, -935, -935, -935, -935,
-
-     -935, -935, -935, -935, -935, -935, -935, -935, -935, -935,
-     -935, -935, -935, -935, -935
-    },
-
-    {
-       27, -936, -936, -936, -936, -936, -936, -936, -936, -936,
-     -936, -936, -936, -936, -936, -936, -936, -936, -936, -936,
-     -936, -936, -936, -936, -936, -936, -936, -936, -936, -936,
-     -936, -936, -936, 1201, -936, -936, -936, -936, -936, -936,
-     -936, -936, -936, -936, -936, -936, -936, -936, -936, -936,
-     -936, -936, -936, -936, -936, -936, -936, -936, 1201, -936,
-     -936, -936, -936, -936, -936
-    },
-
-    {
-       27, -937, -937, -937, -937, -937, -937, -937, -937, -937,
-
-     -937, -937, -937, -937, -937, -937, -937, -937, -937, -937,
-     -937, -937, -937, -937, -937, -937, -937, -937, -937, -937,
-     -937, -937, 1202, -937, -937, -937, -937, -937, -937, -937,
-     -937, -937, -937, -937, -937, -937, -937, -937, -937, -937,
-     -937, -937, -937, -937, -937, -937, -937, 1202, -937, -937,
-     -937, -937, -937, -937, -937
-    },
-
-    {
-       27, -938, -938, -938, -938, -938, -938, -938, -938, 1203,
-     -938, -938, -938, -938, -938, -938, -938, -938, -938, -938,
-     -938, -938, -938, -938, -938, -938, -938, -938, -938, -938,
-     -938, -938, -938, -938, -938, -938, -938, -938, -938, 1204,
-
-     -938, -938, -938, -938, -938, -938, -938, -938, -938, -938,
-     -938, -938, -938, -938, -938, -938, -938, -938, -938, -938,
-     -938, -938, -938, -938, -938
-    },
-
-    {
-       27, -939, -939, -939, -939, -939, -939, -939, -939, -939,
-     -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
-     -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
-     -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
-     -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
-     -939, -939, -939, -939, -939, -939, -939, -939, -939, -939,
-     -939, -939, -939, -939, -939
-
-    },
-
-    {
-       27, -940, -940, -940, -940, -940, -940, -940, -940, -940,
-     -940, -940, -940, -940, -940, -940, -940, -940, 1205, -940,
-     -940, -940, -940, -940, -940, -940, -940, -940, -940, -940,
-     -940, -940, -940, -940, -940, -940, -940, -940, -940, -940,
-     -940, -940, -940, -940, 1205, -940, -940, -940, -940, -940,
-     -940, -940, -940, -940, -940, -940, -940, -940, -940, -940,
-     -940, -940, -940, -940, -940
-    },
-
-    {
-       27, -941, -941, -941, -941, -941, -941, -941, -941, -941,
-     -941, -941, -941, -941, -941, -941, -941, -941, -941, -941,
-     -941, -941, 1206, -941, -941, -941, -941, -941, -941, -941,
-
-     -941, -941, -941, -941, -941, -941, -941, -941, -941, -941,
-     -941, -941, -941, -941, -941, -941, -941, -941, 1206, -941,
-     -941, -941, -941, -941, -941, -941, -941, -941, -941, -941,
-     -941, -941, -941, -941, -941
-    },
-
-    {
-       27, -942, -942, -942, -942, -942, -942, -942, -942, -942,
-     -942, -942, -942, 1207, -942, -942, -942, -942, -942, -942,
-     -942, -942, -942, -942, -942, -942, -942, -942, -942, -942,
-     -942, -942, -942, -942, -942, -942, -942, -942, -942, -942,
-     -942, -942, -942, -942, -942, -942, -942, -942, -942, -942,
-     -942, -942, -942, -942, -942, -942, -942, -942, -942, -942,
-
-     -942, -942, -942, -942, -942
-    },
-
-    {
-       27, -943, -943, -943, -943, -943, -943, -943, -943, -943,
-     -943, -943, -943, -943, -943, -943, -943, -943, -943, -943,
-     -943, -943, -943, -943, -943, -943, -943, -943, 1208, -943,
-     -943, -943, -943, -943, -943, -943, -943, -943, -943, -943,
-     -943, -943, -943, -943, -943, -943, -943, -943, -943, -943,
-     -943, -943, -943, 1208, -943, -943, -943, -943, -943, -943,
-     -943, -943, -943, -943, -943
-    },
-
-    {
-       27, -944, -944, -944, -944, -944, -944, -944, -944, -944,
-     -944, -944, -944, -944, -944, -944, -944, -944, 1209, -944,
-
-     -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
-     -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
-     -944, -944, -944, -944, 1209, -944, -944, -944, -944, -944,
-     -944, -944, -944, -944, -944, -944, -944, -944, -944, -944,
-     -944, -944, -944, -944, -944
-    },
-
-    {
-       27, -945, -945, -945, -945, -945, -945, -945, -945, -945,
-     -945, -945, -945, 1210, -945, -945, -945, -945, -945, -945,
-     -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
-     -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
-     -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
-
-     -945, -945, -945, -945, -945, -945, -945, -945, -945, -945,
-     -945, -945, -945, -945, -945
-    },
-
-    {
-       27, -946, -946, -946, -946, -946, -946, -946, -946, -946,
-     -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
-     -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
-     -946, -946, 1211, -946, -946, -946, -946, -946, -946, -946,
-     -946, -946, -946, -946, -946, -946, -946, -946, -946, -946,
-     -946, -946, -946, -946, -946, -946, -946, 1211, -946, -946,
-     -946, -946, -946, -946, -946
-    },
-
-    {
-       27, -947, -947, -947, -947, -947, -947, -947, -947, -947,
-
-     -947, -947, -947, -947, -947, -947, -947, -947, -947, -947,
-     -947, -947, -947, -947, -947, -947, -947, 1212, -947, -947,
-     -947, -947, -947, -947, -947, -947, -947, -947, -947, -947,
-     -947, -947, -947, -947, -947, -947, -947, -947, -947, -947,
-     -947, -947, 1212, -947, -947, -947, -947, -947, -947, -947,
-     -947, -947, -947, -947, -947
-    },
-
-    {
-       27, -948, -948, -948, -948, -948, -948, -948, -948, -948,
-     -948, -948, -948, 1213, -948, -948, -948, -948, -948, -948,
-     -948, -948, -948, -948, -948, -948, -948, -948, -948, -948,
-     -948, -948, -948, -948, -948, -948, -948, -948, -948, -948,
-
-     -948, -948, -948, -948, -948, -948, -948, -948, -948, -948,
-     -948, -948, -948, -948, -948, -948, -948, -948, -948, -948,
-     -948, -948, -948, -948, -948
-    },
-
-    {
-       27, -949, -949, -949, -949, -949, -949, -949, -949, -949,
-     -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
-     -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
-     -949, -949, 1214, -949, -949, -949, -949, -949, -949, -949,
-     -949, -949, -949, -949, -949, -949, -949, -949, -949, -949,
-     -949, -949, -949, -949, -949, -949, -949, 1214, -949, -949,
-     -949, -949, -949, -949, -949
-
-    },
-
-    {
-       27, -950, -950, -950, -950, -950, -950, -950, -950, -950,
-     -950, -950, -950, -950, -950, -950, -950, -950, -950, -950,
-     -950, -950, -950, -950, -950, -950, -950, -950, 1215, -950,
-     -950, -950, -950, -950, -950, -950, -950, -950, -950, -950,
-     -950, -950, -950, -950, -950, -950, -950, -950, -950, -950,
-     -950, -950, -950, 1215, -950, -950, -950, -950, -950, -950,
-     -950, -950, -950, -950, -950
-    },
-
-    {
-       27, -951, -951, -951, -951, -951, -951, -951, -951, -951,
-     -951, -951, -951, -951, -951, 1216, -951, -951, -951, -951,
-     -951, -951, -951, -951, -951, -951, -951, -951, -951, -951,
-
-     -951, -951, -951, 1217, -951, -951, -951, -951, -951, -951,
-     -951, 1216, -951, -951, -951, -951, -951, -951, -951, -951,
-     -951, -951, -951, -951, -951, -951, -951, -951, 1217, -951,
-     -951, -951, -951, -951, -951
-    },
-
-    {
-       27, -952, -952, -952, -952, -952, -952, -952, -952, -952,
-     -952, -952, -952, 1218, -952, -952, -952, -952, -952, -952,
-     -952, -952, -952, -952, -952, -952, -952, -952, -952, -952,
-     -952, -952, -952, -952, -952, -952, -952, -952, -952, -952,
-     -952, -952, -952, -952, -952, -952, -952, -952, -952, -952,
-     -952, -952, -952, -952, -952, -952, -952, -952, -952, -952,
-
-     -952, -952, -952, -952, -952
-    },
-
-    {
-       27, -953, -953, -953, -953, -953, -953, -953, -953, -953,
-     -953, -953, -953, -953, -953, -953, -953, -953, -953, -953,
-     -953, -953, -953, -953, -953, -953, -953, -953, -953, -953,
-     -953, -953, 1219, -953, -953, -953, -953, -953, -953, -953,
-     -953, -953, -953, -953, -953, -953, -953, -953, -953, -953,
-     -953, -953, -953, -953, -953, -953, -953, 1219, -953, -953,
-     -953, -953, -953, -953, -953
-    },
-
-    {
-       27, -954, -954, -954, -954, -954, -954, -954, -954, 1220,
-     -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
-
-     -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
-     -954, -954, -954, -954, -954, -954, -954, -954, -954, 1221,
-     -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
-     -954, -954, -954, -954, -954, -954, -954, -954, -954, -954,
-     -954, -954, -954, -954, -954
-    },
-
-    {
-       27, -955, -955, -955, -955, -955, -955, -955, -955, -955,
-     -955, -955, -955, -955, -955, -955, -955, -955, -955, -955,
-     -955, -955, -955, -955, -955, -955, -955, -955, -955, -955,
-     -955, 1222, -955, -955, -955, -955, -955, -955, -955, -955,
-     -955, -955, -955, -955, -955, -955, -955, -955, -955, -955,
-
-     -955, -955, -955, -955, -955, -955, 1222, -955, -955, -955,
-     -955, -955, -955, -955, -955
-    },
-
-    {
-       27, -956, -956, -956, -956, -956, -956, -956, -956, -956,
-     -956, -956, -956, -956, -956, -956, -956, -956, -956, -956,
-     -956, -956, -956, -956, -956, -956, -956, -956, -956, -956,
-     -956, -956, -956, -956, -956, -956, 1223, -956, -956, -956,
-     -956, -956, -956, -956, -956, -956, -956, -956, -956, -956,
-     -956, -956, -956, -956, -956, -956, -956, -956, -956, -956,
-     -956, 1223, -956, -956, -956
-    },
-
-    {
-       27, -957, -957, -957, -957, -957, -957, -957, -957, -957,
-
-     -957, -957, -957, 1224, -957, -957, -957, -957, -957, -957,
-     -957, -957, -957, -957, -957, -957, -957, -957, -957, -957,
-     -957, -957, -957, -957, -957, -957, -957, -957, -957, -957,
-     -957, -957, -957, -957, -957, -957, -957, -957, -957, -957,
-     -957, -957, -957, -957, -957, -957, -957, -957, -957, -957,
-     -957, -957, -957, -957, -957
-    },
-
-    {
-       27, -958, -958, -958, -958, -958, -958, -958, -958, -958,
-     -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
-     -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
-     -958, -958, 1225, -958, -958, -958, -958, -958, -958, -958,
-
-     -958, -958, -958, -958, -958, -958, -958, -958, -958, -958,
-     -958, -958, -958, -958, -958, -958, -958, 1225, -958, -958,
-     -958, -958, -958, -958, -958
-    },
-
-    {
-       27, -959, 1226, 1226, -959, -959, -959, -959, -959, -959,
-     -959, -959, 1227, -959, -959, -959, -959, -959, -959, -959,
-     -959, -959, -959, -959, -959, -959, -959, -959, -959, -959,
-     -959, -959, -959, -959, -959, -959, -959, -959, -959, -959,
-     -959, -959, -959, -959, -959, -959, -959, -959, -959, -959,
-     -959, -959, -959, -959, -959, -959, -959, -959, -959, -959,
-     -959, -959, -959, -959, -959
-
-    },
-
-    {
-       27, -960, -960, -960, -960, -960, -960, -960, -960, -960,
-     -960, -960, -960, -960, -960, -960, -960, -960, -960, -960,
-     -960, -960, -960, -960, -960, -960, -960, -960, -960, -960,
-     -960, -960, -960, 1228, -960, -960, -960, -960, -960, -960,
-     -960, -960, -960, -960, -960, -960, -960, -960, -960, -960,
-     -960, -960, -960, -960, -960, -960, -960, -960, 1228, -960,
-     -960, -960, -960, -960, -960
-    },
-
-    {
-       27, -961, -961, -961, -961, -961, -961, -961, -961, -961,
-     -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
-     -961, -961, -961, -961, -961, -961, -961, -961, 1229, -961,
-
-     -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
-     -961, -961, -961, -961, -961, -961, -961, -961, -961, -961,
-     -961, -961, -961, 1229, -961, -961, -961, -961, -961, -961,
-     -961, -961, -961, -961, -961
-    },
-
-    {
-       27, -962, -962, -962, -962, -962, -962, -962, -962, -962,
-     -962, -962, -962, -962, -962, -962, 1230, -962, -962, -962,
-     -962, -962, -962, -962, -962, -962, -962, -962, -962, -962,
-     -962, -962, -962, -962, -962, -962, -962, -962, -962, -962,
-     -962, -962, 1230, -962, -962, -962, -962, -962, -962, -962,
-     -962, -962, -962, -962, -962, -962, -962, -962, -962, -962,
-
-     -962, -962, -962, -962, -962
-    },
-
-    {
-       27, -963, -963, -963, -963, -963, -963, -963, -963, -963,
-     -963, -963, -963, -963, -963, 1231, -963, -963, -963, -963,
-     -963, -963, -963, -963, -963, -963, -963, -963, -963, -963,
-     -963, -963, -963, -963, -963, -963, -963, -963, -963, -963,
-     -963, 1231, -963, -963, -963, -963, -963, -963, -963, -963,
-     -963, -963, -963, -963, -963, -963, -963, -963, -963, -963,
-     -963, -963, -963, -963, -963
-    },
-
-    {
-       27, -964, -964, -964, -964, -964, -964, -964, -964, -964,
-     -964, -964, -964, -964, -964, -964, -964, -964, -964, 1232,
-
-     -964, -964, -964, -964, -964, -964, -964, -964, -964, -964,
-     -964, -964, -964, -964, -964, -964, -964, -964, -964, -964,
-     -964, -964, -964, -964, -964, 1232, -964, -964, -964, -964,
-     -964, -964, -964, -964, -964, -964, -964, -964, -964, -964,
-     -964, -964, -964, -964, -964
-    },
-
-    {
-       27, -965, -965, -965, -965, -965, -965, -965, -965, -965,
-     -965, -965, -965, -965, -965, -965, -965, -965, -965, -965,
-     -965, -965, -965, -965, -965, -965, -965, -965, -965, -965,
-     -965, -965, -965, 1233, -965, -965, -965, -965, -965, -965,
-     -965, -965, -965, -965, -965, -965, -965, -965, -965, -965,
-
-     -965, -965, -965, -965, -965, -965, -965, -965, 1233, -965,
-     -965, -965, -965, -965, -965
-    },
-
-    {
-       27, -966, -966, -966, -966, -966, -966, -966, -966, -966,
-     -966, -966, -966, -966, -966, -966, -966, -966, -966, -966,
-     -966, -966, -966, -966, -966, -966, -966, -966, -966, -966,
-     -966, -966, 1234, -966, -966, -966, -966, -966, -966, -966,
-     -966, -966, -966, -966, -966, -966, -966, -966, -966, -966,
-     -966, -966, -966, -966, -966, -966, -966, 1234, -966, -966,
-     -966, -966, -966, -966, -966
-    },
-
-    {
-       27, -967, -967, -967, -967, -967, -967, -967, -967, 1235,
-
-     -967, -967, -967, -967, -967, -967, -967, -967, -967, -967,
-     -967, -967, -967, -967, -967, -967, -967, -967, -967, -967,
-     -967, -967, -967, -967, -967, -967, -967, -967, -967, 1236,
-     -967, -967, -967, -967, -967, -967, -967, -967, -967, -967,
-     -967, -967, -967, -967, -967, -967, -967, -967, -967, -967,
-     -967, -967, -967, -967, -967
-    },
-
-    {
-       27, -968, -968, -968, -968, -968, -968, -968, -968, -968,
-     -968, -968, -968, -968, -968, -968, -968, -968, -968, -968,
-     -968, -968, -968, -968, -968, -968, -968, -968, -968, -968,
-     -968, -968, -968, -968, -968, -968, -968, -968, -968, -968,
-
-     -968, -968, -968, -968, -968, -968, -968, -968, -968, -968,
-     -968, -968, -968, -968, -968, -968, -968, -968, -968, -968,
-     -968, -968, -968, -968, -968
-    },
-
-    {
-       27, -969, -969, -969, -969, -969, -969, -969, -969, -969,
-     -969, -969, -969, -969, -969, -969, -969, -969, 1237, -969,
-     -969, -969, -969, -969, -969, -969, -969, -969, -969, -969,
-     -969, -969, -969, -969, -969, -969, -969, -969, -969, -969,
-     -969, -969, -969, -969, 1237, -969, -969, -969, -969, -969,
-     -969, -969, -969, -969, -969, -969, -969, -969, -969, -969,
-     -969, -969, -969, -969, -969
-
-    },
-
-    {
-       27, -970, -970, -970, -970, -970, -970, -970, -970, -970,
-     -970, -970, -970, -970, -970, -970, -970, -970, -970, -970,
-     -970, -970, -970, -970, -970, -970, -970, -970, -970, -970,
-     -970, 1238, -970, -970, -970, -970, -970, -970, -970, -970,
-     -970, -970, -970, -970, -970, -970, -970, -970, -970, -970,
-     -970, -970, -970, -970, -970, -970, 1238, -970, -970, -970,
-     -970, -970, -970, -970, -970
-    },
-
-    {
-       27, -971, -971, -971, -971, -971, -971, -971, -971, -971,
-     -971, -971, -971, 1239, -971, -971, -971, -971, -971, -971,
-     -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
-
-     -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
-     -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
-     -971, -971, -971, -971, -971, -971, -971, -971, -971, -971,
-     -971, -971, -971, -971, -971
-    },
-
-    {
-       27, -972, -972, -972, -972, -972, -972, -972, -972, -972,
-     -972, -972, -972, -972, -972, -972, -972, -972, -972, -972,
-     -972, -972, -972, -972, -972, -972, -972, -972, 1240, -972,
-     -972, -972, -972, -972, -972, -972, -972, -972, -972, -972,
-     -972, -972, -972, -972, -972, -972, -972, -972, -972, -972,
-     -972, -972, -972, 1240, -972, -972, -972, -972, -972, -972,
-
-     -972, -972, -972, -972, -972
-    },
-
-    {
-       27, -973, -973, -973, -973, -973, -973, -973, -973, -973,
-     -973, -973, -973, -973, -973, -973, -973, -973, 1241, -973,
-     -973, -973, -973, -973, -973, -973, -973, -973, -973, -973,
-     -973, -973, -973, -973, -973, -973, -973, -973, -973, -973,
-     -973, -973, -973, -973, 1241, -973, -973, -973, -973, -973,
-     -973, -973, -973, -973, -973, -973, -973, -973, -973, -973,
-     -973, -973, -973, -973, -973
-    },
-
-    {
-       27, -974, -974, -974, -974, -974, -974, -974, -974, -974,
-     -974, -974, -974, 1242, -974, -974, -974, -974, -974, -974,
-
-     -974, -974, -974, -974, -974, -974, -974, -974, -974, -974,
-     -974, -974, -974, -974, -974, -974, -974, -974, -974, -974,
-     -974, -974, -974, -974, -974, -974, -974, -974, -974, -974,
-     -974, -974, -974, -974, -974, -974, -974, -974, -974, -974,
-     -974, -974, -974, -974, -974
-    },
-
-    {
-       27, -975, -975, -975, -975, -975, -975, -975, -975, -975,
-     -975, -975, -975, -975, -975, -975, -975, -975, -975, -975,
-     -975, -975, -975, -975, -975, -975, -975, -975, -975, -975,
-     -975, -975, 1243, -975, -975, -975, -975, -975, -975, -975,
-     -975, -975, -975, -975, -975, -975, -975, -975, -975, -975,
-
-     -975, -975, -975, -975, -975, -975, -975, 1243, -975, -975,
-     -975, -975, -975, -975, -975
-    },
-
-    {
-       27, -976, -976, -976, -976, -976, -976, -976, -976, -976,
-     -976, -976, -976, -976, -976, -976, -976, -976, -976, -976,
-     -976, -976, -976, -976, -976, -976, -976, 1244, -976, -976,
-     -976, -976, -976, -976, -976, -976, -976, -976, -976, -976,
-     -976, -976, -976, -976, -976, -976, -976, -976, -976, -976,
-     -976, -976, 1244, -976, -976, -976, -976, -976, -976, -976,
-     -976, -976, -976, -976, -976
-    },
-
-    {
-       27, -977, -977, -977, -977, -977, -977, -977, -977, -977,
-
-     -977, -977, -977, 1245, -977, -977, -977, -977, -977, -977,
-     -977, -977, -977, -977, -977, -977, -977, -977, -977, -977,
-     -977, -977, -977, -977, -977, -977, -977, -977, -977, -977,
-     -977, -977, -977, -977, -977, -977, -977, -977, -977, -977,
-     -977, -977, -977, -977, -977, -977, -977, -977, -977, -977,
-     -977, -977, -977, -977, -977
-    },
-
-    {
-       27, -978, -978, -978, -978, -978, -978, -978, -978, -978,
-     -978, -978, -978, -978, -978, -978, -978, -978, -978, -978,
-     -978, -978, -978, -978, -978, -978, -978, -978, -978, -978,
-     -978, -978, 1246, -978, -978, -978, -978, -978, -978, -978,
-
-     -978, -978, -978, -978, -978, -978, -978, -978, -978, -978,
-     -978, -978, -978, -978, -978, -978, -978, 1246, -978, -978,
-     -978, -978, -978, -978, -978
-    },
-
-    {
-       27, -979, -979, -979, -979, -979, -979, -979, -979, -979,
-     -979, -979, -979, -979, -979, -979, -979, -979, -979, -979,
-     -979, -979, -979, -979, -979, -979, -979, -979, 1247, -979,
-     -979, -979, -979, -979, -979, -979, -979, -979, -979, -979,
-     -979, -979, -979, -979, -979, -979, -979, -979, -979, -979,
-     -979, -979, -979, 1247, -979, -979, -979, -979, -979, -979,
-     -979, -979, -979, -979, -979
-
-    },
-
-    {
-       27, -980, -980, -980, -980, -980, -980, -980, -980, -980,
-     -980, -980, -980, -980, -980, 1248, -980, -980, -980, -980,
-     -980, -980, -980, -980, -980, -980, -980, -980, -980, -980,
-     -980, -980, -980, 1249, -980, -980, -980, -980, -980, -980,
-     -980, 1248, -980, -980, -980, -980, -980, -980, -980, -980,
-     -980, -980, -980, -980, -980, -980, -980, -980, 1249, -980,
-     -980, -980, -980, -980, -980
-    },
-
-    {
-       27, -981, -981, -981, -981, -981, -981, -981, -981, -981,
-     -981, -981, -981, 1250, -981, -981, -981, -981, -981, -981,
-     -981, -981, -981, -981, -981, -981, -981, -981, -981, -981,
-
-     -981, -981, -981, -981, -981, -981, -981, -981, -981, -981,
-     -981, -981, -981, -981, -981, -981, -981, -981, -981, -981,
-     -981, -981, -981, -981, -981, -981, -981, -981, -981, -981,
-     -981, -981, -981, -981, -981
-    },
-
-    {
-       27, -982, -982, -982, -982, -982, -982, -982, -982, -982,
-     -982, -982, -982, -982, -982, -982, -982, -982, -982, -982,
-     -982, -982, -982, -982, -982, -982, -982, -982, -982, -982,
-     -982, -982, 1251, -982, -982, -982, -982, -982, -982, -982,
-     -982, -982, -982, -982, -982, -982, -982, -982, -982, -982,
-     -982, -982, -982, -982, -982, -982, -982, 1251, -982, -982,
-
-     -982, -982, -982, -982, -982
-    },
-
-    {
-       27, -983, -983, -983, -983, -983, -983, -983, -983, 1252,
-     -983, -983, -983, -983, -983, -983, -983, -983, -983, -983,
-     -983, -983, -983, -983, -983, -983, -983, -983, -983, -983,
-     -983, -983, -983, -983, -983, -983, -983, -983, -983, 1253,
-     -983, -983, -983, -983, -983, -983, -983, -983, -983, -983,
-     -983, -983, -983, -983, -983, -983, -983, -983, -983, -983,
-     -983, -983, -983, -983, -983
-    },
-
-    {
-       27, -984, -984, -984, -984, -984, -984, -984, -984, -984,
-     -984, -984, -984, -984, -984, -984, -984, -984, -984, -984,
-
-     -984, -984, -984, -984, -984, -984, -984, -984, -984, -984,
-     -984, 1254, -984, -984, -984, -984, -984, -984, -984, -984,
-     -984, -984, -984, -984, -984, -984, -984, -984, -984, -984,
-     -984, -984, -984, -984, -984, -984, 1254, -984, -984, -984,
-     -984, -984, -984, -984, -984
-    },
-
-    {
-       27, -985, -985, -985, -985, -985, -985, -985, -985, -985,
-     -985, -985, -985, -985, -985, -985, -985, -985, -985, -985,
-     -985, -985, -985, -985, -985, -985, -985, -985, -985, -985,
-     -985, -985, -985, -985, -985, -985, 1255, -985, -985, -985,
-     -985, -985, -985, -985, -985, -985, -985, -985, -985, -985,
-
-     -985, -985, -985, -985, -985, -985, -985, -985, -985, -985,
-     -985, 1255, -985, -985, -985
-    },
-
-    {
-       27, -986, -986, -986, -986, -986, -986, -986, -986, -986,
-     -986, -986, -986, 1256, -986, -986, -986, -986, -986, -986,
-     -986, -986, -986, -986, -986, -986, -986, -986, -986, -986,
-     -986, -986, -986, -986, -986, -986, -986, -986, -986, -986,
-     -986, -986, -986, -986, -986, -986, -986, -986, -986, -986,
-     -986, -986, -986, -986, -986, -986, -986, -986, -986, -986,
-     -986, -986, -986, -986, -986
-    },
-
-    {
-       27, -987, -987, -987, -987, -987, -987, -987, -987, -987,
-
-     -987, -987, -987, -987, -987, -987, -987, -987, -987, -987,
-     -987, -987, -987, -987, -987, -987, -987, -987, -987, -987,
-     -987, -987, 1257, -987, -987, -987, -987, -987, -987, -987,
-     -987, -987, -987, -987, -987, -987, -987, -987, -987, -987,
-     -987, -987, -987, -987, -987, -987, -987, 1257, -987, -987,
-     -987, -987, -987, -987, -987
-    },
-
-    {
-       27, -988, 1258, 1258, -988, -988, -988, -988, -988, -988,
-     -988, -988, 1259, -988, -988, -988, -988, -988, -988, -988,
-     -988, -988, -988, -988, -988, -988, -988, -988, -988, -988,
-     -988, -988, -988, -988, -988, -988, -988, -988, -988, -988,
-
-     -988, -988, -988, -988, -988, -988, -988, -988, -988, -988,
-     -988, -988, -988, -988, -988, -988, -988, -988, -988, -988,
-     -988, -988, -988, -988, -988
-    },
-
-    {
-       27, -989, -989, -989, -989, -989, -989, -989, -989, -989,
-     -989, -989, -989, -989, -989, -989, -989, -989, -989, -989,
-     -989, -989, -989, -989, -989, -989, -989, -989, -989, -989,
-     -989, -989, -989, 1260, -989, -989, -989, -989, -989, -989,
-     -989, -989, -989, -989, -989, -989, -989, -989, -989, -989,
-     -989, -989, -989, -989, -989, -989, -989, -989, 1260, -989,
-     -989, -989, -989, -989, -989
-
-    },
-
-    {
-       27, -990, -990, -990, -990, -990, -990, -990, -990, -990,
-     -990, -990, -990, -990, -990, -990, -990, -990, -990, -990,
-     -990, -990, -990, -990, -990, -990, -990, -990, 1261, -990,
-     -990, -990, -990, -990, -990, -990, -990, -990, -990, -990,
-     -990, -990, -990, -990, -990, -990, -990, -990, -990, -990,
-     -990, -990, -990, 1261, -990, -990, -990, -990, -990, -990,
-     -990, -990, -990, -990, -990
-    },
-
-    {
-       27, -991, -991, -991, -991, -991, -991, -991, -991, -991,
-     -991, -991, -991, -991, -991, -991, 1262, -991, -991, -991,
-     -991, -991, -991, -991, -991, -991, -991, -991, -991, -991,
-
-     -991, -991, -991, -991, -991, -991, -991, -991, -991, -991,
-     -991, -991, 1262, -991, -991, -991, -991, -991, -991, -991,
-     -991, -991, -991, -991, -991, -991, -991, -991, -991, -991,
-     -991, -991, -991, -991, -991
-    },
-
-    {
-       27, -992, -992, -992, -992, -992, -992, -992, -992, -992,
-     -992, -992, -992, -992, -992, 1263, -992, -992, -992, -992,
-     -992, -992, -992, -992, -992, -992, -992, -992, -992, -992,
-     -992, -992, -992, -992, -992, -992, -992, -992, -992, -992,
-     -992, 1263, -992, -992, -992, -992, -992, -992, -992, -992,
-     -992, -992, -992, -992, -992, -992, -992, -992, -992, -992,
-
-     -992, -992, -992, -992, -992
-    },
-
-    {
-       27, -993, -993, -993, -993, -993, -993, -993, -993, -993,
-     -993, -993, -993, -993, -993, -993, -993, -993, -993, 1264,
-     -993, -993, -993, -993, -993, -993, -993, -993, -993, -993,
-     -993, -993, -993, -993, -993, -993, -993, -993, -993, -993,
-     -993, -993, -993, -993, -993, 1264, -993, -993, -993, -993,
-     -993, -993, -993, -993, -993, -993, -993, -993, -993, -993,
-     -993, -993, -993, -993, -993
-    },
-
-    {
-       27, -994, -994, -994, -994, -994, -994, -994, -994, -994,
-     -994, -994, -994, -994, -994, -994, -994, -994, -994, -994,
-
-     -994, -994, -994, -994, -994, -994, -994, -994, -994, -994,
-     -994, -994, -994, 1265, -994, -994, -994, -994, -994, -994,
-     -994, -994, -994, -994, -994, -994, -994, -994, -994, -994,
-     -994, -994, -994, -994, -994, -994, -994, -994, 1265, -994,
-     -994, -994, -994, -994, -994
-    },
-
-    {
-       27, -995, -995, -995, -995, -995, -995, -995, -995, -995,
-     -995, -995, -995, -995, -995, -995, -995, -995, -995, -995,
-     -995, -995, -995, -995, -995, -995, -995, -995, -995, -995,
-     -995, -995, 1266, -995, -995, -995, -995, -995, -995, -995,
-     -995, -995, -995, -995, -995, -995, -995, -995, -995, -995,
-
-     -995, -995, -995, -995, -995, -995, -995, 1266, -995, -995,
-     -995, -995, -995, -995, -995
-    },
-
-    {
-       27, -996, -996, -996, -996, -996, -996, -996, -996, 1267,
-     -996, -996, -996, -996, -996, -996, -996, -996, -996, -996,
-     -996, -996, -996, -996, -996, -996, -996, -996, -996, -996,
-     -996, -996, -996, -996, -996, -996, -996, -996, -996, 1268,
-     -996, -996, -996, -996, -996, -996, -996, -996, -996, -996,
-     -996, -996, -996, -996, -996, -996, -996, -996, -996, -996,
-     -996, -996, -996, -996, -996
-    },
-
-    {
-       27, -997, -997, -997, -997, -997, -997, -997, -997, -997,
-
-     -997, -997, -997, -997, -997, -997, -997, -997, -997, -997,
-     -997, -997, -997, -997, -997, -997, -997, -997, -997, -997,
-     -997, -997, -997, -997, -997, -997, -997, -997, -997, -997,
-     -997, -997, -997, -997, -997, -997, -997, -997, -997, -997,
-     -997, -997, -997, -997, -997, -997, -997, -997, -997, -997,
-     -997, -997, -997, -997, -997
-    },
-
-    {
-       27, -998, -998, -998, -998, -998, -998, -998, -998, -998,
-     1269,  178, -998, -998, -998, -998, -998, -998, -998, -998,
-     -998, -998, -998, -998, -998, -998, -998, -998, -998, -998,
-     -998, -998, -998, -998, -998, -998, -998, -998, -998, -998,
-
-     -998, -998, -998, -998, -998, -998, -998, -998, -998, -998,
-     -998, -998, -998, -998, -998, -998, -998, -998, -998, -998,
-     -998, -998, -998, -998, -998
-    },
-
-    {
-       27, -999, -999, -999, -999, -999, -999, -999, -999, -999,
-     -999,  178, -999, -999, -999, -999, -999, -999, -999, -999,
-     -999, -999, -999, -999, -999, -999, -999, -999, -999, -999,
-     -999, -999, -999, -999, -999, -999, -999, -999, -999, -999,
-     -999, -999, -999, -999, -999, -999, -999, -999, -999, -999,
-     -999, -999, -999, -999, -999, -999, -999, -999, -999, -999,
-     -999, -999, -999, -999, -999
-
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366, 1270,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366, 1270,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366, 1271,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 1271,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 1272,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-1003, 1273, 1273,-1003,-1003,-1003,-1003,-1003,-1003,
-    -1003,-1003, 1274,-1003,-1003,-1003,-1003,-1003,-1003,-1003,
-    -1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,
-    -1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,
-    -1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,
-    -1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,-1003,
-    -1003,-1003,-1003,-1003,-1003
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184, 1275,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1275,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1276,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184, 1276,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1006, 1277, 1277,-1006,-1006,-1006,-1006,-1006,-1006,
-    -1006,-1006, 1278,-1006,-1006,-1006,-1006,-1006,-1006,-1006,
-    -1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,
-    -1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,
-    -1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,
-    -1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,-1006,
-    -1006,-1006,-1006,-1006,-1006
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1279,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1279,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1280,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1280,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1281,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1281,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-1010, 1282, 1282,-1010,-1010,-1010,-1010,-1010,-1010,
-    -1010,-1010, 1283,-1010,-1010,-1010,-1010,-1010,-1010,-1010,
-    -1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,
-    -1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,
-    -1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,
-    -1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,-1010,
-    -1010,-1010,-1010,-1010,-1010
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1284,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1284,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1285,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1285,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1286,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1286,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1287,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1287,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1288,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1288,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184, 1289,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1289,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,
-
-    -1017,-1017, 1290,-1017,-1017,-1017,-1017,-1017,-1017,-1017,
-    -1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,
-    -1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,
-    -1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,
-    -1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,-1017,
-    -1017,-1017,-1017,-1017,-1017
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184, 1291,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184, 1291,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1292,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1292,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1293,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1293,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1294,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1295,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1295,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1296,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1296,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,
-    -1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,
-
-    -1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,
-    -1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,
-    -1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,
-    -1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,-1024,
-    -1024,-1024,-1024,-1024,-1024
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1297,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1298,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1026, 1299, 1299,-1026,-1026,-1026,-1026,-1026,-1026,
-    -1026,-1026, 1300,-1026,-1026,-1026,-1026,-1026,-1026,-1026,
-    -1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,
-    -1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,
-    -1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,
-    -1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,-1026,
-    -1026,-1026,-1026,-1026,-1026
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1301,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1301,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1028, 1028, 1028,-1028,-1028,-1028,-1028,-1028,-1028,
-    -1028,-1028, 1029,-1028,-1028,-1028,-1028,-1028,-1028,-1028,
-    -1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,
-    -1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,
-
-    -1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,
-    -1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,-1028,
-    -1028,-1028,-1028,-1028,-1028
-    },
-
-    {
-       27,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,
-    -1029,-1029,-1029,-1029,-1029,-1029, 1302,-1029,-1029,-1029,
-    -1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,
-    -1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,
-    -1029,-1029, 1302,-1029,-1029,-1029,-1029,-1029,-1029,-1029,
-    -1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,-1029,
-    -1029,-1029,-1029,-1029,-1029
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1303,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1303,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1304,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1304,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1305,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1305,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1306,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1306,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1307,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1308,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1309,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1310,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1311,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1312,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184, 1313,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1313,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1314,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1315,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1315,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,
-    -1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,
-    -1040,-1040,-1040,-1040,-1040,-1040,-1040, 1316,-1040,-1040,
-    -1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,
-    -1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,-1040,
-    -1040,-1040, 1316,-1040,-1040,-1040,-1040,-1040,-1040,-1040,
-    -1040,-1040,-1040,-1040,-1040
-    },
-
-    {
-       27,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,
-    -1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,
-    -1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,
-
-    -1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,
-    -1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,
-    -1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,-1041,
-    -1041,-1041,-1041,-1041,-1041
-    },
-
-    {
-       27,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,
-    -1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,
-    -1042,-1042,-1042,-1042,-1042,-1042,-1042, 1317,-1042,-1042,
-    -1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,
-    -1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,-1042,
-    -1042,-1042, 1317,-1042,-1042,-1042,-1042,-1042,-1042,-1042,
-
-    -1042,-1042,-1042,-1042,-1042
-    },
-
-    {
-       27,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,
-    -1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,
-    -1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,
-    -1043,-1043,-1043, 1318,-1043,-1043,-1043,-1043,-1043,-1043,
-    -1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043,
-    -1043,-1043,-1043,-1043,-1043,-1043,-1043,-1043, 1318,-1043,
-    -1043,-1043,-1043,-1043,-1043
-    },
-
-    {
-       27,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,
-    -1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,
-
-    -1044,-1044,-1044,-1044,-1044,-1044,-1044, 1319,-1044,-1044,
-    -1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,
-    -1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,-1044,
-    -1044,-1044, 1319,-1044,-1044,-1044,-1044,-1044,-1044,-1044,
-    -1044,-1044,-1044,-1044,-1044
-    },
-
-    {
-       27,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,
-    -1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,
-    -1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,
-    -1045,-1045,-1045, 1320,-1045,-1045,-1045,-1045,-1045,-1045,
-    -1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045,
-
-    -1045,-1045,-1045,-1045,-1045,-1045,-1045,-1045, 1320,-1045,
-    -1045,-1045,-1045,-1045,-1045
-    },
-
-    {
-       27,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,
-    -1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,
-    -1046,-1046,-1046,-1046,-1046,-1046,-1046, 1321,-1046,-1046,
-    -1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,
-    -1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,-1046,
-    -1046,-1046, 1321,-1046,-1046,-1046,-1046,-1046,-1046,-1046,
-    -1046,-1046,-1046,-1046,-1046
-    },
-
-    {
-       27,-1047, 1322, 1322,-1047,-1047,-1047,-1047,-1047,-1047,
-
-    -1047,-1047, 1323,-1047,-1047,-1047,-1047,-1047,-1047,-1047,
-    -1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,
-    -1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,
-    -1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,
-    -1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,-1047,
-    -1047,-1047,-1047,-1047,-1047
-    },
-
-    {
-       27,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,
-    -1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,
-    -1048,-1048,-1048,-1048,-1048,-1048,-1048, 1324,-1048,-1048,
-    -1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,
-
-    -1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,-1048,
-    -1048,-1048, 1324,-1048,-1048,-1048,-1048,-1048,-1048,-1048,
-    -1048,-1048,-1048,-1048,-1048
-    },
-
-    {
-       27,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,
-    -1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,
-    -1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,
-    -1049, 1325,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,
-    -1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,-1049,
-    -1049,-1049,-1049,-1049,-1049,-1049, 1325,-1049,-1049,-1049,
-    -1049,-1049,-1049,-1049,-1049
-
-    },
-
-    {
-       27,-1050, 1326, 1326,-1050,-1050,-1050,-1050,-1050,-1050,
-    -1050,-1050, 1327,-1050,-1050,-1050,-1050,-1050,-1050,-1050,
-    -1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,
-    -1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,
-    -1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,
-    -1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,-1050,
-    -1050,-1050,-1050,-1050,-1050
-    },
-
-    {
-       27,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,
-    -1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,
-    -1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,
-
-    -1051,-1051,-1051, 1328,-1051,-1051,-1051,-1051,-1051,-1051,
-    -1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051,
-    -1051,-1051,-1051,-1051,-1051,-1051,-1051,-1051, 1328,-1051,
-    -1051,-1051,-1051,-1051,-1051
-    },
-
-    {
-       27,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,
-    -1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,
-    -1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,
-    -1052,-1052,-1052, 1329,-1052,-1052,-1052,-1052,-1052,-1052,
-    -1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052,
-    -1052,-1052,-1052,-1052,-1052,-1052,-1052,-1052, 1329,-1052,
-
-    -1052,-1052,-1052,-1052,-1052
-    },
-
-    {
-       27,-1053, 1330, 1330,-1053,-1053,-1053,-1053,-1053,-1053,
-    -1053,-1053, 1331,-1053,-1053,-1053,-1053,-1053,-1053,-1053,
-    -1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,
-    -1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,
-    -1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,
-    -1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,-1053,
-    -1053,-1053,-1053,-1053,-1053
-    },
-
-    {
-       27,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,
-    -1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,
-
-    -1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,
-    -1054,-1054,-1054, 1332,-1054,-1054,-1054,-1054,-1054,-1054,
-    -1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054,
-    -1054,-1054,-1054,-1054,-1054,-1054,-1054,-1054, 1332,-1054,
-    -1054,-1054,-1054,-1054,-1054
-    },
-
-    {
-       27,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,
-    -1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,
-    -1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,
-    -1055,-1055,-1055, 1333,-1055,-1055,-1055,-1055,-1055,-1055,
-    -1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055,
-
-    -1055,-1055,-1055,-1055,-1055,-1055,-1055,-1055, 1333,-1055,
-    -1055,-1055,-1055,-1055,-1055
-    },
-
-    {
-       27,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,
-    -1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,
-    -1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056, 1334,-1056,
-    -1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,
-    -1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,-1056,
-    -1056,-1056,-1056, 1334,-1056,-1056,-1056,-1056,-1056,-1056,
-    -1056,-1056,-1056,-1056,-1056
-    },
-
-    {
-       27,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,
-
-    -1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,
-    -1057,-1057, 1335,-1057,-1057,-1057,-1057,-1057,-1057,-1057,
-    -1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,
-    -1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057, 1335,-1057,
-    -1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,-1057,
-    -1057,-1057,-1057,-1057,-1057
-    },
-
-    {
-       27,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,
-    -1058,-1058, 1336,-1058,-1058,-1058,-1058,-1058,-1058,-1058,
-    -1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,
-    -1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,
-
-    -1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,
-    -1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,-1058,
-    -1058,-1058,-1058,-1058,-1058
-    },
-
-    {
-       27,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,
-    -1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,
-    -1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,
-    -1059,-1059,-1059, 1337,-1059,-1059,-1059,-1059,-1059,-1059,
-    -1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059,
-    -1059,-1059,-1059,-1059,-1059,-1059,-1059,-1059, 1337,-1059,
-    -1059,-1059,-1059,-1059,-1059
-
-    },
-
-    {
-       27,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,
-    -1060,-1060,-1060, 1338,-1060,-1060,-1060,-1060,-1060,-1060,
-    -1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,
-    -1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,
-    -1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,
-    -1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,-1060,
-    -1060,-1060,-1060,-1060,-1060
-    },
-
-    {
-       27,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,
-    -1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,
-    -1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,
-
-    -1061,-1061, 1339,-1061,-1061,-1061,-1061,-1061,-1061,-1061,
-    -1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,-1061,
-    -1061,-1061,-1061,-1061,-1061,-1061,-1061, 1339,-1061,-1061,
-    -1061,-1061,-1061,-1061,-1061
-    },
-
-    {
-       27,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,
-    -1062,-1062,-1062,-1062, 1340,-1062,-1062,-1062,-1062,-1062,
-    -1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,
-    -1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,
-     1340,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,
-    -1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,-1062,
-
-    -1062,-1062,-1062,-1062,-1062
-    },
-
-    {
-       27,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063, 1341,
-    -1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,
-    -1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,
-    -1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063, 1342,
-    -1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,
-    -1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,-1063,
-    -1063,-1063,-1063,-1063,-1063
-    },
-
-    {
-       27,-1064, 1343, 1343,-1064,-1064,-1064,-1064,-1064,-1064,
-    -1064,-1064, 1344,-1064,-1064,-1064,-1064,-1064,-1064,-1064,
-
-    -1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,
-    -1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,
-    -1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,
-    -1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,-1064,
-    -1064,-1064,-1064,-1064,-1064
-    },
-
-    {
-       27,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,
-    -1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,
-    -1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,
-    -1065,-1065,-1065, 1345,-1065,-1065,-1065,-1065,-1065,-1065,
-    -1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065,
-
-    -1065,-1065,-1065,-1065,-1065,-1065,-1065,-1065, 1345,-1065,
-    -1065,-1065,-1065,-1065,-1065
-    },
-
-    {
-       27,-1066, 1066, 1066,-1066,-1066,-1066,-1066,-1066,-1066,
-    -1066,-1066, 1067,-1066,-1066,-1066,-1066,-1066,-1066,-1066,
-    -1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,
-    -1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,
-    -1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,
-    -1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,-1066,
-    -1066,-1066,-1066,-1066,-1066
-    },
-
-    {
-       27,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,
-
-    -1067,-1067,-1067,-1067,-1067,-1067, 1346,-1067,-1067,-1067,
-    -1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,
-    -1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,
-    -1067,-1067, 1346,-1067,-1067,-1067,-1067,-1067,-1067,-1067,
-    -1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,-1067,
-    -1067,-1067,-1067,-1067,-1067
-    },
-
-    {
-       27,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,
-    -1068,-1068,-1068,-1068, 1347,-1068,-1068,-1068,-1068,-1068,
-    -1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,
-    -1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,
-
-     1347,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,
-    -1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,-1068,
-    -1068,-1068,-1068,-1068,-1068
-    },
-
-    {
-       27,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,
-    -1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,
-    -1069,-1069,-1069,-1069,-1069,-1069,-1069, 1348,-1069,-1069,
-    -1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,
-    -1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,-1069,
-    -1069,-1069, 1348,-1069,-1069,-1069,-1069,-1069,-1069,-1069,
-    -1069,-1069,-1069,-1069,-1069
-
-    },
-
-    {
-       27,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,
-    -1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,
-    -1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,
-    -1070,-1070,-1070, 1349,-1070,-1070,-1070,-1070,-1070,-1070,
-    -1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070,
-    -1070,-1070,-1070,-1070,-1070,-1070,-1070,-1070, 1349,-1070,
-    -1070,-1070,-1070,-1070,-1070
-    },
-
-    {
-       27,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,
-    -1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,
-    -1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,
-
-    -1071,-1071, 1350,-1071,-1071,-1071,-1071,-1071,-1071,-1071,
-    -1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,-1071,
-    -1071,-1071,-1071,-1071,-1071,-1071,-1071, 1350,-1071,-1071,
-    -1071,-1071,-1071,-1071,-1071
-    },
-
-    {
-       27,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072, 1351,
-    -1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,
-    -1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,
-    -1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072, 1352,
-    -1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,
-    -1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,-1072,
-
-    -1072,-1072,-1072,-1072,-1072
-    },
-
-    {
-       27,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073, 1353,
-    -1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,
-    -1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,
-    -1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073, 1354,
-    -1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,
-    -1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,-1073,
-    -1073,-1073,-1073,-1073,-1073
-    },
-
-    {
-       27,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074, 1355,
-    -1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,
-
-    -1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,
-    -1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074, 1356,
-    -1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,
-    -1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,-1074,
-    -1074,-1074,-1074,-1074,-1074
-    },
-
-    {
-       27,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,
-    -1075,-1075,-1075, 1357,-1075,-1075,-1075,-1075,-1075,-1075,
-    -1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,
-    -1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,
-    -1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,
-
-    -1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,-1075,
-    -1075,-1075,-1075,-1075,-1075
-    },
-
-    {
-       27,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,
-    -1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,
-    -1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,
-    -1076,-1076, 1358,-1076,-1076,-1076,-1076,-1076,-1076,-1076,
-    -1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,-1076,
-    -1076,-1076,-1076,-1076,-1076,-1076,-1076, 1358,-1076,-1076,
-    -1076,-1076,-1076,-1076,-1076
-    },
-
-    {
-       27,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,
-
-    -1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,
-    -1077,-1077,-1077,-1077,-1077,-1077,-1077, 1359,-1077,-1077,
-    -1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,
-    -1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,-1077,
-    -1077,-1077, 1359,-1077,-1077,-1077,-1077,-1077,-1077,-1077,
-    -1077,-1077,-1077,-1077,-1077
-    },
-
-    {
-       27,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,
-    -1078,-1078,-1078, 1360,-1078,-1078,-1078,-1078,-1078,-1078,
-    -1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,
-    -1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,
-
-    -1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,
-    -1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,-1078,
-    -1078,-1078,-1078,-1078,-1078
-    },
-
-    {
-       27,-1079, 1361, 1361,-1079,-1079,-1079,-1079,-1079,-1079,
-    -1079,-1079, 1362,-1079,-1079,-1079,-1079,-1079,-1079,-1079,
-    -1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,
-    -1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,
-    -1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,
-    -1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,-1079,
-    -1079,-1079,-1079,-1079,-1079
-
-    },
-
-    {
-       27,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,
-    -1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,
-    -1080,-1080,-1080,-1080,-1080,-1080,-1080, 1363,-1080,-1080,
-    -1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,
-    -1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,-1080,
-    -1080,-1080, 1363,-1080,-1080,-1080,-1080,-1080,-1080,-1080,
-    -1080,-1080,-1080,-1080,-1080
-    },
-
-    {
-       27,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,
-    -1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,
-    -1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,
-
-    -1081, 1364,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,
-    -1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,-1081,
-    -1081,-1081,-1081,-1081,-1081,-1081, 1364,-1081,-1081,-1081,
-    -1081,-1081,-1081,-1081,-1081
-    },
-
-    {
-       27,-1082, 1365, 1365,-1082,-1082,-1082,-1082,-1082,-1082,
-    -1082,-1082, 1366,-1082,-1082,-1082,-1082,-1082,-1082,-1082,
-    -1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,
-    -1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,
-    -1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,
-    -1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,-1082,
-
-    -1082,-1082,-1082,-1082,-1082
-    },
-
-    {
-       27,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,
-    -1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,
-    -1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,
-    -1083,-1083,-1083, 1367,-1083,-1083,-1083,-1083,-1083,-1083,
-    -1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083,
-    -1083,-1083,-1083,-1083,-1083,-1083,-1083,-1083, 1367,-1083,
-    -1083,-1083,-1083,-1083,-1083
-    },
-
-    {
-       27,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,
-    -1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,
-
-    -1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,
-    -1084,-1084,-1084, 1368,-1084,-1084,-1084,-1084,-1084,-1084,
-    -1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084,
-    -1084,-1084,-1084,-1084,-1084,-1084,-1084,-1084, 1368,-1084,
-    -1084,-1084,-1084,-1084,-1084
-    },
-
-    {
-       27,-1085, 1369, 1369,-1085,-1085,-1085,-1085,-1085,-1085,
-    -1085,-1085, 1370,-1085,-1085,-1085,-1085,-1085,-1085,-1085,
-    -1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,
-    -1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,
-    -1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,
-
-    -1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,-1085,
-    -1085,-1085,-1085,-1085,-1085
-    },
-
-    {
-       27,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,
-    -1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,
-    -1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,
-    -1086,-1086,-1086, 1371,-1086,-1086,-1086,-1086,-1086,-1086,
-    -1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086,
-    -1086,-1086,-1086,-1086,-1086,-1086,-1086,-1086, 1371,-1086,
-    -1086,-1086,-1086,-1086,-1086
-    },
-
-    {
-       27,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,
-
-    -1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,
-    -1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,
-    -1087,-1087,-1087, 1372,-1087,-1087,-1087,-1087,-1087,-1087,
-    -1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087,
-    -1087,-1087,-1087,-1087,-1087,-1087,-1087,-1087, 1372,-1087,
-    -1087,-1087,-1087,-1087,-1087
-    },
-
-    {
-       27,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,
-    -1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,
-    -1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088, 1373,-1088,
-    -1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,
-
-    -1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,-1088,
-    -1088,-1088,-1088, 1373,-1088,-1088,-1088,-1088,-1088,-1088,
-    -1088,-1088,-1088,-1088,-1088
-    },
-
-    {
-       27,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,
-    -1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,
-    -1089,-1089, 1374,-1089,-1089,-1089,-1089,-1089,-1089,-1089,
-    -1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,
-    -1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089, 1374,-1089,
-    -1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,-1089,
-    -1089,-1089,-1089,-1089,-1089
-
-    },
-
-    {
-       27,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,
-    -1090,-1090, 1375,-1090,-1090,-1090,-1090,-1090,-1090,-1090,
-    -1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,
-    -1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,
-    -1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,
-    -1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,-1090,
-    -1090,-1090,-1090,-1090,-1090
-    },
-
-    {
-       27,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,
-    -1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,
-    -1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,
-
-    -1091,-1091,-1091, 1376,-1091,-1091,-1091,-1091,-1091,-1091,
-    -1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091,
-    -1091,-1091,-1091,-1091,-1091,-1091,-1091,-1091, 1376,-1091,
-    -1091,-1091,-1091,-1091,-1091
-    },
-
-    {
-       27,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,
-    -1092,-1092,-1092, 1377,-1092,-1092,-1092,-1092,-1092,-1092,
-    -1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,
-    -1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,
-    -1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,
-    -1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,-1092,
-
-    -1092,-1092,-1092,-1092,-1092
-    },
-
-    {
-       27,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,
-    -1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,
-    -1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,
-    -1093,-1093, 1378,-1093,-1093,-1093,-1093,-1093,-1093,-1093,
-    -1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,-1093,
-    -1093,-1093,-1093,-1093,-1093,-1093,-1093, 1378,-1093,-1093,
-    -1093,-1093,-1093,-1093,-1093
-    },
-
-    {
-       27,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,
-    -1094,-1094,-1094,-1094, 1379,-1094,-1094,-1094,-1094,-1094,
-
-    -1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,
-    -1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,
-     1379,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,
-    -1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,-1094,
-    -1094,-1094,-1094,-1094,-1094
-    },
-
-    {
-       27,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095, 1380,
-    -1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,
-    -1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,
-    -1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095, 1381,
-    -1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,
-
-    -1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,-1095,
-    -1095,-1095,-1095,-1095,-1095
-    },
-
-    {
-       27,-1096, 1382, 1382,-1096,-1096,-1096,-1096,-1096,-1096,
-    -1096,-1096, 1383,-1096,-1096,-1096,-1096,-1096,-1096,-1096,
-    -1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,
-    -1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,
-    -1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,
-    -1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,-1096,
-    -1096,-1096,-1096,-1096,-1096
-    },
-
-    {
-       27,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,
-
-    -1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,
-    -1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,
-    -1097,-1097,-1097, 1384,-1097,-1097,-1097,-1097,-1097,-1097,
-    -1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097,
-    -1097,-1097,-1097,-1097,-1097,-1097,-1097,-1097, 1384,-1097,
-    -1097,-1097,-1097,-1097,-1097
-    },
-
-    {
-       27,-1098, 1098, 1098,-1098,-1098,-1098,-1098,-1098,-1098,
-    -1098,-1098, 1099,-1098,-1098,-1098,-1098,-1098,-1098,-1098,
-    -1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,
-    -1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,
-
-    -1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,
-    -1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,-1098,
-    -1098,-1098,-1098,-1098,-1098
-    },
-
-    {
-       27,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,
-    -1099,-1099,-1099,-1099,-1099,-1099, 1385,-1099,-1099,-1099,
-    -1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,
-    -1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,
-    -1099,-1099, 1385,-1099,-1099,-1099,-1099,-1099,-1099,-1099,
-    -1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,-1099,
-    -1099,-1099,-1099,-1099,-1099
-
-    },
-
-    {
-       27,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,
-    -1100,-1100,-1100,-1100, 1386,-1100,-1100,-1100,-1100,-1100,
-    -1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,
-    -1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,
-     1386,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,
-    -1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,-1100,
-    -1100,-1100,-1100,-1100,-1100
-    },
-
-    {
-       27,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,
-    -1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,
-    -1101,-1101,-1101,-1101,-1101,-1101,-1101, 1387,-1101,-1101,
-
-    -1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,
-    -1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,-1101,
-    -1101,-1101, 1387,-1101,-1101,-1101,-1101,-1101,-1101,-1101,
-    -1101,-1101,-1101,-1101,-1101
-    },
-
-    {
-       27,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,
-    -1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,
-    -1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,
-    -1102,-1102,-1102, 1388,-1102,-1102,-1102,-1102,-1102,-1102,
-    -1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102,
-    -1102,-1102,-1102,-1102,-1102,-1102,-1102,-1102, 1388,-1102,
-
-    -1102,-1102,-1102,-1102,-1102
-    },
-
-    {
-       27,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,
-    -1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,
-    -1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,
-    -1103,-1103, 1389,-1103,-1103,-1103,-1103,-1103,-1103,-1103,
-    -1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,-1103,
-    -1103,-1103,-1103,-1103,-1103,-1103,-1103, 1389,-1103,-1103,
-    -1103,-1103,-1103,-1103,-1103
-    },
-
-    {
-       27,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104, 1390,
-    -1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,
-
-    -1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,
-    -1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104, 1391,
-    -1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,
-    -1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,-1104,
-    -1104,-1104,-1104,-1104,-1104
-    },
-
-    {
-       27,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105, 1392,
-    -1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,
-    -1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,
-    -1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105, 1393,
-    -1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,
-
-    -1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,-1105,
-    -1105,-1105,-1105,-1105,-1105
-    },
-
-    {
-       27,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106, 1394,
-    -1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,
-    -1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,
-    -1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106, 1395,
-    -1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,
-    -1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,-1106,
-    -1106,-1106,-1106,-1106,-1106
-    },
-
-    {
-       27,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,
-
-    -1107,-1107,-1107, 1396,-1107,-1107,-1107,-1107,-1107,-1107,
-    -1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,
-    -1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,
-    -1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,
-    -1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,-1107,
-    -1107,-1107,-1107,-1107,-1107
-    },
-
-    {
-       27,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,
-    -1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,
-    -1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,
-    -1108,-1108, 1397,-1108,-1108,-1108,-1108,-1108,-1108,-1108,
-
-    -1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,-1108,
-    -1108,-1108,-1108,-1108,-1108,-1108,-1108, 1397,-1108,-1108,
-    -1108,-1108,-1108,-1108,-1108
-    },
-
-    {
-       27,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,
-    -1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,
-    -1109,-1109,-1109,-1109,-1109,-1109,-1109, 1398,-1109,-1109,
-    -1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,
-    -1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,-1109,
-    -1109,-1109, 1398,-1109,-1109,-1109,-1109,-1109,-1109,-1109,
-    -1109,-1109,-1109,-1109,-1109
-
-    },
-
-    {
-       27,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,
-    -1110,-1110,-1110,-1110,-1110,-1110,-1110, 1399,-1110,-1110,
-    -1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,
-    -1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,
-    -1110,-1110,-1110, 1399,-1110,-1110,-1110,-1110,-1110,-1110,
-    -1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,-1110,
-    -1110,-1110,-1110,-1110,-1110
-    },
-
-    {
-       27,-1111, 1400, 1400,-1111,-1111,-1111,-1111,-1111,-1111,
-    -1111,-1111, 1401,-1111,-1111,-1111,-1111,-1111,-1111,-1111,
-    -1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,
-
-    -1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,
-    -1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,
-    -1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,-1111,
-    -1111,-1111,-1111,-1111,-1111
-    },
-
-    {
-       27,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,
-    -1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,
-    -1112,-1112,-1112,-1112,-1112,-1112,-1112, 1402,-1112,-1112,
-    -1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,
-    -1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,-1112,
-    -1112,-1112, 1402,-1112,-1112,-1112,-1112,-1112,-1112,-1112,
-
-    -1112,-1112,-1112,-1112,-1112
-    },
-
-    {
-       27,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,
-    -1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,
-    -1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,
-    -1113, 1403,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,
-    -1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,-1113,
-    -1113,-1113,-1113,-1113,-1113,-1113, 1403,-1113,-1113,-1113,
-    -1113,-1113,-1113,-1113,-1113
-    },
-
-    {
-       27,-1114, 1404, 1404,-1114,-1114,-1114,-1114,-1114,-1114,
-    -1114,-1114, 1405,-1114,-1114,-1114,-1114,-1114,-1114,-1114,
-
-    -1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,
-    -1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,
-    -1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,
-    -1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,-1114,
-    -1114,-1114,-1114,-1114,-1114
-    },
-
-    {
-       27,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,
-    -1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,
-    -1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,
-    -1115,-1115,-1115, 1406,-1115,-1115,-1115,-1115,-1115,-1115,
-    -1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115,
-
-    -1115,-1115,-1115,-1115,-1115,-1115,-1115,-1115, 1406,-1115,
-    -1115,-1115,-1115,-1115,-1115
-    },
-
-    {
-       27,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,
-    -1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,
-    -1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,
-    -1116,-1116,-1116, 1407,-1116,-1116,-1116,-1116,-1116,-1116,
-    -1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116,
-    -1116,-1116,-1116,-1116,-1116,-1116,-1116,-1116, 1407,-1116,
-    -1116,-1116,-1116,-1116,-1116
-    },
-
-    {
-       27,-1117, 1408, 1408,-1117,-1117,-1117,-1117,-1117,-1117,
-
-    -1117,-1117, 1409,-1117,-1117,-1117,-1117,-1117,-1117,-1117,
-    -1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,
-    -1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,
-    -1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,
-    -1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,-1117,
-    -1117,-1117,-1117,-1117,-1117
-    },
-
-    {
-       27,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,
-    -1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,
-    -1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,
-    -1118,-1118,-1118, 1410,-1118,-1118,-1118,-1118,-1118,-1118,
-
-    -1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118,
-    -1118,-1118,-1118,-1118,-1118,-1118,-1118,-1118, 1410,-1118,
-    -1118,-1118,-1118,-1118,-1118
-    },
-
-    {
-       27,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,
-    -1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,
-    -1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,
-    -1119,-1119,-1119, 1411,-1119,-1119,-1119,-1119,-1119,-1119,
-    -1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119,
-    -1119,-1119,-1119,-1119,-1119,-1119,-1119,-1119, 1411,-1119,
-    -1119,-1119,-1119,-1119,-1119
-
-    },
-
-    {
-       27,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,
-    -1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,
-    -1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120, 1412,-1120,
-    -1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,
-    -1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,-1120,
-    -1120,-1120,-1120, 1412,-1120,-1120,-1120,-1120,-1120,-1120,
-    -1120,-1120,-1120,-1120,-1120
-    },
-
-    {
-       27,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,
-    -1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,
-    -1121,-1121, 1413,-1121,-1121,-1121,-1121,-1121,-1121,-1121,
-
-    -1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,
-    -1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121, 1413,-1121,
-    -1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,-1121,
-    -1121,-1121,-1121,-1121,-1121
-    },
-
-    {
-       27,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,
-    -1122,-1122, 1414,-1122,-1122,-1122,-1122,-1122,-1122,-1122,
-    -1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,
-    -1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,
-    -1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,
-    -1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,-1122,
-
-    -1122,-1122,-1122,-1122,-1122
-    },
-
-    {
-       27,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,
-    -1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,
-    -1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,
-    -1123,-1123,-1123, 1415,-1123,-1123,-1123,-1123,-1123,-1123,
-    -1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123,
-    -1123,-1123,-1123,-1123,-1123,-1123,-1123,-1123, 1415,-1123,
-    -1123,-1123,-1123,-1123,-1123
-    },
-
-    {
-       27,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,
-    -1124,-1124,-1124, 1416,-1124,-1124,-1124,-1124,-1124,-1124,
-
-    -1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,
-    -1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,
-    -1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,
-    -1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,-1124,
-    -1124,-1124,-1124,-1124,-1124
-    },
-
-    {
-       27,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,
-    -1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,
-    -1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,
-    -1125,-1125, 1417,-1125,-1125,-1125,-1125,-1125,-1125,-1125,
-    -1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,-1125,
-
-    -1125,-1125,-1125,-1125,-1125,-1125,-1125, 1417,-1125,-1125,
-    -1125,-1125,-1125,-1125,-1125
-    },
-
-    {
-       27,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,
-    -1126,-1126,-1126,-1126, 1418,-1126,-1126,-1126,-1126,-1126,
-    -1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,
-    -1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,
-     1418,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,
-    -1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,-1126,
-    -1126,-1126,-1126,-1126,-1126
-    },
-
-    {
-       27,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127, 1419,
-
-    -1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,
-    -1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,
-    -1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127, 1420,
-    -1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,
-    -1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,-1127,
-    -1127,-1127,-1127,-1127,-1127
-    },
-
-    {
-       27,-1128, 1421, 1421,-1128,-1128,-1128,-1128,-1128,-1128,
-    -1128,-1128, 1422,-1128,-1128,-1128,-1128,-1128,-1128,-1128,
-    -1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,
-    -1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,
-
-    -1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,
-    -1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,-1128,
-    -1128,-1128,-1128,-1128,-1128
-    },
-
-    {
-       27,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,
-    -1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,
-    -1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,
-    -1129,-1129,-1129, 1423,-1129,-1129,-1129,-1129,-1129,-1129,
-    -1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129,
-    -1129,-1129,-1129,-1129,-1129,-1129,-1129,-1129, 1423,-1129,
-    -1129,-1129,-1129,-1129,-1129
-
-    },
-
-    {
-       27,-1130, 1130, 1130,-1130,-1130,-1130,-1130,-1130,-1130,
-    -1130,-1130, 1131,-1130,-1130,-1130,-1130,-1130,-1130,-1130,
-    -1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,
-    -1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,
-    -1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,
-    -1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,-1130,
-    -1130,-1130,-1130,-1130,-1130
-    },
-
-    {
-       27,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,
-    -1131,-1131,-1131,-1131,-1131,-1131, 1424,-1131,-1131,-1131,
-    -1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,
-
-    -1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,
-    -1131,-1131, 1424,-1131,-1131,-1131,-1131,-1131,-1131,-1131,
-    -1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,-1131,
-    -1131,-1131,-1131,-1131,-1131
-    },
-
-    {
-       27,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,
-    -1132,-1132,-1132,-1132, 1425,-1132,-1132,-1132,-1132,-1132,
-    -1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,
-    -1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,
-     1425,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,
-    -1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,-1132,
-
-    -1132,-1132,-1132,-1132,-1132
-    },
-
-    {
-       27,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,
-    -1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,
-    -1133,-1133,-1133,-1133,-1133,-1133,-1133, 1426,-1133,-1133,
-    -1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,
-    -1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,-1133,
-    -1133,-1133, 1426,-1133,-1133,-1133,-1133,-1133,-1133,-1133,
-    -1133,-1133,-1133,-1133,-1133
-    },
-
-    {
-       27,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,
-    -1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,
-
-    -1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,
-    -1134,-1134,-1134, 1427,-1134,-1134,-1134,-1134,-1134,-1134,
-    -1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134,
-    -1134,-1134,-1134,-1134,-1134,-1134,-1134,-1134, 1427,-1134,
-    -1134,-1134,-1134,-1134,-1134
-    },
-
-    {
-       27,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,
-    -1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,
-    -1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,
-    -1135,-1135, 1428,-1135,-1135,-1135,-1135,-1135,-1135,-1135,
-    -1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,-1135,
-
-    -1135,-1135,-1135,-1135,-1135,-1135,-1135, 1428,-1135,-1135,
-    -1135,-1135,-1135,-1135,-1135
-    },
-
-    {
-       27,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136, 1429,
-    -1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,
-    -1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,
-    -1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136, 1430,
-    -1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,
-    -1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,-1136,
-    -1136,-1136,-1136,-1136,-1136
-    },
-
-    {
-       27,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137, 1431,
-
-    -1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,
-    -1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,
-    -1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137, 1432,
-    -1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,
-    -1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,-1137,
-    -1137,-1137,-1137,-1137,-1137
-    },
-
-    {
-       27,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138, 1433,
-    -1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,
-    -1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,
-    -1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138, 1434,
-
-    -1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,
-    -1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,-1138,
-    -1138,-1138,-1138,-1138,-1138
-    },
-
-    {
-       27,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,
-    -1139,-1139,-1139, 1435,-1139,-1139,-1139,-1139,-1139,-1139,
-    -1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,
-    -1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,
-    -1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,
-    -1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,-1139,
-    -1139,-1139,-1139,-1139,-1139
-
-    },
-
-    {
-       27,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,
-    -1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,
-    -1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,
-    -1140,-1140, 1436,-1140,-1140,-1140,-1140,-1140,-1140,-1140,
-    -1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,-1140,
-    -1140,-1140,-1140,-1140,-1140,-1140,-1140, 1436,-1140,-1140,
-    -1140,-1140,-1140,-1140,-1140
-    },
-
-    {
-       27,-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, 1437,-1141,-1141,
-
-    -1141,-1141,-1141,-1141,-1141,-1141,-1141,-1141,-1141,-1141,
-    -1141,-1141,-1141,-1141,-1141,-1141,-1141,-1141,-1141,-1141,
-    -1141,-1141, 1437,-1141,-1141,-1141,-1141,-1141,-1141,-1141,
-    -1141,-1141,-1141,-1141,-1141
-    },
-
-    {
-       27,-1142,-1142,-1142,-1142,-1142,-1142,-1142,-1142,-1142,
-    -1142,-1142,-1142,-1142,-1142,-1142,-1142, 1438,-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, 1438,-1142,-1142,-1142,-1142,-1142,-1142,
-    -1142,-1142,-1142,-1142,-1142,-1142,-1142,-1142,-1142,-1142,
-
-    -1142,-1142,-1142,-1142,-1142
-    },
-
-    {
-       27,-1143, 1439, 1439,-1143,-1143,-1143,-1143,-1143,-1143,
-    -1143,-1143, 1440,-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,-1143,-1143,-1143,-1143,-1143,-1143,-1143,-1143,-1143,
-    -1143,-1143,-1143,-1143,-1143,-1143,-1143,-1143,-1143,-1143,
-    -1143,-1143,-1143,-1143,-1143
-    },
-
-    {
-       27,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,
-    -1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,
-
-    -1144,-1144,-1144,-1144,-1144,-1144,-1144, 1441,-1144,-1144,
-    -1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,
-    -1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,-1144,
-    -1144,-1144, 1441,-1144,-1144,-1144,-1144,-1144,-1144,-1144,
-    -1144,-1144,-1144,-1144,-1144
-    },
-
-    {
-       27,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,
-    -1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,
-    -1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,
-    -1145, 1442,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,
-    -1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,-1145,
-
-    -1145,-1145,-1145,-1145,-1145,-1145, 1442,-1145,-1145,-1145,
-    -1145,-1145,-1145,-1145,-1145
-    },
-
-    {
-       27,-1146, 1443, 1443,-1146,-1146,-1146,-1146,-1146,-1146,
-    -1146,-1146, 1444,-1146,-1146,-1146,-1146,-1146,-1146,-1146,
-    -1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,
-    -1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,
-    -1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,
-    -1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,-1146,
-    -1146,-1146,-1146,-1146,-1146
-    },
-
-    {
-       27,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,
-
-    -1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,
-    -1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,
-    -1147,-1147,-1147, 1445,-1147,-1147,-1147,-1147,-1147,-1147,
-    -1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147,
-    -1147,-1147,-1147,-1147,-1147,-1147,-1147,-1147, 1445,-1147,
-    -1147,-1147,-1147,-1147,-1147
-    },
-
-    {
-       27,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,
-    -1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,
-    -1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,
-    -1148,-1148,-1148, 1446,-1148,-1148,-1148,-1148,-1148,-1148,
-
-    -1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148,
-    -1148,-1148,-1148,-1148,-1148,-1148,-1148,-1148, 1446,-1148,
-    -1148,-1148,-1148,-1148,-1148
-    },
-
-    {
-       27,-1149, 1447, 1447,-1149,-1149,-1149,-1149,-1149,-1149,
-    -1149,-1149, 1448,-1149,-1149,-1149,-1149,-1149,-1149,-1149,
-    -1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,
-    -1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,
-    -1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,
-    -1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,-1149,
-    -1149,-1149,-1149,-1149,-1149
-
-    },
-
-    {
-       27,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,
-    -1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,
-    -1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,
-    -1150,-1150,-1150, 1449,-1150,-1150,-1150,-1150,-1150,-1150,
-    -1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150,
-    -1150,-1150,-1150,-1150,-1150,-1150,-1150,-1150, 1449,-1150,
-    -1150,-1150,-1150,-1150,-1150
-    },
-
-    {
-       27,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,
-    -1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,
-    -1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,
-
-    -1151,-1151,-1151, 1450,-1151,-1151,-1151,-1151,-1151,-1151,
-    -1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151,
-    -1151,-1151,-1151,-1151,-1151,-1151,-1151,-1151, 1450,-1151,
-    -1151,-1151,-1151,-1151,-1151
-    },
-
-    {
-       27,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,
-    -1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,
-    -1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152, 1451,-1152,
-    -1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,
-    -1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,-1152,
-    -1152,-1152,-1152, 1451,-1152,-1152,-1152,-1152,-1152,-1152,
-
-    -1152,-1152,-1152,-1152,-1152
-    },
-
-    {
-       27,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,
-    -1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,
-    -1153,-1153, 1452,-1153,-1153,-1153,-1153,-1153,-1153,-1153,
-    -1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,
-    -1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153, 1452,-1153,
-    -1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,-1153,
-    -1153,-1153,-1153,-1153,-1153
-    },
-
-    {
-       27,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,
-    -1154,-1154, 1453,-1154,-1154,-1154,-1154,-1154,-1154,-1154,
-
-    -1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,
-    -1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,
-    -1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,
-    -1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,-1154,
-    -1154,-1154,-1154,-1154,-1154
-    },
-
-    {
-       27,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,
-    -1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,
-    -1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,
-    -1155,-1155,-1155, 1454,-1155,-1155,-1155,-1155,-1155,-1155,
-    -1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155,
-
-    -1155,-1155,-1155,-1155,-1155,-1155,-1155,-1155, 1454,-1155,
-    -1155,-1155,-1155,-1155,-1155
-    },
-
-    {
-       27,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,
-    -1156,-1156,-1156, 1455,-1156,-1156,-1156,-1156,-1156,-1156,
-    -1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,
-    -1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,
-    -1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,
-    -1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,-1156,
-    -1156,-1156,-1156,-1156,-1156
-    },
-
-    {
-       27,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,
-
-    -1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,
-    -1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,
-    -1157,-1157, 1456,-1157,-1157,-1157,-1157,-1157,-1157,-1157,
-    -1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,-1157,
-    -1157,-1157,-1157,-1157,-1157,-1157,-1157, 1456,-1157,-1157,
-    -1157,-1157,-1157,-1157,-1157
-    },
-
-    {
-       27,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,
-    -1158,-1158,-1158,-1158, 1457,-1158,-1158,-1158,-1158,-1158,
-    -1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,
-    -1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,
-
-     1457,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,
-    -1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,-1158,
-    -1158,-1158,-1158,-1158,-1158
-    },
-
-    {
-       27,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159, 1458,
-    -1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,
-    -1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,
-    -1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159, 1459,
-    -1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,
-    -1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,-1159,
-    -1159,-1159,-1159,-1159,-1159
-
-    },
-
-    {
-       27,-1160, 1460, 1460,-1160,-1160,-1160,-1160,-1160,-1160,
-    -1160,-1160, 1461,-1160,-1160,-1160,-1160,-1160,-1160,-1160,
-    -1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,
-    -1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,
-    -1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,
-    -1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,-1160,
-    -1160,-1160,-1160,-1160,-1160
-    },
-
-    {
-       27,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,
-    -1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,
-    -1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,
-
-    -1161,-1161,-1161, 1462,-1161,-1161,-1161,-1161,-1161,-1161,
-    -1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161,
-    -1161,-1161,-1161,-1161,-1161,-1161,-1161,-1161, 1462,-1161,
-    -1161,-1161,-1161,-1161,-1161
-    },
-
-    {
-       27,-1162, 1162, 1162,-1162,-1162,-1162,-1162,-1162,-1162,
-    -1162,-1162, 1163,-1162,-1162,-1162,-1162,-1162,-1162,-1162,
-    -1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,
-    -1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,
-    -1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,
-    -1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,-1162,
-
-    -1162,-1162,-1162,-1162,-1162
-    },
-
-    {
-       27,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,
-    -1163,-1163,-1163,-1163,-1163,-1163, 1463,-1163,-1163,-1163,
-    -1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,
-    -1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,
-    -1163,-1163, 1463,-1163,-1163,-1163,-1163,-1163,-1163,-1163,
-    -1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,-1163,
-    -1163,-1163,-1163,-1163,-1163
-    },
-
-    {
-       27,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,
-    -1164,-1164,-1164,-1164, 1464,-1164,-1164,-1164,-1164,-1164,
-
-    -1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,
-    -1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,
-     1464,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,
-    -1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,-1164,
-    -1164,-1164,-1164,-1164,-1164
-    },
-
-    {
-       27,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,
-    -1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,
-    -1165,-1165,-1165,-1165,-1165,-1165,-1165, 1465,-1165,-1165,
-    -1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,
-    -1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,-1165,
-
-    -1165,-1165, 1465,-1165,-1165,-1165,-1165,-1165,-1165,-1165,
-    -1165,-1165,-1165,-1165,-1165
-    },
-
-    {
-       27,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,
-    -1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,
-    -1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,
-    -1166,-1166,-1166, 1466,-1166,-1166,-1166,-1166,-1166,-1166,
-    -1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166,
-    -1166,-1166,-1166,-1166,-1166,-1166,-1166,-1166, 1466,-1166,
-    -1166,-1166,-1166,-1166,-1166
-    },
-
-    {
-       27,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,
-
-    -1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,
-    -1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,
-    -1167,-1167, 1467,-1167,-1167,-1167,-1167,-1167,-1167,-1167,
-    -1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,-1167,
-    -1167,-1167,-1167,-1167,-1167,-1167,-1167, 1467,-1167,-1167,
-    -1167,-1167,-1167,-1167,-1167
-    },
-
-    {
-       27,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168, 1468,
-    -1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,
-    -1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,
-    -1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168, 1469,
-
-    -1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,
-    -1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,-1168,
-    -1168,-1168,-1168,-1168,-1168
-    },
-
-    {
-       27,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169, 1470,
-    -1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,
-    -1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,
-    -1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169, 1471,
-    -1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,
-    -1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,-1169,
-    -1169,-1169,-1169,-1169,-1169
-
-    },
-
-    {
-       27,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170, 1472,
-    -1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,
-    -1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,
-    -1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170, 1473,
-    -1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,
-    -1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,-1170,
-    -1170,-1170,-1170,-1170,-1170
-    },
-
-    {
-       27,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,
-    -1171,-1171,-1171, 1474,-1171,-1171,-1171,-1171,-1171,-1171,
-    -1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,
-
-    -1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,
-    -1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,
-    -1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,-1171,
-    -1171,-1171,-1171,-1171,-1171
-    },
-
-    {
-       27,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,
-    -1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,
-    -1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,
-    -1172,-1172, 1475,-1172,-1172,-1172,-1172,-1172,-1172,-1172,
-    -1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,-1172,
-    -1172,-1172,-1172,-1172,-1172,-1172,-1172, 1475,-1172,-1172,
-
-    -1172,-1172,-1172,-1172,-1172
-    },
-
-    {
-       27,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,
-    -1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,
-    -1173,-1173,-1173,-1173,-1173,-1173,-1173, 1476,-1173,-1173,
-    -1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,
-    -1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,-1173,
-    -1173,-1173, 1476,-1173,-1173,-1173,-1173,-1173,-1173,-1173,
-    -1173,-1173,-1173,-1173,-1173
-    },
-
-    {
-       27,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,
-    -1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,
-
-    -1174,-1174, 1477,-1174,-1174,-1174,-1174,-1174,-1174,-1174,
-    -1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,
-    -1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174, 1477,-1174,
-    -1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,-1174,
-    -1174,-1174,-1174,-1174,-1174
-    },
-
-    {
-       27,-1175, 1478, 1478,-1175,-1175,-1175,-1175,-1175,-1175,
-    -1175,-1175, 1479,-1175,-1175,-1175,-1175,-1175,-1175,-1175,
-    -1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,
-    -1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,
-    -1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,
-
-    -1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,-1175,
-    -1175,-1175,-1175,-1175,-1175
-    },
-
-    {
-       27,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,
-    -1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,
-    -1176,-1176,-1176,-1176,-1176,-1176,-1176, 1480,-1176,-1176,
-    -1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,
-    -1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,-1176,
-    -1176,-1176, 1480,-1176,-1176,-1176,-1176,-1176,-1176,-1176,
-    -1176,-1176,-1176,-1176,-1176
-    },
-
-    {
-       27,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,
-
-    -1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,
-    -1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,
-    -1177, 1481,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,
-    -1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,-1177,
-    -1177,-1177,-1177,-1177,-1177,-1177, 1481,-1177,-1177,-1177,
-    -1177,-1177,-1177,-1177,-1177
-    },
-
-    {
-       27,-1178, 1482, 1482,-1178,-1178,-1178,-1178,-1178,-1178,
-    -1178,-1178, 1483,-1178,-1178,-1178,-1178,-1178,-1178,-1178,
-    -1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,
-    -1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,
-
-    -1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,
-    -1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,-1178,
-    -1178,-1178,-1178,-1178,-1178
-    },
-
-    {
-       27,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,
-    -1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,
-    -1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,
-    -1179,-1179,-1179, 1484,-1179,-1179,-1179,-1179,-1179,-1179,
-    -1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179,
-    -1179,-1179,-1179,-1179,-1179,-1179,-1179,-1179, 1484,-1179,
-    -1179,-1179,-1179,-1179,-1179
-
-    },
-
-    {
-       27,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,
-    -1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,
-    -1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,
-    -1180,-1180,-1180, 1485,-1180,-1180,-1180,-1180,-1180,-1180,
-    -1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180,
-    -1180,-1180,-1180,-1180,-1180,-1180,-1180,-1180, 1485,-1180,
-    -1180,-1180,-1180,-1180,-1180
-    },
-
-    {
-       27,-1181, 1486, 1486,-1181,-1181,-1181,-1181,-1181,-1181,
-    -1181,-1181, 1487,-1181,-1181,-1181,-1181,-1181,-1181,-1181,
-    -1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,
-
-    -1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,
-    -1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,
-    -1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,-1181,
-    -1181,-1181,-1181,-1181,-1181
-    },
-
-    {
-       27,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,
-    -1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,
-    -1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,
-    -1182,-1182,-1182, 1488,-1182,-1182,-1182,-1182,-1182,-1182,
-    -1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182,
-    -1182,-1182,-1182,-1182,-1182,-1182,-1182,-1182, 1488,-1182,
-
-    -1182,-1182,-1182,-1182,-1182
-    },
-
-    {
-       27,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,
-    -1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,
-    -1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,
-    -1183,-1183,-1183, 1489,-1183,-1183,-1183,-1183,-1183,-1183,
-    -1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183,
-    -1183,-1183,-1183,-1183,-1183,-1183,-1183,-1183, 1489,-1183,
-    -1183,-1183,-1183,-1183,-1183
-    },
-
-    {
-       27,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,
-    -1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,
-
-    -1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184, 1490,-1184,
-    -1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,
-    -1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,-1184,
-    -1184,-1184,-1184, 1490,-1184,-1184,-1184,-1184,-1184,-1184,
-    -1184,-1184,-1184,-1184,-1184
-    },
-
-    {
-       27,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,
-    -1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,
-    -1185,-1185, 1491,-1185,-1185,-1185,-1185,-1185,-1185,-1185,
-    -1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,
-    -1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185, 1491,-1185,
-
-    -1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,-1185,
-    -1185,-1185,-1185,-1185,-1185
-    },
-
-    {
-       27,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,
-    -1186,-1186, 1492,-1186,-1186,-1186,-1186,-1186,-1186,-1186,
-    -1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,
-    -1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,
-    -1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,
-    -1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,-1186,
-    -1186,-1186,-1186,-1186,-1186
-    },
-
-    {
-       27,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,
-
-    -1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,
-    -1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,
-    -1187,-1187,-1187, 1493,-1187,-1187,-1187,-1187,-1187,-1187,
-    -1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187,
-    -1187,-1187,-1187,-1187,-1187,-1187,-1187,-1187, 1493,-1187,
-    -1187,-1187,-1187,-1187,-1187
-    },
-
-    {
-       27,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,
-    -1188,-1188,-1188, 1494,-1188,-1188,-1188,-1188,-1188,-1188,
-    -1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,
-    -1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,
-
-    -1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,
-    -1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,-1188,
-    -1188,-1188,-1188,-1188,-1188
-    },
-
-    {
-       27,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,
-    -1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,
-    -1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,
-    -1189,-1189, 1495,-1189,-1189,-1189,-1189,-1189,-1189,-1189,
-    -1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,-1189,
-    -1189,-1189,-1189,-1189,-1189,-1189,-1189, 1495,-1189,-1189,
-    -1189,-1189,-1189,-1189,-1189
-
-    },
-
-    {
-       27,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,
-    -1190,-1190,-1190,-1190, 1496,-1190,-1190,-1190,-1190,-1190,
-    -1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,
-    -1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,
-     1496,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,
-    -1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,-1190,
-    -1190,-1190,-1190,-1190,-1190
-    },
-
-    {
-       27,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191, 1497,
-    -1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,
-    -1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,
-
-    -1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191, 1498,
-    -1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,
-    -1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,-1191,
-    -1191,-1191,-1191,-1191,-1191
-    },
-
-    {
-       27,-1192, 1499, 1499,-1192,-1192,-1192,-1192,-1192,-1192,
-    -1192,-1192, 1500,-1192,-1192,-1192,-1192,-1192,-1192,-1192,
-    -1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,
-    -1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,
-    -1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,
-    -1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,-1192,
-
-    -1192,-1192,-1192,-1192,-1192
-    },
-
-    {
-       27,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,
-    -1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,
-    -1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,
-    -1193,-1193,-1193, 1501,-1193,-1193,-1193,-1193,-1193,-1193,
-    -1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193,
-    -1193,-1193,-1193,-1193,-1193,-1193,-1193,-1193, 1501,-1193,
-    -1193,-1193,-1193,-1193,-1193
-    },
-
-    {
-       27,-1194, 1194, 1194,-1194,-1194,-1194,-1194,-1194,-1194,
-    -1194,-1194, 1195,-1194,-1194,-1194,-1194,-1194,-1194,-1194,
-
-    -1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,
-    -1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,
-    -1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,
-    -1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,-1194,
-    -1194,-1194,-1194,-1194,-1194
-    },
-
-    {
-       27,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,
-    -1195,-1195,-1195,-1195,-1195,-1195, 1502,-1195,-1195,-1195,
-    -1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,
-    -1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,
-    -1195,-1195, 1502,-1195,-1195,-1195,-1195,-1195,-1195,-1195,
-
-    -1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,-1195,
-    -1195,-1195,-1195,-1195,-1195
-    },
-
-    {
-       27,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,
-    -1196,-1196,-1196,-1196, 1503,-1196,-1196,-1196,-1196,-1196,
-    -1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,
-    -1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,
-     1503,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,
-    -1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,-1196,
-    -1196,-1196,-1196,-1196,-1196
-    },
-
-    {
-       27,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,
-
-    -1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,
-    -1197,-1197,-1197,-1197,-1197,-1197,-1197, 1504,-1197,-1197,
-    -1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,
-    -1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,-1197,
-    -1197,-1197, 1504,-1197,-1197,-1197,-1197,-1197,-1197,-1197,
-    -1197,-1197,-1197,-1197,-1197
-    },
-
-    {
-       27,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,
-    -1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,
-    -1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,
-    -1198,-1198,-1198, 1505,-1198,-1198,-1198,-1198,-1198,-1198,
-
-    -1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198,
-    -1198,-1198,-1198,-1198,-1198,-1198,-1198,-1198, 1505,-1198,
-    -1198,-1198,-1198,-1198,-1198
-    },
-
-    {
-       27,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,
-    -1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,
-    -1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,
-    -1199,-1199, 1506,-1199,-1199,-1199,-1199,-1199,-1199,-1199,
-    -1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,-1199,
-    -1199,-1199,-1199,-1199,-1199,-1199,-1199, 1506,-1199,-1199,
-    -1199,-1199,-1199,-1199,-1199
-
-    },
-
-    {
-       27,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200, 1507,
-    -1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,
-    -1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,
-    -1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200, 1508,
-    -1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,
-    -1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,-1200,
-    -1200,-1200,-1200,-1200,-1200
-    },
-
-    {
-       27,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201, 1509,
-    -1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,
-    -1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,
-
-    -1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201, 1510,
-    -1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,
-    -1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,-1201,
-    -1201,-1201,-1201,-1201,-1201
-    },
-
-    {
-       27,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202, 1511,
-    -1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,
-    -1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,
-    -1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202, 1512,
-    -1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,
-    -1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,-1202,
-
-    -1202,-1202,-1202,-1202,-1202
-    },
-
-    {
-       27,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,
-    -1203,-1203,-1203, 1513,-1203,-1203,-1203,-1203,-1203,-1203,
-    -1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,
-    -1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,
-    -1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,
-    -1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,-1203,
-    -1203,-1203,-1203,-1203,-1203
-    },
-
-    {
-       27,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,
-    -1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,
-
-    -1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,
-    -1204,-1204, 1514,-1204,-1204,-1204,-1204,-1204,-1204,-1204,
-    -1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,-1204,
-    -1204,-1204,-1204,-1204,-1204,-1204,-1204, 1514,-1204,-1204,
-    -1204,-1204,-1204,-1204,-1204
-    },
-
-    {
-       27,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,
-    -1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,
-    -1205,-1205,-1205,-1205,-1205,-1205,-1205, 1515,-1205,-1205,
-    -1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,
-    -1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,-1205,
-
-    -1205,-1205, 1515,-1205,-1205,-1205,-1205,-1205,-1205,-1205,
-    -1205,-1205,-1205,-1205,-1205
-    },
-
-    {
-       27,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,
-    -1206,-1206,-1206,-1206,-1206, 1516,-1206,-1206,-1206,-1206,
-    -1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,
-    -1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,
-    -1206, 1516,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,
-    -1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,-1206,
-    -1206,-1206,-1206,-1206,-1206
-    },
-
-    {
-       27,-1207, 1517, 1517,-1207,-1207,-1207,-1207,-1207,-1207,
-
-    -1207,-1207, 1518,-1207,-1207,-1207,-1207,-1207,-1207,-1207,
-    -1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,
-    -1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,
-    -1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,
-    -1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,-1207,
-    -1207,-1207,-1207,-1207,-1207
-    },
-
-    {
-       27,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,
-    -1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,
-    -1208,-1208,-1208,-1208,-1208,-1208,-1208, 1519,-1208,-1208,
-    -1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,
-
-    -1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,-1208,
-    -1208,-1208, 1519,-1208,-1208,-1208,-1208,-1208,-1208,-1208,
-    -1208,-1208,-1208,-1208,-1208
-    },
-
-    {
-       27,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,
-    -1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,
-    -1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,
-    -1209, 1520,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,
-    -1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,-1209,
-    -1209,-1209,-1209,-1209,-1209,-1209, 1520,-1209,-1209,-1209,
-    -1209,-1209,-1209,-1209,-1209
-
-    },
-
-    {
-       27,-1210, 1521, 1521,-1210,-1210,-1210,-1210,-1210,-1210,
-    -1210,-1210, 1522,-1210,-1210,-1210,-1210,-1210,-1210,-1210,
-    -1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,
-    -1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,
-    -1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,
-    -1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,-1210,
-    -1210,-1210,-1210,-1210,-1210
-    },
-
-    {
-       27,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,
-    -1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,
-    -1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,
-
-    -1211,-1211,-1211, 1523,-1211,-1211,-1211,-1211,-1211,-1211,
-    -1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211,
-    -1211,-1211,-1211,-1211,-1211,-1211,-1211,-1211, 1523,-1211,
-    -1211,-1211,-1211,-1211,-1211
-    },
-
-    {
-       27,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,
-    -1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,
-    -1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,
-    -1212,-1212,-1212, 1524,-1212,-1212,-1212,-1212,-1212,-1212,
-    -1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212,
-    -1212,-1212,-1212,-1212,-1212,-1212,-1212,-1212, 1524,-1212,
-
-    -1212,-1212,-1212,-1212,-1212
-    },
-
-    {
-       27,-1213, 1525, 1525,-1213,-1213,-1213,-1213,-1213,-1213,
-    -1213,-1213, 1526,-1213,-1213,-1213,-1213,-1213,-1213,-1213,
-    -1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,
-    -1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,
-    -1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,
-    -1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,-1213,
-    -1213,-1213,-1213,-1213,-1213
-    },
-
-    {
-       27,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,
-    -1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,
-
-    -1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,
-    -1214,-1214,-1214, 1527,-1214,-1214,-1214,-1214,-1214,-1214,
-    -1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214,
-    -1214,-1214,-1214,-1214,-1214,-1214,-1214,-1214, 1527,-1214,
-    -1214,-1214,-1214,-1214,-1214
-    },
-
-    {
-       27,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,
-    -1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,
-    -1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,
-    -1215,-1215,-1215, 1528,-1215,-1215,-1215,-1215,-1215,-1215,
-    -1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215,
-
-    -1215,-1215,-1215,-1215,-1215,-1215,-1215,-1215, 1528,-1215,
-    -1215,-1215,-1215,-1215,-1215
-    },
-
-    {
-       27,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,
-    -1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,
-    -1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216, 1529,-1216,
-    -1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,
-    -1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,-1216,
-    -1216,-1216,-1216, 1529,-1216,-1216,-1216,-1216,-1216,-1216,
-    -1216,-1216,-1216,-1216,-1216
-    },
-
-    {
-       27,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,
-
-    -1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,
-    -1217,-1217, 1530,-1217,-1217,-1217,-1217,-1217,-1217,-1217,
-    -1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,
-    -1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217, 1530,-1217,
-    -1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,-1217,
-    -1217,-1217,-1217,-1217,-1217
-    },
-
-    {
-       27,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,
-    -1218,-1218, 1531,-1218,-1218,-1218,-1218,-1218,-1218,-1218,
-    -1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,
-    -1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,
-
-    -1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,
-    -1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,-1218,
-    -1218,-1218,-1218,-1218,-1218
-    },
-
-    {
-       27,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,
-    -1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,
-    -1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,
-    -1219,-1219,-1219, 1532,-1219,-1219,-1219,-1219,-1219,-1219,
-    -1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219,
-    -1219,-1219,-1219,-1219,-1219,-1219,-1219,-1219, 1532,-1219,
-    -1219,-1219,-1219,-1219,-1219
-
-    },
-
-    {
-       27,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,
-    -1220,-1220,-1220, 1533,-1220,-1220,-1220,-1220,-1220,-1220,
-    -1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,
-    -1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,
-    -1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,
-    -1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,-1220,
-    -1220,-1220,-1220,-1220,-1220
-    },
-
-    {
-       27,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,
-    -1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,
-    -1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,
-
-    -1221,-1221, 1534,-1221,-1221,-1221,-1221,-1221,-1221,-1221,
-    -1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,-1221,
-    -1221,-1221,-1221,-1221,-1221,-1221,-1221, 1534,-1221,-1221,
-    -1221,-1221,-1221,-1221,-1221
-    },
-
-    {
-       27,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,
-    -1222,-1222,-1222,-1222, 1535,-1222,-1222,-1222,-1222,-1222,
-    -1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,
-    -1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,
-     1535,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,
-    -1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,-1222,
-
-    -1222,-1222,-1222,-1222,-1222
-    },
-
-    {
-       27,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223, 1536,
-    -1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,
-    -1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,
-    -1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223, 1537,
-    -1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,
-    -1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,-1223,
-    -1223,-1223,-1223,-1223,-1223
-    },
-
-    {
-       27,-1224, 1538, 1538,-1224,-1224,-1224,-1224,-1224,-1224,
-    -1224,-1224, 1539,-1224,-1224,-1224,-1224,-1224,-1224,-1224,
-
-    -1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,
-    -1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,
-    -1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,
-    -1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,-1224,
-    -1224,-1224,-1224,-1224,-1224
-    },
-
-    {
-       27,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,
-    -1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,
-    -1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,
-    -1225,-1225,-1225, 1540,-1225,-1225,-1225,-1225,-1225,-1225,
-    -1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225,
-
-    -1225,-1225,-1225,-1225,-1225,-1225,-1225,-1225, 1540,-1225,
-    -1225,-1225,-1225,-1225,-1225
-    },
-
-    {
-       27,-1226, 1226, 1226,-1226,-1226,-1226,-1226,-1226,-1226,
-    -1226,-1226, 1227,-1226,-1226,-1226,-1226,-1226,-1226,-1226,
-    -1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,
-    -1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,
-    -1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,
-    -1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,-1226,
-    -1226,-1226,-1226,-1226,-1226
-    },
-
-    {
-       27,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,
-
-    -1227,-1227,-1227,-1227,-1227,-1227, 1541,-1227,-1227,-1227,
-    -1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,
-    -1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,
-    -1227,-1227, 1541,-1227,-1227,-1227,-1227,-1227,-1227,-1227,
-    -1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,-1227,
-    -1227,-1227,-1227,-1227,-1227
-    },
-
-    {
-       27,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,
-    -1228,-1228,-1228,-1228, 1542,-1228,-1228,-1228,-1228,-1228,
-    -1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,
-    -1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,
-
-     1542,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,
-    -1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,-1228,
-    -1228,-1228,-1228,-1228,-1228
-    },
-
-    {
-       27,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,
-    -1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,
-    -1229,-1229,-1229,-1229,-1229,-1229,-1229, 1543,-1229,-1229,
-    -1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,
-    -1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,-1229,
-    -1229,-1229, 1543,-1229,-1229,-1229,-1229,-1229,-1229,-1229,
-    -1229,-1229,-1229,-1229,-1229
-
-    },
-
-    {
-       27,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,
-    -1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,
-    -1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,
-    -1230,-1230,-1230, 1544,-1230,-1230,-1230,-1230,-1230,-1230,
-    -1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230,
-    -1230,-1230,-1230,-1230,-1230,-1230,-1230,-1230, 1544,-1230,
-    -1230,-1230,-1230,-1230,-1230
-    },
-
-    {
-       27,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,
-    -1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,
-    -1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,
-
-    -1231,-1231, 1545,-1231,-1231,-1231,-1231,-1231,-1231,-1231,
-    -1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,-1231,
-    -1231,-1231,-1231,-1231,-1231,-1231,-1231, 1545,-1231,-1231,
-    -1231,-1231,-1231,-1231,-1231
-    },
-
-    {
-       27,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232, 1546,
-    -1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,
-    -1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,
-    -1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232, 1547,
-    -1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,
-    -1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,-1232,
-
-    -1232,-1232,-1232,-1232,-1232
-    },
-
-    {
-       27,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233, 1548,
-    -1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,
-    -1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,
-    -1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233, 1549,
-    -1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,
-    -1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,-1233,
-    -1233,-1233,-1233,-1233,-1233
-    },
-
-    {
-       27,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234, 1550,
-    -1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,
-
-    -1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,
-    -1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234, 1551,
-    -1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,
-    -1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,-1234,
-    -1234,-1234,-1234,-1234,-1234
-    },
-
-    {
-       27,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,
-    -1235,-1235,-1235, 1552,-1235,-1235,-1235,-1235,-1235,-1235,
-    -1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,
-    -1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,
-    -1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,
-
-    -1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,-1235,
-    -1235,-1235,-1235,-1235,-1235
-    },
-
-    {
-       27,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,
-    -1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,
-    -1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,
-    -1236,-1236, 1553,-1236,-1236,-1236,-1236,-1236,-1236,-1236,
-    -1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,-1236,
-    -1236,-1236,-1236,-1236,-1236,-1236,-1236, 1553,-1236,-1236,
-    -1236,-1236,-1236,-1236,-1236
-    },
-
-    {
-       27,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,
-
-    -1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,
-    -1237,-1237,-1237,-1237,-1237,-1237,-1237, 1554,-1237,-1237,
-    -1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,
-    -1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,-1237,
-    -1237,-1237, 1554,-1237,-1237,-1237,-1237,-1237,-1237,-1237,
-    -1237,-1237,-1237,-1237,-1237
-    },
-
-    {
-       27,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,
-    -1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,
-    -1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,
-    -1238, 1555,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,
-
-    -1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,-1238,
-    -1238,-1238,-1238,-1238,-1238,-1238, 1555,-1238,-1238,-1238,
-    -1238,-1238,-1238,-1238,-1238
-    },
-
-    {
-       27,-1239, 1556, 1556,-1239,-1239,-1239,-1239,-1239,-1239,
-    -1239,-1239, 1557,-1239,-1239,-1239,-1239,-1239,-1239,-1239,
-    -1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,
-    -1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,
-    -1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,
-    -1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,-1239,
-    -1239,-1239,-1239,-1239,-1239
-
-    },
-
-    {
-       27,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,
-    -1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,
-    -1240,-1240,-1240,-1240,-1240,-1240,-1240, 1558,-1240,-1240,
-    -1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,
-    -1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,-1240,
-    -1240,-1240, 1558,-1240,-1240,-1240,-1240,-1240,-1240,-1240,
-    -1240,-1240,-1240,-1240,-1240
-    },
-
-    {
-       27,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,
-    -1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,
-    -1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,
-
-    -1241, 1559,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,
-    -1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,-1241,
-    -1241,-1241,-1241,-1241,-1241,-1241, 1559,-1241,-1241,-1241,
-    -1241,-1241,-1241,-1241,-1241
-    },
-
-    {
-       27,-1242, 1560, 1560,-1242,-1242,-1242,-1242,-1242,-1242,
-    -1242,-1242, 1561,-1242,-1242,-1242,-1242,-1242,-1242,-1242,
-    -1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,
-    -1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,
-    -1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,
-    -1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,-1242,
-
-    -1242,-1242,-1242,-1242,-1242
-    },
-
-    {
-       27,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,
-    -1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,
-    -1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,
-    -1243,-1243,-1243, 1562,-1243,-1243,-1243,-1243,-1243,-1243,
-    -1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243,
-    -1243,-1243,-1243,-1243,-1243,-1243,-1243,-1243, 1562,-1243,
-    -1243,-1243,-1243,-1243,-1243
-    },
-
-    {
-       27,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,
-    -1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,
-
-    -1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,
-    -1244,-1244,-1244, 1563,-1244,-1244,-1244,-1244,-1244,-1244,
-    -1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244,
-    -1244,-1244,-1244,-1244,-1244,-1244,-1244,-1244, 1563,-1244,
-    -1244,-1244,-1244,-1244,-1244
-    },
-
-    {
-       27,-1245, 1564, 1564,-1245,-1245,-1245,-1245,-1245,-1245,
-    -1245,-1245, 1565,-1245,-1245,-1245,-1245,-1245,-1245,-1245,
-    -1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,
-    -1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,
-    -1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,
-
-    -1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,-1245,
-    -1245,-1245,-1245,-1245,-1245
-    },
-
-    {
-       27,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,
-    -1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,
-    -1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,
-    -1246,-1246,-1246, 1566,-1246,-1246,-1246,-1246,-1246,-1246,
-    -1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246,
-    -1246,-1246,-1246,-1246,-1246,-1246,-1246,-1246, 1566,-1246,
-    -1246,-1246,-1246,-1246,-1246
-    },
-
-    {
-       27,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,
-
-    -1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,
-    -1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,
-    -1247,-1247,-1247, 1567,-1247,-1247,-1247,-1247,-1247,-1247,
-    -1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247,
-    -1247,-1247,-1247,-1247,-1247,-1247,-1247,-1247, 1567,-1247,
-    -1247,-1247,-1247,-1247,-1247
-    },
-
-    {
-       27,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,
-    -1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,
-    -1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248, 1568,-1248,
-    -1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,
-
-    -1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,-1248,
-    -1248,-1248,-1248, 1568,-1248,-1248,-1248,-1248,-1248,-1248,
-    -1248,-1248,-1248,-1248,-1248
-    },
-
-    {
-       27,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,
-    -1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,
-    -1249,-1249, 1569,-1249,-1249,-1249,-1249,-1249,-1249,-1249,
-    -1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,
-    -1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249, 1569,-1249,
-    -1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,-1249,
-    -1249,-1249,-1249,-1249,-1249
-
-    },
-
-    {
-       27,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,
-    -1250,-1250, 1570,-1250,-1250,-1250,-1250,-1250,-1250,-1250,
-    -1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,
-    -1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,
-    -1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,
-    -1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,-1250,
-    -1250,-1250,-1250,-1250,-1250
-    },
-
-    {
-       27,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,
-    -1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,
-    -1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,
-
-    -1251,-1251,-1251, 1571,-1251,-1251,-1251,-1251,-1251,-1251,
-    -1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251,
-    -1251,-1251,-1251,-1251,-1251,-1251,-1251,-1251, 1571,-1251,
-    -1251,-1251,-1251,-1251,-1251
-    },
-
-    {
-       27,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,
-    -1252,-1252,-1252, 1572,-1252,-1252,-1252,-1252,-1252,-1252,
-    -1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,
-    -1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,
-    -1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,
-    -1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,-1252,
-
-    -1252,-1252,-1252,-1252,-1252
-    },
-
-    {
-       27,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,
-    -1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,
-    -1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,
-    -1253,-1253, 1573,-1253,-1253,-1253,-1253,-1253,-1253,-1253,
-    -1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,-1253,
-    -1253,-1253,-1253,-1253,-1253,-1253,-1253, 1573,-1253,-1253,
-    -1253,-1253,-1253,-1253,-1253
-    },
-
-    {
-       27,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,
-    -1254,-1254,-1254,-1254, 1574,-1254,-1254,-1254,-1254,-1254,
-
-    -1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,
-    -1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,
-     1574,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,
-    -1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,-1254,
-    -1254,-1254,-1254,-1254,-1254
-    },
-
-    {
-       27,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255, 1575,
-    -1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,
-    -1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,
-    -1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255, 1576,
-    -1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,
-
-    -1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,-1255,
-    -1255,-1255,-1255,-1255,-1255
-    },
-
-    {
-       27,-1256, 1577, 1577,-1256,-1256,-1256,-1256,-1256,-1256,
-    -1256,-1256, 1578,-1256,-1256,-1256,-1256,-1256,-1256,-1256,
-    -1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,
-    -1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,
-    -1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,
-    -1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,-1256,
-    -1256,-1256,-1256,-1256,-1256
-    },
-
-    {
-       27,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,
-
-    -1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,
-    -1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,
-    -1257,-1257,-1257, 1579,-1257,-1257,-1257,-1257,-1257,-1257,
-    -1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257,
-    -1257,-1257,-1257,-1257,-1257,-1257,-1257,-1257, 1579,-1257,
-    -1257,-1257,-1257,-1257,-1257
-    },
-
-    {
-       27,-1258, 1258, 1258,-1258,-1258,-1258,-1258,-1258,-1258,
-    -1258,-1258, 1259,-1258,-1258,-1258,-1258,-1258,-1258,-1258,
-    -1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,
-    -1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,
-
-    -1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,
-    -1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,-1258,
-    -1258,-1258,-1258,-1258,-1258
-    },
-
-    {
-       27,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,
-    -1259,-1259,-1259,-1259,-1259,-1259, 1580,-1259,-1259,-1259,
-    -1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,
-    -1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,
-    -1259,-1259, 1580,-1259,-1259,-1259,-1259,-1259,-1259,-1259,
-    -1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,-1259,
-    -1259,-1259,-1259,-1259,-1259
-
-    },
-
-    {
-       27,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,
-    -1260,-1260,-1260,-1260, 1581,-1260,-1260,-1260,-1260,-1260,
-    -1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,
-    -1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,
-     1581,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,
-    -1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,-1260,
-    -1260,-1260,-1260,-1260,-1260
-    },
-
-    {
-       27,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,
-    -1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,
-    -1261,-1261,-1261,-1261,-1261,-1261,-1261, 1582,-1261,-1261,
-
-    -1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,
-    -1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,-1261,
-    -1261,-1261, 1582,-1261,-1261,-1261,-1261,-1261,-1261,-1261,
-    -1261,-1261,-1261,-1261,-1261
-    },
-
-    {
-       27,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,
-    -1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,
-    -1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,
-    -1262,-1262,-1262, 1583,-1262,-1262,-1262,-1262,-1262,-1262,
-    -1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262,
-    -1262,-1262,-1262,-1262,-1262,-1262,-1262,-1262, 1583,-1262,
-
-    -1262,-1262,-1262,-1262,-1262
-    },
-
-    {
-       27,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,
-    -1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,
-    -1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,
-    -1263,-1263, 1584,-1263,-1263,-1263,-1263,-1263,-1263,-1263,
-    -1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,-1263,
-    -1263,-1263,-1263,-1263,-1263,-1263,-1263, 1584,-1263,-1263,
-    -1263,-1263,-1263,-1263,-1263
-    },
-
-    {
-       27,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264, 1585,
-    -1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,
-
-    -1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,
-    -1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264, 1586,
-    -1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,
-    -1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,-1264,
-    -1264,-1264,-1264,-1264,-1264
-    },
-
-    {
-       27,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265, 1587,
-    -1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,
-    -1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,
-    -1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265, 1588,
-    -1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,
-
-    -1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,-1265,
-    -1265,-1265,-1265,-1265,-1265
-    },
-
-    {
-       27,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266, 1589,
-    -1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,
-    -1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,
-    -1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266, 1590,
-    -1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,
-    -1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,-1266,
-    -1266,-1266,-1266,-1266,-1266
-    },
-
-    {
-       27,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,
-
-    -1267,-1267,-1267, 1591,-1267,-1267,-1267,-1267,-1267,-1267,
-    -1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,
-    -1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,
-    -1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,
-    -1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,-1267,
-    -1267,-1267,-1267,-1267,-1267
-    },
-
-    {
-       27,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,
-    -1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,
-    -1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,
-    -1268,-1268, 1592,-1268,-1268,-1268,-1268,-1268,-1268,-1268,
-
-    -1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,-1268,
-    -1268,-1268,-1268,-1268,-1268,-1268,-1268, 1592,-1268,-1268,
-    -1268,-1268,-1268,-1268,-1268
-    },
-
-    {
-       27,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,
-     1593,  178,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,
-    -1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,
-    -1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,
-    -1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,
-    -1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,-1269,
-    -1269,-1269,-1269,-1269,-1269
-
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 1594,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366, 1594,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366, 1595,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366, 1595,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-1272, 1596, 1596,-1272,-1272,-1272,-1272,-1272,-1272,
-    -1272,-1272, 1597,-1272,-1272,-1272,-1272,-1272,-1272,-1272,
-    -1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,
-    -1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,
-    -1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,
-    -1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,-1272,
-
-    -1272,-1272,-1272,-1272,-1272
-    },
-
-    {
-       27,-1273, 1273, 1273,-1273,-1273,-1273,-1273,-1273,-1273,
-    -1273,-1273, 1274,-1273,-1273,-1273,-1273,-1273,-1273,-1273,
-    -1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,
-    -1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,
-    -1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,
-    -1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,-1273,
-    -1273,-1273,-1273,-1273,-1273
-    },
-
-    {
-       27,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,
-    -1274,-1274,-1274,-1274,-1274,-1274, 1598,-1274,-1274,-1274,
-
-    -1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,
-    -1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,
-    -1274,-1274, 1598,-1274,-1274,-1274,-1274,-1274,-1274,-1274,
-    -1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,-1274,
-    -1274,-1274,-1274,-1274,-1274
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1599,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1600,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1601,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1602,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1277, 1277, 1277,-1277,-1277,-1277,-1277,-1277,-1277,
-
-    -1277,-1277, 1278,-1277,-1277,-1277,-1277,-1277,-1277,-1277,
-    -1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,
-    -1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,
-    -1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,
-    -1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,-1277,
-    -1277,-1277,-1277,-1277,-1277
-    },
-
-    {
-       27,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,
-    -1278,-1278,-1278,-1278,-1278,-1278, 1603,-1278,-1278,-1278,
-    -1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,
-    -1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,
-
-    -1278,-1278, 1603,-1278,-1278,-1278,-1278,-1278,-1278,-1278,
-    -1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,-1278,
-    -1278,-1278,-1278,-1278,-1278
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1604,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1604,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1605,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184, 1606,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1606,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1282, 1282, 1282,-1282,-1282,-1282,-1282,-1282,-1282,
-    -1282,-1282, 1283,-1282,-1282,-1282,-1282,-1282,-1282,-1282,
-    -1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,
-    -1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,
-    -1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,
-    -1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,-1282,
-
-    -1282,-1282,-1282,-1282,-1282
-    },
-
-    {
-       27,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,
-    -1283,-1283,-1283,-1283,-1283,-1283, 1607,-1283,-1283,-1283,
-    -1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,
-    -1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,
-    -1283,-1283, 1607,-1283,-1283,-1283,-1283,-1283,-1283,-1283,
-    -1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,-1283,
-    -1283,-1283,-1283,-1283,-1283
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1608,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1608,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1609,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1609,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1610,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1610,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184, 1611,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 1611,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1612,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1612,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1613,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1613,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,
-    -1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,
-    -1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290, 1614,
-    -1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,
-    -1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,-1290,
-    -1290,-1290,-1290,-1290, 1614,-1290,-1290,-1290,-1290,-1290,
-    -1290,-1290,-1290,-1290,-1290
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1615,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1616,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1617,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1617,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184, 1618,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1618,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1294, 1619, 1619,-1294,-1294,-1294,-1294,-1294,-1294,
-    -1294,-1294, 1620,-1294,-1294,-1294,-1294,-1294,-1294,-1294,
-
-    -1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,
-    -1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,
-    -1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,
-    -1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,-1294,
-    -1294,-1294,-1294,-1294,-1294
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1621,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184, 1621,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1622,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 1622,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1623,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1624,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1624,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1299, 1299, 1299,-1299,-1299,-1299,-1299,-1299,-1299,
-    -1299,-1299, 1300,-1299,-1299,-1299,-1299,-1299,-1299,-1299,
-    -1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,
-    -1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,
-    -1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,
-    -1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,-1299,
-    -1299,-1299,-1299,-1299,-1299
-
-    },
-
-    {
-       27,-1300,-1300,-1300,-1300,-1300,-1300,-1300,-1300,-1300,
-    -1300,-1300,-1300,-1300,-1300,-1300, 1625,-1300,-1300,-1300,
-    -1300,-1300,-1300,-1300,-1300,-1300,-1300,-1300,-1300, 1626,
-    -1300,-1300,-1300,-1300,-1300,-1300,-1300,-1300,-1300,-1300,
-    -1300,-1300, 1625,-1300,-1300,-1300,-1300,-1300,-1300,-1300,
-    -1300,-1300,-1300,-1300, 1626,-1300,-1300,-1300,-1300,-1300,
-    -1300,-1300,-1300,-1300,-1300
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1627,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1627,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,
-    -1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,
-    -1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302, 1628,-1302,
-    -1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,
-    -1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,-1302,
-    -1302,-1302,-1302, 1628,-1302,-1302,-1302,-1302,-1302,-1302,
-
-    -1302,-1302,-1302,-1302,-1302
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1629,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1629,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1630,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1631,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184, 1632,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1632,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184, 1633,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 1634,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 1633,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1634,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 1635,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1636,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1636,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1637,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1638,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1638,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1639,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1640,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1640,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184, 1641,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1641,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1314, 1642, 1642,-1314,-1314,-1314,-1314,-1314,-1314,
-    -1314,-1314, 1643,-1314,-1314,-1314,-1314,-1314,-1314,-1314,
-
-    -1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,
-    -1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,
-    -1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,
-    -1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,-1314,
-    -1314,-1314,-1314,-1314,-1314
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1644,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184, 1644,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,
-    -1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,
-    -1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,
-    -1316,-1316,-1316, 1645,-1316,-1316,-1316,-1316,-1316,-1316,
-    -1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316,
-    -1316,-1316,-1316,-1316,-1316,-1316,-1316,-1316, 1645,-1316,
-    -1316,-1316,-1316,-1316,-1316
-    },
-
-    {
-       27,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,
-
-    -1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,
-    -1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,
-    -1317,-1317,-1317, 1646,-1317,-1317,-1317,-1317,-1317,-1317,
-    -1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317,
-    -1317,-1317,-1317,-1317,-1317,-1317,-1317,-1317, 1646,-1317,
-    -1317,-1317,-1317,-1317,-1317
-    },
-
-    {
-       27,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,
-    -1318,-1318,-1318, 1647,-1318,-1318,-1318,-1318,-1318,-1318,
-    -1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,
-    -1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,
-
-    -1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,
-    -1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,-1318,
-    -1318,-1318,-1318,-1318,-1318
-    },
-
-    {
-       27,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,
-    -1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,
-    -1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,
-    -1319,-1319,-1319, 1648,-1319,-1319,-1319,-1319,-1319,-1319,
-    -1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319,
-    -1319,-1319,-1319,-1319,-1319,-1319,-1319,-1319, 1648,-1319,
-    -1319,-1319,-1319,-1319,-1319
-
-    },
-
-    {
-       27,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,
-    -1320,-1320,-1320, 1649,-1320,-1320,-1320,-1320,-1320,-1320,
-    -1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,
-    -1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,
-    -1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,
-    -1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,-1320,
-    -1320,-1320,-1320,-1320,-1320
-    },
-
-    {
-       27,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,
-    -1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,
-    -1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,
-
-    -1321,-1321,-1321, 1650,-1321,-1321,-1321,-1321,-1321,-1321,
-    -1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321,
-    -1321,-1321,-1321,-1321,-1321,-1321,-1321,-1321, 1650,-1321,
-    -1321,-1321,-1321,-1321,-1321
-    },
-
-    {
-       27,-1322, 1322, 1322,-1322,-1322,-1322,-1322,-1322,-1322,
-    -1322,-1322, 1323,-1322,-1322,-1322,-1322,-1322,-1322,-1322,
-    -1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,
-    -1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,
-    -1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,
-    -1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,-1322,
-
-    -1322,-1322,-1322,-1322,-1322
-    },
-
-    {
-       27,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,
-    -1323,-1323,-1323,-1323,-1323,-1323, 1651,-1323,-1323,-1323,
-    -1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,
-    -1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,
-    -1323,-1323, 1651,-1323,-1323,-1323,-1323,-1323,-1323,-1323,
-    -1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,-1323,
-    -1323,-1323,-1323,-1323,-1323
-    },
-
-    {
-       27,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324, 1652,
-    -1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,
-
-    -1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,
-    -1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324, 1653,
-    -1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,
-    -1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,-1324,
-    -1324,-1324,-1324,-1324,-1324
-    },
-
-    {
-       27,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325, 1654,
-    -1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,
-    -1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,
-    -1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325, 1655,
-    -1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,
-
-    -1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,-1325,
-    -1325,-1325,-1325,-1325,-1325
-    },
-
-    {
-       27,-1326, 1326, 1326,-1326,-1326,-1326,-1326,-1326,-1326,
-    -1326,-1326, 1327,-1326,-1326,-1326,-1326,-1326,-1326,-1326,
-    -1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,
-    -1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,
-    -1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,
-    -1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,-1326,
-    -1326,-1326,-1326,-1326,-1326
-    },
-
-    {
-       27,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,
-
-    -1327,-1327,-1327,-1327,-1327,-1327, 1656,-1327,-1327,-1327,
-    -1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,
-    -1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,
-    -1327,-1327, 1656,-1327,-1327,-1327,-1327,-1327,-1327,-1327,
-    -1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,-1327,
-    -1327,-1327,-1327,-1327,-1327
-    },
-
-    {
-       27,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,
-    -1328,-1328,-1328,-1328, 1657,-1328,-1328,-1328,-1328,-1328,
-    -1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,
-    -1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,
-
-     1657,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,
-    -1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,-1328,
-    -1328,-1328,-1328,-1328,-1328
-    },
-
-    {
-       27,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,
-    -1329,-1329,-1329, 1658,-1329,-1329,-1329,-1329,-1329,-1329,
-    -1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,
-    -1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,
-    -1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,
-    -1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,-1329,
-    -1329,-1329,-1329,-1329,-1329
-
-    },
-
-    {
-       27,-1330, 1330, 1330,-1330,-1330,-1330,-1330,-1330,-1330,
-    -1330,-1330, 1331,-1330,-1330,-1330,-1330,-1330,-1330,-1330,
-    -1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,
-    -1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,
-    -1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,
-    -1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,-1330,
-    -1330,-1330,-1330,-1330,-1330
-    },
-
-    {
-       27,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,
-    -1331,-1331,-1331,-1331,-1331,-1331, 1659,-1331,-1331,-1331,
-    -1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,
-
-    -1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,
-    -1331,-1331, 1659,-1331,-1331,-1331,-1331,-1331,-1331,-1331,
-    -1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,-1331,
-    -1331,-1331,-1331,-1331,-1331
-    },
-
-    {
-       27,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,
-    -1332,-1332,-1332,-1332, 1660,-1332,-1332,-1332,-1332,-1332,
-    -1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,
-    -1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,
-     1660,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,
-    -1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,-1332,
-
-    -1332,-1332,-1332,-1332,-1332
-    },
-
-    {
-       27,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,
-    -1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333, 1661,-1333,
-    -1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,
-    -1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,
-    -1333,-1333,-1333,-1333, 1661,-1333,-1333,-1333,-1333,-1333,
-    -1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,-1333,
-    -1333,-1333,-1333,-1333,-1333
-    },
-
-    {
-       27,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,
-    -1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,
-
-    -1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,
-    -1334,-1334,-1334,-1334,-1334,-1334, 1662,-1334,-1334,-1334,
-    -1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,
-    -1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,-1334,
-    -1334, 1662,-1334,-1334,-1334
-    },
-
-    {
-       27,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,
-    -1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,
-    -1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,
-    -1335,-1335,-1335, 1663,-1335,-1335,-1335,-1335,-1335,-1335,
-    -1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335,
-
-    -1335,-1335,-1335,-1335,-1335,-1335,-1335,-1335, 1663,-1335,
-    -1335,-1335,-1335,-1335,-1335
-    },
-
-    {
-       27,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,
-    -1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,
-    -1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336, 1664,
-    -1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,
-    -1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,-1336,
-    -1336,-1336,-1336,-1336, 1664,-1336,-1336,-1336,-1336,-1336,
-    -1336,-1336,-1336,-1336,-1336
-    },
-
-    {
-       27,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,
-
-    -1337,-1337,-1337,-1337, 1665,-1337,-1337,-1337,-1337,-1337,
-    -1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,
-    -1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,
-     1665,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,
-    -1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,-1337,
-    -1337,-1337,-1337,-1337,-1337
-    },
-
-    {
-       27,-1338, 1666, 1666,-1338,-1338,-1338,-1338,-1338,-1338,
-    -1338,-1338, 1667,-1338,-1338,-1338,-1338,-1338,-1338,-1338,
-    -1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,
-    -1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,
-
-    -1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,
-    -1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,-1338,
-    -1338,-1338,-1338,-1338,-1338
-    },
-
-    {
-       27,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,
-    -1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,
-    -1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,
-    -1339,-1339,-1339, 1668,-1339,-1339,-1339,-1339,-1339,-1339,
-    -1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339,
-    -1339,-1339,-1339,-1339,-1339,-1339,-1339,-1339, 1668,-1339,
-    -1339,-1339,-1339,-1339,-1339
-
-    },
-
-    {
-       27,-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, 1669,
-    -1340,-1340,-1340,-1340,-1340,-1340,-1340,-1340,-1340,-1340,
-    -1340,-1340,-1340,-1340,-1340,-1340,-1340,-1340,-1340,-1340,
-    -1340,-1340,-1340,-1340, 1669,-1340,-1340,-1340,-1340,-1340,
-    -1340,-1340,-1340,-1340,-1340
-    },
-
-    {
-       27,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,
-    -1341,-1341,-1341, 1670,-1341,-1341,-1341,-1341,-1341,-1341,
-    -1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,
-
-    -1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,
-    -1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,
-    -1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,-1341,
-    -1341,-1341,-1341,-1341,-1341
-    },
-
-    {
-       27,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,
-    -1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,
-    -1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,
-    -1342,-1342, 1671,-1342,-1342,-1342,-1342,-1342,-1342,-1342,
-    -1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,-1342,
-    -1342,-1342,-1342,-1342,-1342,-1342,-1342, 1671,-1342,-1342,
-
-    -1342,-1342,-1342,-1342,-1342
-    },
-
-    {
-       27,-1343, 1343, 1343,-1343,-1343,-1343,-1343,-1343,-1343,
-    -1343,-1343, 1344,-1343,-1343,-1343,-1343,-1343,-1343,-1343,
-    -1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,
-    -1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,
-    -1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,
-    -1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,-1343,
-    -1343,-1343,-1343,-1343,-1343
-    },
-
-    {
-       27,-1344,-1344,-1344,-1344,-1344,-1344,-1344,-1344,-1344,
-    -1344,-1344,-1344,-1344,-1344,-1344, 1672,-1344,-1344,-1344,
-
-    -1344,-1344,-1344,-1344,-1344,-1344,-1344,-1344,-1344, 1673,
-    -1344,-1344,-1344,-1344,-1344,-1344,-1344,-1344,-1344,-1344,
-    -1344,-1344, 1672,-1344,-1344,-1344,-1344,-1344,-1344,-1344,
-    -1344,-1344,-1344,-1344, 1673,-1344,-1344,-1344,-1344,-1344,
-    -1344,-1344,-1344,-1344,-1344
-    },
-
-    {
-       27,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,
-    -1345,-1345,-1345,-1345, 1674,-1345,-1345,-1345,-1345,-1345,
-    -1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,
-    -1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,
-     1674,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,
-
-    -1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,-1345,
-    -1345,-1345,-1345,-1345,-1345
-    },
-
-    {
-       27,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,
-    -1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,
-    -1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346, 1675,-1346,
-    -1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,
-    -1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,-1346,
-    -1346,-1346,-1346, 1675,-1346,-1346,-1346,-1346,-1346,-1346,
-    -1346,-1346,-1346,-1346,-1346
-    },
-
-    {
-       27,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,
-
-    -1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,
-    -1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,
-    -1347, 1676,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,
-    -1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,-1347,
-    -1347,-1347,-1347,-1347,-1347,-1347, 1676,-1347,-1347,-1347,
-    -1347,-1347,-1347,-1347,-1347
-    },
-
-    {
-       27,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348, 1677,
-    -1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,
-    -1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,
-    -1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348, 1678,
-
-    -1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,
-    -1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,-1348,
-    -1348,-1348,-1348,-1348,-1348
-    },
-
-    {
-       27,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,
-    -1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,
-    -1349,-1349, 1679,-1349,-1349,-1349,-1349,-1349,-1349,-1349,
-    -1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,
-    -1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349, 1679,-1349,
-    -1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,-1349,
-    -1349,-1349,-1349,-1349,-1349
-
-    },
-
-    {
-       27,-1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350,
-    -1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350, 1680,-1350,
-    -1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350,
-    -1350,-1350,-1350,-1350, 1681,-1350,-1350,-1350,-1350,-1350,
-    -1350,-1350,-1350,-1350, 1680,-1350,-1350,-1350,-1350,-1350,
-    -1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350,-1350, 1681,
-    -1350,-1350,-1350,-1350,-1350
-    },
-
-    {
-       27,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,
-    -1351,-1351,-1351, 1682,-1351,-1351,-1351,-1351,-1351,-1351,
-    -1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,
-
-    -1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,
-    -1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,
-    -1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,-1351,
-    -1351,-1351,-1351,-1351,-1351
-    },
-
-    {
-       27,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,
-    -1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,
-    -1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,
-    -1352,-1352, 1683,-1352,-1352,-1352,-1352,-1352,-1352,-1352,
-    -1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,-1352,
-    -1352,-1352,-1352,-1352,-1352,-1352,-1352, 1683,-1352,-1352,
-
-    -1352,-1352,-1352,-1352,-1352
-    },
-
-    {
-       27,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,
-    -1353,-1353,-1353, 1684,-1353,-1353,-1353,-1353,-1353,-1353,
-    -1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,
-    -1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,
-    -1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,
-    -1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,-1353,
-    -1353,-1353,-1353,-1353,-1353
-    },
-
-    {
-       27,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,
-    -1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,
-
-    -1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,
-    -1354,-1354, 1685,-1354,-1354,-1354,-1354,-1354,-1354,-1354,
-    -1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,-1354,
-    -1354,-1354,-1354,-1354,-1354,-1354,-1354, 1685,-1354,-1354,
-    -1354,-1354,-1354,-1354,-1354
-    },
-
-    {
-       27,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,
-    -1355,-1355,-1355, 1686,-1355,-1355,-1355,-1355,-1355,-1355,
-    -1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,
-    -1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,
-    -1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,
-
-    -1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,-1355,
-    -1355,-1355,-1355,-1355,-1355
-    },
-
-    {
-       27,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,
-    -1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,
-    -1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,
-    -1356,-1356, 1687,-1356,-1356,-1356,-1356,-1356,-1356,-1356,
-    -1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,-1356,
-    -1356,-1356,-1356,-1356,-1356,-1356,-1356, 1687,-1356,-1356,
-    -1356,-1356,-1356,-1356,-1356
-    },
-
-    {
-       27,-1357, 1688, 1688,-1357,-1357,-1357,-1357,-1357,-1357,
-
-    -1357,-1357, 1689,-1357,-1357,-1357,-1357,-1357,-1357,-1357,
-    -1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,
-    -1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,
-    -1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,
-    -1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,-1357,
-    -1357,-1357,-1357,-1357,-1357
-    },
-
-    {
-       27,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,
-    -1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,
-    -1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,
-    -1358,-1358,-1358, 1690,-1358,-1358,-1358,-1358,-1358,-1358,
-
-    -1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358,
-    -1358,-1358,-1358,-1358,-1358,-1358,-1358,-1358, 1690,-1358,
-    -1358,-1358,-1358,-1358,-1358
-    },
-
-    {
-       27,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,
-    -1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,
-    -1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,
-    -1359,-1359,-1359, 1691,-1359,-1359,-1359,-1359,-1359,-1359,
-    -1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359,
-    -1359,-1359,-1359,-1359,-1359,-1359,-1359,-1359, 1691,-1359,
-    -1359,-1359,-1359,-1359,-1359
-
-    },
-
-    {
-       27,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,
-    -1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,
-    -1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,
-    -1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,
-    -1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,
-    -1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,-1360,
-    -1360,-1360,-1360,-1360,-1360
-    },
-
-    {
-       27,-1361, 1361, 1361,-1361,-1361,-1361,-1361,-1361,-1361,
-    -1361,-1361, 1362,-1361,-1361,-1361,-1361,-1361,-1361,-1361,
-    -1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,
-
-    -1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,
-    -1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,
-    -1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,-1361,
-    -1361,-1361,-1361,-1361,-1361
-    },
-
-    {
-       27,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,
-    -1362,-1362,-1362,-1362,-1362,-1362, 1692,-1362,-1362,-1362,
-    -1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,
-    -1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,
-    -1362,-1362, 1692,-1362,-1362,-1362,-1362,-1362,-1362,-1362,
-    -1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,-1362,
-
-    -1362,-1362,-1362,-1362,-1362
-    },
-
-    {
-       27,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363, 1693,
-    -1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,
-    -1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,
-    -1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363, 1694,
-    -1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,
-    -1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,-1363,
-    -1363,-1363,-1363,-1363,-1363
-    },
-
-    {
-       27,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364, 1695,
-    -1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,
-
-    -1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,
-    -1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364, 1696,
-    -1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,
-    -1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,-1364,
-    -1364,-1364,-1364,-1364,-1364
-    },
-
-    {
-       27,-1365, 1365, 1365,-1365,-1365,-1365,-1365,-1365,-1365,
-    -1365,-1365, 1366,-1365,-1365,-1365,-1365,-1365,-1365,-1365,
-    -1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,
-    -1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,
-    -1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,
-
-    -1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,-1365,
-    -1365,-1365,-1365,-1365,-1365
-    },
-
-    {
-       27,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,
-    -1366,-1366,-1366,-1366,-1366,-1366, 1697,-1366,-1366,-1366,
-    -1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,
-    -1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,
-    -1366,-1366, 1697,-1366,-1366,-1366,-1366,-1366,-1366,-1366,
-    -1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,-1366,
-    -1366,-1366,-1366,-1366,-1366
-    },
-
-    {
-       27,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,
-
-    -1367,-1367,-1367,-1367, 1698,-1367,-1367,-1367,-1367,-1367,
-    -1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,
-    -1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,
-     1698,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,
-    -1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,-1367,
-    -1367,-1367,-1367,-1367,-1367
-    },
-
-    {
-       27,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,
-    -1368,-1368,-1368, 1699,-1368,-1368,-1368,-1368,-1368,-1368,
-    -1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,
-    -1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,
-
-    -1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,
-    -1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,-1368,
-    -1368,-1368,-1368,-1368,-1368
-    },
-
-    {
-       27,-1369, 1369, 1369,-1369,-1369,-1369,-1369,-1369,-1369,
-    -1369,-1369, 1370,-1369,-1369,-1369,-1369,-1369,-1369,-1369,
-    -1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,
-    -1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,
-    -1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,
-    -1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,-1369,
-    -1369,-1369,-1369,-1369,-1369
-
-    },
-
-    {
-       27,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,
-    -1370,-1370,-1370,-1370,-1370,-1370, 1700,-1370,-1370,-1370,
-    -1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,
-    -1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,
-    -1370,-1370, 1700,-1370,-1370,-1370,-1370,-1370,-1370,-1370,
-    -1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,-1370,
-    -1370,-1370,-1370,-1370,-1370
-    },
-
-    {
-       27,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,
-    -1371,-1371,-1371,-1371, 1701,-1371,-1371,-1371,-1371,-1371,
-    -1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,
-
-    -1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,
-     1701,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,
-    -1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,-1371,
-    -1371,-1371,-1371,-1371,-1371
-    },
-
-    {
-       27,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,
-    -1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372, 1702,-1372,
-    -1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,
-    -1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,
-    -1372,-1372,-1372,-1372, 1702,-1372,-1372,-1372,-1372,-1372,
-    -1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,-1372,
-
-    -1372,-1372,-1372,-1372,-1372
-    },
-
-    {
-       27,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,
-    -1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,
-    -1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,
-    -1373,-1373,-1373,-1373,-1373,-1373, 1703,-1373,-1373,-1373,
-    -1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,
-    -1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,-1373,
-    -1373, 1703,-1373,-1373,-1373
-    },
-
-    {
-       27,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,
-    -1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,
-
-    -1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,
-    -1374,-1374,-1374, 1704,-1374,-1374,-1374,-1374,-1374,-1374,
-    -1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374,
-    -1374,-1374,-1374,-1374,-1374,-1374,-1374,-1374, 1704,-1374,
-    -1374,-1374,-1374,-1374,-1374
-    },
-
-    {
-       27,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,
-    -1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,
-    -1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375, 1705,
-    -1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,
-    -1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,-1375,
-
-    -1375,-1375,-1375,-1375, 1705,-1375,-1375,-1375,-1375,-1375,
-    -1375,-1375,-1375,-1375,-1375
-    },
-
-    {
-       27,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,
-    -1376,-1376,-1376,-1376, 1706,-1376,-1376,-1376,-1376,-1376,
-    -1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,
-    -1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,
-     1706,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,
-    -1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,-1376,
-    -1376,-1376,-1376,-1376,-1376
-    },
-
-    {
-       27,-1377, 1707, 1707,-1377,-1377,-1377,-1377,-1377,-1377,
-
-    -1377,-1377, 1708,-1377,-1377,-1377,-1377,-1377,-1377,-1377,
-    -1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,
-    -1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,
-    -1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,
-    -1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,-1377,
-    -1377,-1377,-1377,-1377,-1377
-    },
-
-    {
-       27,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,
-    -1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,
-    -1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,
-    -1378,-1378,-1378, 1709,-1378,-1378,-1378,-1378,-1378,-1378,
-
-    -1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378,
-    -1378,-1378,-1378,-1378,-1378,-1378,-1378,-1378, 1709,-1378,
-    -1378,-1378,-1378,-1378,-1378
-    },
-
-    {
-       27,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,
-    -1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,
-    -1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379, 1710,
-    -1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,
-    -1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,-1379,
-    -1379,-1379,-1379,-1379, 1710,-1379,-1379,-1379,-1379,-1379,
-    -1379,-1379,-1379,-1379,-1379
-
-    },
-
-    {
-       27,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,
-    -1380,-1380,-1380, 1711,-1380,-1380,-1380,-1380,-1380,-1380,
-    -1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,
-    -1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,
-    -1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,
-    -1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,-1380,
-    -1380,-1380,-1380,-1380,-1380
-    },
-
-    {
-       27,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,
-    -1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,
-    -1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,
-
-    -1381,-1381, 1712,-1381,-1381,-1381,-1381,-1381,-1381,-1381,
-    -1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,-1381,
-    -1381,-1381,-1381,-1381,-1381,-1381,-1381, 1712,-1381,-1381,
-    -1381,-1381,-1381,-1381,-1381
-    },
-
-    {
-       27,-1382, 1382, 1382,-1382,-1382,-1382,-1382,-1382,-1382,
-    -1382,-1382, 1383,-1382,-1382,-1382,-1382,-1382,-1382,-1382,
-    -1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,
-    -1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,
-    -1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,
-    -1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,-1382,
-
-    -1382,-1382,-1382,-1382,-1382
-    },
-
-    {
-       27,-1383,-1383,-1383,-1383,-1383,-1383,-1383,-1383,-1383,
-    -1383,-1383,-1383,-1383,-1383,-1383, 1713,-1383,-1383,-1383,
-    -1383,-1383,-1383,-1383,-1383,-1383,-1383,-1383,-1383, 1714,
-    -1383,-1383,-1383,-1383,-1383,-1383,-1383,-1383,-1383,-1383,
-    -1383,-1383, 1713,-1383,-1383,-1383,-1383,-1383,-1383,-1383,
-    -1383,-1383,-1383,-1383, 1714,-1383,-1383,-1383,-1383,-1383,
-    -1383,-1383,-1383,-1383,-1383
-    },
-
-    {
-       27,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,
-    -1384,-1384,-1384,-1384, 1715,-1384,-1384,-1384,-1384,-1384,
-
-    -1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,
-    -1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,
-     1715,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,
-    -1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,-1384,
-    -1384,-1384,-1384,-1384,-1384
-    },
-
-    {
-       27,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,
-    -1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,
-    -1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385, 1716,-1385,
-    -1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,
-    -1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,-1385,
-
-    -1385,-1385,-1385, 1716,-1385,-1385,-1385,-1385,-1385,-1385,
-    -1385,-1385,-1385,-1385,-1385
-    },
-
-    {
-       27,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,
-    -1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,
-    -1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,
-    -1386, 1717,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,
-    -1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,-1386,
-    -1386,-1386,-1386,-1386,-1386,-1386, 1717,-1386,-1386,-1386,
-    -1386,-1386,-1386,-1386,-1386
-    },
-
-    {
-       27,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387, 1718,
-
-    -1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,
-    -1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,
-    -1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387, 1719,
-    -1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,
-    -1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,-1387,
-    -1387,-1387,-1387,-1387,-1387
-    },
-
-    {
-       27,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,
-    -1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,
-    -1388,-1388, 1720,-1388,-1388,-1388,-1388,-1388,-1388,-1388,
-    -1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,
-
-    -1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388, 1720,-1388,
-    -1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,-1388,
-    -1388,-1388,-1388,-1388,-1388
-    },
-
-    {
-       27,-1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389,
-    -1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389, 1721,-1389,
-    -1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389,
-    -1389,-1389,-1389,-1389, 1722,-1389,-1389,-1389,-1389,-1389,
-    -1389,-1389,-1389,-1389, 1721,-1389,-1389,-1389,-1389,-1389,
-    -1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389,-1389, 1722,
-    -1389,-1389,-1389,-1389,-1389
-
-    },
-
-    {
-       27,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,
-    -1390,-1390,-1390, 1723,-1390,-1390,-1390,-1390,-1390,-1390,
-    -1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,
-    -1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,
-    -1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,
-    -1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,-1390,
-    -1390,-1390,-1390,-1390,-1390
-    },
-
-    {
-       27,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,
-    -1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,
-    -1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,
-
-    -1391,-1391, 1724,-1391,-1391,-1391,-1391,-1391,-1391,-1391,
-    -1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,-1391,
-    -1391,-1391,-1391,-1391,-1391,-1391,-1391, 1724,-1391,-1391,
-    -1391,-1391,-1391,-1391,-1391
-    },
-
-    {
-       27,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,
-    -1392,-1392,-1392, 1725,-1392,-1392,-1392,-1392,-1392,-1392,
-    -1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,
-    -1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,
-    -1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,
-    -1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,-1392,
-
-    -1392,-1392,-1392,-1392,-1392
-    },
-
-    {
-       27,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,
-    -1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,
-    -1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,
-    -1393,-1393, 1726,-1393,-1393,-1393,-1393,-1393,-1393,-1393,
-    -1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,-1393,
-    -1393,-1393,-1393,-1393,-1393,-1393,-1393, 1726,-1393,-1393,
-    -1393,-1393,-1393,-1393,-1393
-    },
-
-    {
-       27,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,
-    -1394,-1394,-1394, 1727,-1394,-1394,-1394,-1394,-1394,-1394,
-
-    -1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,
-    -1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,
-    -1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,
-    -1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,-1394,
-    -1394,-1394,-1394,-1394,-1394
-    },
-
-    {
-       27,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,
-    -1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,
-    -1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,
-    -1395,-1395, 1728,-1395,-1395,-1395,-1395,-1395,-1395,-1395,
-    -1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,-1395,
-
-    -1395,-1395,-1395,-1395,-1395,-1395,-1395, 1728,-1395,-1395,
-    -1395,-1395,-1395,-1395,-1395
-    },
-
-    {
-       27,-1396, 1729, 1729,-1396,-1396,-1396,-1396,-1396,-1396,
-    -1396,-1396, 1730,-1396,-1396,-1396,-1396,-1396,-1396,-1396,
-    -1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,
-    -1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,
-    -1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,
-    -1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,-1396,
-    -1396,-1396,-1396,-1396,-1396
-    },
-
-    {
-       27,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,
-
-    -1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,
-    -1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,
-    -1397,-1397,-1397, 1731,-1397,-1397,-1397,-1397,-1397,-1397,
-    -1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397,
-    -1397,-1397,-1397,-1397,-1397,-1397,-1397,-1397, 1731,-1397,
-    -1397,-1397,-1397,-1397,-1397
-    },
-
-    {
-       27,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,
-    -1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,
-    -1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,
-    -1398,-1398,-1398, 1732,-1398,-1398,-1398,-1398,-1398,-1398,
-
-    -1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398,
-    -1398,-1398,-1398,-1398,-1398,-1398,-1398,-1398, 1732,-1398,
-    -1398,-1398,-1398,-1398,-1398
-    },
-
-    {
-       27,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,
-    -1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,
-    -1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399, 1733,-1399,
-    -1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,
-    -1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,-1399,
-    -1399,-1399,-1399, 1733,-1399,-1399,-1399,-1399,-1399,-1399,
-    -1399,-1399,-1399,-1399,-1399
-
-    },
-
-    {
-       27,-1400, 1400, 1400,-1400,-1400,-1400,-1400,-1400,-1400,
-    -1400,-1400, 1401,-1400,-1400,-1400,-1400,-1400,-1400,-1400,
-    -1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,
-    -1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,
-    -1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,
-    -1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,-1400,
-    -1400,-1400,-1400,-1400,-1400
-    },
-
-    {
-       27,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,
-    -1401,-1401,-1401,-1401,-1401,-1401, 1734,-1401,-1401,-1401,
-    -1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,
-
-    -1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,
-    -1401,-1401, 1734,-1401,-1401,-1401,-1401,-1401,-1401,-1401,
-    -1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,-1401,
-    -1401,-1401,-1401,-1401,-1401
-    },
-
-    {
-       27,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402, 1735,
-    -1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,
-    -1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,
-    -1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402, 1736,
-    -1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,
-    -1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,-1402,
-
-    -1402,-1402,-1402,-1402,-1402
-    },
-
-    {
-       27,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403, 1737,
-    -1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,
-    -1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,
-    -1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403, 1738,
-    -1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,
-    -1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,-1403,
-    -1403,-1403,-1403,-1403,-1403
-    },
-
-    {
-       27,-1404, 1404, 1404,-1404,-1404,-1404,-1404,-1404,-1404,
-    -1404,-1404, 1405,-1404,-1404,-1404,-1404,-1404,-1404,-1404,
-
-    -1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,
-    -1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,
-    -1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,
-    -1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,-1404,
-    -1404,-1404,-1404,-1404,-1404
-    },
-
-    {
-       27,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,
-    -1405,-1405,-1405,-1405,-1405,-1405, 1739,-1405,-1405,-1405,
-    -1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,
-    -1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,
-    -1405,-1405, 1739,-1405,-1405,-1405,-1405,-1405,-1405,-1405,
-
-    -1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,-1405,
-    -1405,-1405,-1405,-1405,-1405
-    },
-
-    {
-       27,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,
-    -1406,-1406,-1406,-1406, 1740,-1406,-1406,-1406,-1406,-1406,
-    -1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,
-    -1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,
-     1740,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,
-    -1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,-1406,
-    -1406,-1406,-1406,-1406,-1406
-    },
-
-    {
-       27,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,
-
-    -1407,-1407,-1407, 1741,-1407,-1407,-1407,-1407,-1407,-1407,
-    -1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,
-    -1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,
-    -1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,
-    -1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,-1407,
-    -1407,-1407,-1407,-1407,-1407
-    },
-
-    {
-       27,-1408, 1408, 1408,-1408,-1408,-1408,-1408,-1408,-1408,
-    -1408,-1408, 1409,-1408,-1408,-1408,-1408,-1408,-1408,-1408,
-    -1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,
-    -1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,
-
-    -1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,
-    -1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,-1408,
-    -1408,-1408,-1408,-1408,-1408
-    },
-
-    {
-       27,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,
-    -1409,-1409,-1409,-1409,-1409,-1409, 1742,-1409,-1409,-1409,
-    -1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,
-    -1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,
-    -1409,-1409, 1742,-1409,-1409,-1409,-1409,-1409,-1409,-1409,
-    -1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,-1409,
-    -1409,-1409,-1409,-1409,-1409
-
-    },
-
-    {
-       27,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,
-    -1410,-1410,-1410,-1410, 1743,-1410,-1410,-1410,-1410,-1410,
-    -1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,
-    -1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,
-     1743,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,
-    -1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,-1410,
-    -1410,-1410,-1410,-1410,-1410
-    },
-
-    {
-       27,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,
-    -1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411, 1744,-1411,
-    -1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,
-
-    -1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,
-    -1411,-1411,-1411,-1411, 1744,-1411,-1411,-1411,-1411,-1411,
-    -1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,-1411,
-    -1411,-1411,-1411,-1411,-1411
-    },
-
-    {
-       27,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,
-    -1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,
-    -1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,
-    -1412,-1412,-1412,-1412,-1412,-1412, 1745,-1412,-1412,-1412,
-    -1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,
-    -1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,-1412,
-
-    -1412, 1745,-1412,-1412,-1412
-    },
-
-    {
-       27,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,
-    -1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,
-    -1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,
-    -1413,-1413,-1413, 1746,-1413,-1413,-1413,-1413,-1413,-1413,
-    -1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413,
-    -1413,-1413,-1413,-1413,-1413,-1413,-1413,-1413, 1746,-1413,
-    -1413,-1413,-1413,-1413,-1413
-    },
-
-    {
-       27,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,
-    -1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,
-
-    -1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414, 1747,
-    -1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,
-    -1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,-1414,
-    -1414,-1414,-1414,-1414, 1747,-1414,-1414,-1414,-1414,-1414,
-    -1414,-1414,-1414,-1414,-1414
-    },
-
-    {
-       27,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,
-    -1415,-1415,-1415,-1415, 1748,-1415,-1415,-1415,-1415,-1415,
-    -1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,
-    -1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,
-     1748,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,
-
-    -1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,-1415,
-    -1415,-1415,-1415,-1415,-1415
-    },
-
-    {
-       27,-1416, 1749, 1749,-1416,-1416,-1416,-1416,-1416,-1416,
-    -1416,-1416, 1750,-1416,-1416,-1416,-1416,-1416,-1416,-1416,
-    -1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,
-    -1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,
-    -1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,
-    -1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,-1416,
-    -1416,-1416,-1416,-1416,-1416
-    },
-
-    {
-       27,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,
-
-    -1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,
-    -1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,
-    -1417,-1417,-1417, 1751,-1417,-1417,-1417,-1417,-1417,-1417,
-    -1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417,
-    -1417,-1417,-1417,-1417,-1417,-1417,-1417,-1417, 1751,-1417,
-    -1417,-1417,-1417,-1417,-1417
-    },
-
-    {
-       27,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,
-    -1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,
-    -1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418, 1752,
-    -1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,
-
-    -1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,-1418,
-    -1418,-1418,-1418,-1418, 1752,-1418,-1418,-1418,-1418,-1418,
-    -1418,-1418,-1418,-1418,-1418
-    },
-
-    {
-       27,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,
-    -1419,-1419,-1419, 1753,-1419,-1419,-1419,-1419,-1419,-1419,
-    -1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,
-    -1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,
-    -1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,
-    -1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,-1419,
-    -1419,-1419,-1419,-1419,-1419
-
-    },
-
-    {
-       27,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,
-    -1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,
-    -1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,
-    -1420,-1420, 1754,-1420,-1420,-1420,-1420,-1420,-1420,-1420,
-    -1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,-1420,
-    -1420,-1420,-1420,-1420,-1420,-1420,-1420, 1754,-1420,-1420,
-    -1420,-1420,-1420,-1420,-1420
-    },
-
-    {
-       27,-1421, 1421, 1421,-1421,-1421,-1421,-1421,-1421,-1421,
-    -1421,-1421, 1422,-1421,-1421,-1421,-1421,-1421,-1421,-1421,
-    -1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,
-
-    -1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,
-    -1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,
-    -1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,-1421,
-    -1421,-1421,-1421,-1421,-1421
-    },
-
-    {
-       27,-1422,-1422,-1422,-1422,-1422,-1422,-1422,-1422,-1422,
-    -1422,-1422,-1422,-1422,-1422,-1422, 1755,-1422,-1422,-1422,
-    -1422,-1422,-1422,-1422,-1422,-1422,-1422,-1422,-1422, 1756,
-    -1422,-1422,-1422,-1422,-1422,-1422,-1422,-1422,-1422,-1422,
-    -1422,-1422, 1755,-1422,-1422,-1422,-1422,-1422,-1422,-1422,
-    -1422,-1422,-1422,-1422, 1756,-1422,-1422,-1422,-1422,-1422,
-
-    -1422,-1422,-1422,-1422,-1422
-    },
-
-    {
-       27,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,
-    -1423,-1423,-1423,-1423, 1757,-1423,-1423,-1423,-1423,-1423,
-    -1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,
-    -1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,
-     1757,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,
-    -1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,-1423,
-    -1423,-1423,-1423,-1423,-1423
-    },
-
-    {
-       27,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,
-    -1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,
-
-    -1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424, 1758,-1424,
-    -1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,
-    -1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,-1424,
-    -1424,-1424,-1424, 1758,-1424,-1424,-1424,-1424,-1424,-1424,
-    -1424,-1424,-1424,-1424,-1424
-    },
-
-    {
-       27,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,
-    -1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,
-    -1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,
-    -1425, 1759,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,
-    -1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,-1425,
-
-    -1425,-1425,-1425,-1425,-1425,-1425, 1759,-1425,-1425,-1425,
-    -1425,-1425,-1425,-1425,-1425
-    },
-
-    {
-       27,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426, 1760,
-    -1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,
-    -1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,
-    -1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426, 1761,
-    -1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,
-    -1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,-1426,
-    -1426,-1426,-1426,-1426,-1426
-    },
-
-    {
-       27,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,
-
-    -1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,
-    -1427,-1427, 1762,-1427,-1427,-1427,-1427,-1427,-1427,-1427,
-    -1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,
-    -1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427, 1762,-1427,
-    -1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,-1427,
-    -1427,-1427,-1427,-1427,-1427
-    },
-
-    {
-       27,-1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428,
-    -1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428, 1763,-1428,
-    -1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428,
-    -1428,-1428,-1428,-1428, 1764,-1428,-1428,-1428,-1428,-1428,
-
-    -1428,-1428,-1428,-1428, 1763,-1428,-1428,-1428,-1428,-1428,
-    -1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428,-1428, 1764,
-    -1428,-1428,-1428,-1428,-1428
-    },
-
-    {
-       27,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,
-    -1429,-1429,-1429, 1765,-1429,-1429,-1429,-1429,-1429,-1429,
-    -1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,
-    -1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,
-    -1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,
-    -1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,-1429,
-    -1429,-1429,-1429,-1429,-1429
-
-    },
-
-    {
-       27,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,
-    -1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,
-    -1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,
-    -1430,-1430, 1766,-1430,-1430,-1430,-1430,-1430,-1430,-1430,
-    -1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,-1430,
-    -1430,-1430,-1430,-1430,-1430,-1430,-1430, 1766,-1430,-1430,
-    -1430,-1430,-1430,-1430,-1430
-    },
-
-    {
-       27,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,
-    -1431,-1431,-1431, 1767,-1431,-1431,-1431,-1431,-1431,-1431,
-    -1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,
-
-    -1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,
-    -1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,
-    -1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,-1431,
-    -1431,-1431,-1431,-1431,-1431
-    },
-
-    {
-       27,-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, 1768,-1432,-1432,-1432,-1432,-1432,-1432,-1432,
-    -1432,-1432,-1432,-1432,-1432,-1432,-1432,-1432,-1432,-1432,
-    -1432,-1432,-1432,-1432,-1432,-1432,-1432, 1768,-1432,-1432,
-
-    -1432,-1432,-1432,-1432,-1432
-    },
-
-    {
-       27,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,
-    -1433,-1433,-1433, 1769,-1433,-1433,-1433,-1433,-1433,-1433,
-    -1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,
-    -1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,
-    -1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,
-    -1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,-1433,
-    -1433,-1433,-1433,-1433,-1433
-    },
-
-    {
-       27,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,
-    -1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,
-
-    -1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,
-    -1434,-1434, 1770,-1434,-1434,-1434,-1434,-1434,-1434,-1434,
-    -1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,-1434,
-    -1434,-1434,-1434,-1434,-1434,-1434,-1434, 1770,-1434,-1434,
-    -1434,-1434,-1434,-1434,-1434
-    },
-
-    {
-       27,-1435, 1771, 1771,-1435,-1435,-1435,-1435,-1435,-1435,
-    -1435,-1435, 1772,-1435,-1435,-1435,-1435,-1435,-1435,-1435,
-    -1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,
-    -1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,
-    -1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,
-
-    -1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,-1435,
-    -1435,-1435,-1435,-1435,-1435
-    },
-
-    {
-       27,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,
-    -1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,
-    -1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,
-    -1436,-1436,-1436, 1773,-1436,-1436,-1436,-1436,-1436,-1436,
-    -1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436,
-    -1436,-1436,-1436,-1436,-1436,-1436,-1436,-1436, 1773,-1436,
-    -1436,-1436,-1436,-1436,-1436
-    },
-
-    {
-       27,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,
-
-    -1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,
-    -1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,
-    -1437,-1437,-1437, 1774,-1437,-1437,-1437,-1437,-1437,-1437,
-    -1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437,
-    -1437,-1437,-1437,-1437,-1437,-1437,-1437,-1437, 1774,-1437,
-    -1437,-1437,-1437,-1437,-1437
-    },
-
-    {
-       27,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,
-    -1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,
-    -1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438, 1775,-1438,
-    -1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,
-
-    -1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,-1438,
-    -1438,-1438,-1438, 1775,-1438,-1438,-1438,-1438,-1438,-1438,
-    -1438,-1438,-1438,-1438,-1438
-    },
-
-    {
-       27,-1439, 1439, 1439,-1439,-1439,-1439,-1439,-1439,-1439,
-    -1439,-1439, 1440,-1439,-1439,-1439,-1439,-1439,-1439,-1439,
-    -1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,
-    -1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,
-    -1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,
-    -1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,-1439,
-    -1439,-1439,-1439,-1439,-1439
-
-    },
-
-    {
-       27,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,
-    -1440,-1440,-1440,-1440,-1440,-1440, 1776,-1440,-1440,-1440,
-    -1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,
-    -1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,
-    -1440,-1440, 1776,-1440,-1440,-1440,-1440,-1440,-1440,-1440,
-    -1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,-1440,
-    -1440,-1440,-1440,-1440,-1440
-    },
-
-    {
-       27,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441, 1777,
-    -1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,
-    -1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,
-
-    -1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441, 1778,
-    -1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,
-    -1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,-1441,
-    -1441,-1441,-1441,-1441,-1441
-    },
-
-    {
-       27,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442, 1779,
-    -1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,
-    -1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,
-    -1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442, 1780,
-    -1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,
-    -1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,-1442,
-
-    -1442,-1442,-1442,-1442,-1442
-    },
-
-    {
-       27,-1443, 1443, 1443,-1443,-1443,-1443,-1443,-1443,-1443,
-    -1443,-1443, 1444,-1443,-1443,-1443,-1443,-1443,-1443,-1443,
-    -1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,
-    -1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,
-    -1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,
-    -1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,-1443,
-    -1443,-1443,-1443,-1443,-1443
-    },
-
-    {
-       27,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,
-    -1444,-1444,-1444,-1444,-1444,-1444, 1781,-1444,-1444,-1444,
-
-    -1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,
-    -1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,
-    -1444,-1444, 1781,-1444,-1444,-1444,-1444,-1444,-1444,-1444,
-    -1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,-1444,
-    -1444,-1444,-1444,-1444,-1444
-    },
-
-    {
-       27,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,
-    -1445,-1445,-1445,-1445, 1782,-1445,-1445,-1445,-1445,-1445,
-    -1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,
-    -1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,
-     1782,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,
-
-    -1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,-1445,
-    -1445,-1445,-1445,-1445,-1445
-    },
-
-    {
-       27,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,
-    -1446,-1446,-1446, 1783,-1446,-1446,-1446,-1446,-1446,-1446,
-    -1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,
-    -1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,
-    -1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,
-    -1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,-1446,
-    -1446,-1446,-1446,-1446,-1446
-    },
-
-    {
-       27,-1447, 1447, 1447,-1447,-1447,-1447,-1447,-1447,-1447,
-
-    -1447,-1447, 1448,-1447,-1447,-1447,-1447,-1447,-1447,-1447,
-    -1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,
-    -1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,
-    -1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,
-    -1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,-1447,
-    -1447,-1447,-1447,-1447,-1447
-    },
-
-    {
-       27,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,
-    -1448,-1448,-1448,-1448,-1448,-1448, 1784,-1448,-1448,-1448,
-    -1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,
-    -1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,
-
-    -1448,-1448, 1784,-1448,-1448,-1448,-1448,-1448,-1448,-1448,
-    -1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,-1448,
-    -1448,-1448,-1448,-1448,-1448
-    },
-
-    {
-       27,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,
-    -1449,-1449,-1449,-1449, 1785,-1449,-1449,-1449,-1449,-1449,
-    -1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,
-    -1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,
-     1785,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,
-    -1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,-1449,
-    -1449,-1449,-1449,-1449,-1449
-
-    },
-
-    {
-       27,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,
-    -1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450, 1786,-1450,
-    -1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,
-    -1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,
-    -1450,-1450,-1450,-1450, 1786,-1450,-1450,-1450,-1450,-1450,
-    -1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,-1450,
-    -1450,-1450,-1450,-1450,-1450
-    },
-
-    {
-       27,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,
-    -1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,
-    -1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,
-
-    -1451,-1451,-1451,-1451,-1451,-1451, 1787,-1451,-1451,-1451,
-    -1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,
-    -1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,-1451,
-    -1451, 1787,-1451,-1451,-1451
-    },
-
-    {
-       27,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,
-    -1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,
-    -1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,
-    -1452,-1452,-1452, 1788,-1452,-1452,-1452,-1452,-1452,-1452,
-    -1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452,
-    -1452,-1452,-1452,-1452,-1452,-1452,-1452,-1452, 1788,-1452,
-
-    -1452,-1452,-1452,-1452,-1452
-    },
-
-    {
-       27,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,
-    -1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,
-    -1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453, 1789,
-    -1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,
-    -1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,-1453,
-    -1453,-1453,-1453,-1453, 1789,-1453,-1453,-1453,-1453,-1453,
-    -1453,-1453,-1453,-1453,-1453
-    },
-
-    {
-       27,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,
-    -1454,-1454,-1454,-1454, 1790,-1454,-1454,-1454,-1454,-1454,
-
-    -1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,
-    -1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,
-     1790,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,
-    -1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,-1454,
-    -1454,-1454,-1454,-1454,-1454
-    },
-
-    {
-       27,-1455, 1791, 1791,-1455,-1455,-1455,-1455,-1455,-1455,
-    -1455,-1455, 1792,-1455,-1455,-1455,-1455,-1455,-1455,-1455,
-    -1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,
-    -1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,
-    -1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,
-
-    -1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,-1455,
-    -1455,-1455,-1455,-1455,-1455
-    },
-
-    {
-       27,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,
-    -1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,
-    -1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,
-    -1456,-1456,-1456, 1793,-1456,-1456,-1456,-1456,-1456,-1456,
-    -1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456,
-    -1456,-1456,-1456,-1456,-1456,-1456,-1456,-1456, 1793,-1456,
-    -1456,-1456,-1456,-1456,-1456
-    },
-
-    {
-       27,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,
-
-    -1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,
-    -1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457, 1794,
-    -1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,
-    -1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,-1457,
-    -1457,-1457,-1457,-1457, 1794,-1457,-1457,-1457,-1457,-1457,
-    -1457,-1457,-1457,-1457,-1457
-    },
-
-    {
-       27,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,
-    -1458,-1458,-1458, 1795,-1458,-1458,-1458,-1458,-1458,-1458,
-    -1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,
-    -1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,
-
-    -1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,
-    -1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,-1458,
-    -1458,-1458,-1458,-1458,-1458
-    },
-
-    {
-       27,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,
-    -1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,
-    -1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,
-    -1459,-1459, 1796,-1459,-1459,-1459,-1459,-1459,-1459,-1459,
-    -1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,-1459,
-    -1459,-1459,-1459,-1459,-1459,-1459,-1459, 1796,-1459,-1459,
-    -1459,-1459,-1459,-1459,-1459
-
-    },
-
-    {
-       27,-1460, 1460, 1460,-1460,-1460,-1460,-1460,-1460,-1460,
-    -1460,-1460, 1461,-1460,-1460,-1460,-1460,-1460,-1460,-1460,
-    -1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,
-    -1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,
-    -1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,
-    -1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,-1460,
-    -1460,-1460,-1460,-1460,-1460
-    },
-
-    {
-       27,-1461,-1461,-1461,-1461,-1461,-1461,-1461,-1461,-1461,
-    -1461,-1461,-1461,-1461,-1461,-1461, 1797,-1461,-1461,-1461,
-    -1461,-1461,-1461,-1461,-1461,-1461,-1461,-1461,-1461, 1798,
-
-    -1461,-1461,-1461,-1461,-1461,-1461,-1461,-1461,-1461,-1461,
-    -1461,-1461, 1797,-1461,-1461,-1461,-1461,-1461,-1461,-1461,
-    -1461,-1461,-1461,-1461, 1798,-1461,-1461,-1461,-1461,-1461,
-    -1461,-1461,-1461,-1461,-1461
-    },
-
-    {
-       27,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,
-    -1462,-1462,-1462,-1462, 1799,-1462,-1462,-1462,-1462,-1462,
-    -1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,
-    -1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,
-     1799,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,
-    -1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,-1462,
-
-    -1462,-1462,-1462,-1462,-1462
-    },
-
-    {
-       27,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,
-    -1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,
-    -1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463, 1800,-1463,
-    -1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,
-    -1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,-1463,
-    -1463,-1463,-1463, 1800,-1463,-1463,-1463,-1463,-1463,-1463,
-    -1463,-1463,-1463,-1463,-1463
-    },
-
-    {
-       27,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,
-    -1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,
-
-    -1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,
-    -1464, 1801,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,
-    -1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,-1464,
-    -1464,-1464,-1464,-1464,-1464,-1464, 1801,-1464,-1464,-1464,
-    -1464,-1464,-1464,-1464,-1464
-    },
-
-    {
-       27,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465, 1802,
-    -1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,
-    -1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,
-    -1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465, 1803,
-    -1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,
-
-    -1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,-1465,
-    -1465,-1465,-1465,-1465,-1465
-    },
-
-    {
-       27,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,
-    -1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,
-    -1466,-1466, 1804,-1466,-1466,-1466,-1466,-1466,-1466,-1466,
-    -1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,
-    -1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466, 1804,-1466,
-    -1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,-1466,
-    -1466,-1466,-1466,-1466,-1466
-    },
-
-    {
-       27,-1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467,
-
-    -1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467, 1805,-1467,
-    -1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467,
-    -1467,-1467,-1467,-1467, 1806,-1467,-1467,-1467,-1467,-1467,
-    -1467,-1467,-1467,-1467, 1805,-1467,-1467,-1467,-1467,-1467,
-    -1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467,-1467, 1806,
-    -1467,-1467,-1467,-1467,-1467
-    },
-
-    {
-       27,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,
-    -1468,-1468,-1468, 1807,-1468,-1468,-1468,-1468,-1468,-1468,
-    -1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,
-    -1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,
-
-    -1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,
-    -1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,-1468,
-    -1468,-1468,-1468,-1468,-1468
-    },
-
-    {
-       27,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,
-    -1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,
-    -1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,
-    -1469,-1469, 1808,-1469,-1469,-1469,-1469,-1469,-1469,-1469,
-    -1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,-1469,
-    -1469,-1469,-1469,-1469,-1469,-1469,-1469, 1808,-1469,-1469,
-    -1469,-1469,-1469,-1469,-1469
-
-    },
-
-    {
-       27,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,
-    -1470,-1470,-1470, 1809,-1470,-1470,-1470,-1470,-1470,-1470,
-    -1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,
-    -1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,
-    -1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,
-    -1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,-1470,
-    -1470,-1470,-1470,-1470,-1470
-    },
-
-    {
-       27,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,
-    -1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,
-    -1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,
-
-    -1471,-1471, 1810,-1471,-1471,-1471,-1471,-1471,-1471,-1471,
-    -1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,-1471,
-    -1471,-1471,-1471,-1471,-1471,-1471,-1471, 1810,-1471,-1471,
-    -1471,-1471,-1471,-1471,-1471
-    },
-
-    {
-       27,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,
-    -1472,-1472,-1472, 1811,-1472,-1472,-1472,-1472,-1472,-1472,
-    -1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,
-    -1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,
-    -1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,
-    -1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,-1472,
-
-    -1472,-1472,-1472,-1472,-1472
-    },
-
-    {
-       27,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,
-    -1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,
-    -1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,
-    -1473,-1473, 1812,-1473,-1473,-1473,-1473,-1473,-1473,-1473,
-    -1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,-1473,
-    -1473,-1473,-1473,-1473,-1473,-1473,-1473, 1812,-1473,-1473,
-    -1473,-1473,-1473,-1473,-1473
-    },
-
-    {
-       27,-1474, 1813, 1813,-1474,-1474,-1474,-1474,-1474,-1474,
-    -1474,-1474, 1814,-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,
-    -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
-    },
-
-    {
-       27,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,
-    -1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,
-    -1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,
-    -1475,-1475,-1475, 1815,-1475,-1475,-1475,-1475,-1475,-1475,
-    -1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475,
-
-    -1475,-1475,-1475,-1475,-1475,-1475,-1475,-1475, 1815,-1475,
-    -1475,-1475,-1475,-1475,-1475
-    },
-
-    {
-       27,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,
-    -1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,
-    -1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,
-    -1476,-1476,-1476, 1816,-1476,-1476,-1476,-1476,-1476,-1476,
-    -1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476,
-    -1476,-1476,-1476,-1476,-1476,-1476,-1476,-1476, 1816,-1476,
-    -1476,-1476,-1476,-1476,-1476
-    },
-
-    {
-       27,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,
-
-    -1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,
-    -1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477, 1817,-1477,
-    -1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,
-    -1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,-1477,
-    -1477,-1477,-1477, 1817,-1477,-1477,-1477,-1477,-1477,-1477,
-    -1477,-1477,-1477,-1477,-1477
-    },
-
-    {
-       27,-1478, 1478, 1478,-1478,-1478,-1478,-1478,-1478,-1478,
-    -1478,-1478, 1479,-1478,-1478,-1478,-1478,-1478,-1478,-1478,
-    -1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,
-    -1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,
-
-    -1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,
-    -1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,-1478,
-    -1478,-1478,-1478,-1478,-1478
-    },
-
-    {
-       27,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,
-    -1479,-1479,-1479,-1479,-1479,-1479, 1818,-1479,-1479,-1479,
-    -1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,
-    -1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,
-    -1479,-1479, 1818,-1479,-1479,-1479,-1479,-1479,-1479,-1479,
-    -1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,-1479,
-    -1479,-1479,-1479,-1479,-1479
-
-    },
-
-    {
-       27,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480, 1819,
-    -1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,
-    -1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,
-    -1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480, 1820,
-    -1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,
-    -1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,-1480,
-    -1480,-1480,-1480,-1480,-1480
-    },
-
-    {
-       27,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481, 1821,
-    -1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,
-    -1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,
-
-    -1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481, 1822,
-    -1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,
-    -1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,-1481,
-    -1481,-1481,-1481,-1481,-1481
-    },
-
-    {
-       27,-1482, 1482, 1482,-1482,-1482,-1482,-1482,-1482,-1482,
-    -1482,-1482, 1483,-1482,-1482,-1482,-1482,-1482,-1482,-1482,
-    -1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,
-    -1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,
-    -1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,
-    -1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,-1482,
-
-    -1482,-1482,-1482,-1482,-1482
-    },
-
-    {
-       27,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,
-    -1483,-1483,-1483,-1483,-1483,-1483, 1823,-1483,-1483,-1483,
-    -1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,
-    -1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,
-    -1483,-1483, 1823,-1483,-1483,-1483,-1483,-1483,-1483,-1483,
-    -1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,-1483,
-    -1483,-1483,-1483,-1483,-1483
-    },
-
-    {
-       27,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,
-    -1484,-1484,-1484,-1484, 1824,-1484,-1484,-1484,-1484,-1484,
-
-    -1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,
-    -1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,
-     1824,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,
-    -1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,-1484,
-    -1484,-1484,-1484,-1484,-1484
-    },
-
-    {
-       27,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,
-    -1485,-1485,-1485, 1825,-1485,-1485,-1485,-1485,-1485,-1485,
-    -1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,
-    -1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,
-    -1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,
-
-    -1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,-1485,
-    -1485,-1485,-1485,-1485,-1485
-    },
-
-    {
-       27,-1486, 1486, 1486,-1486,-1486,-1486,-1486,-1486,-1486,
-    -1486,-1486, 1487,-1486,-1486,-1486,-1486,-1486,-1486,-1486,
-    -1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,
-    -1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,
-    -1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,
-    -1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,-1486,
-    -1486,-1486,-1486,-1486,-1486
-    },
-
-    {
-       27,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,
-
-    -1487,-1487,-1487,-1487,-1487,-1487, 1826,-1487,-1487,-1487,
-    -1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,
-    -1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,
-    -1487,-1487, 1826,-1487,-1487,-1487,-1487,-1487,-1487,-1487,
-    -1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,-1487,
-    -1487,-1487,-1487,-1487,-1487
-    },
-
-    {
-       27,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,
-    -1488,-1488,-1488,-1488, 1827,-1488,-1488,-1488,-1488,-1488,
-    -1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,
-    -1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,
-
-     1827,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,
-    -1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,-1488,
-    -1488,-1488,-1488,-1488,-1488
-    },
-
-    {
-       27,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,
-    -1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489, 1828,-1489,
-    -1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,
-    -1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,
-    -1489,-1489,-1489,-1489, 1828,-1489,-1489,-1489,-1489,-1489,
-    -1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,-1489,
-    -1489,-1489,-1489,-1489,-1489
-
-    },
-
-    {
-       27,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,
-    -1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,
-    -1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,
-    -1490,-1490,-1490,-1490,-1490,-1490, 1829,-1490,-1490,-1490,
-    -1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,
-    -1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,-1490,
-    -1490, 1829,-1490,-1490,-1490
-    },
-
-    {
-       27,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,
-    -1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,
-    -1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,
-
-    -1491,-1491,-1491, 1830,-1491,-1491,-1491,-1491,-1491,-1491,
-    -1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491,
-    -1491,-1491,-1491,-1491,-1491,-1491,-1491,-1491, 1830,-1491,
-    -1491,-1491,-1491,-1491,-1491
-    },
-
-    {
-       27,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,
-    -1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,
-    -1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492, 1831,
-    -1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,
-    -1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,-1492,
-    -1492,-1492,-1492,-1492, 1831,-1492,-1492,-1492,-1492,-1492,
-
-    -1492,-1492,-1492,-1492,-1492
-    },
-
-    {
-       27,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,
-    -1493,-1493,-1493,-1493, 1832,-1493,-1493,-1493,-1493,-1493,
-    -1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,
-    -1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,
-     1832,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,
-    -1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,-1493,
-    -1493,-1493,-1493,-1493,-1493
-    },
-
-    {
-       27,-1494, 1833, 1833,-1494,-1494,-1494,-1494,-1494,-1494,
-    -1494,-1494, 1834,-1494,-1494,-1494,-1494,-1494,-1494,-1494,
-
-    -1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,
-    -1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,
-    -1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,
-    -1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,-1494,
-    -1494,-1494,-1494,-1494,-1494
-    },
-
-    {
-       27,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,
-    -1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,
-    -1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,
-    -1495,-1495,-1495, 1835,-1495,-1495,-1495,-1495,-1495,-1495,
-    -1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495,
-
-    -1495,-1495,-1495,-1495,-1495,-1495,-1495,-1495, 1835,-1495,
-    -1495,-1495,-1495,-1495,-1495
-    },
-
-    {
-       27,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,
-    -1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,
-    -1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496, 1836,
-    -1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,
-    -1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,-1496,
-    -1496,-1496,-1496,-1496, 1836,-1496,-1496,-1496,-1496,-1496,
-    -1496,-1496,-1496,-1496,-1496
-    },
-
-    {
-       27,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,
-
-    -1497,-1497,-1497, 1837,-1497,-1497,-1497,-1497,-1497,-1497,
-    -1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,
-    -1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,
-    -1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,
-    -1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,-1497,
-    -1497,-1497,-1497,-1497,-1497
-    },
-
-    {
-       27,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,
-    -1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,
-    -1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,
-    -1498,-1498, 1838,-1498,-1498,-1498,-1498,-1498,-1498,-1498,
-
-    -1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,-1498,
-    -1498,-1498,-1498,-1498,-1498,-1498,-1498, 1838,-1498,-1498,
-    -1498,-1498,-1498,-1498,-1498
-    },
-
-    {
-       27,-1499, 1499, 1499,-1499,-1499,-1499,-1499,-1499,-1499,
-    -1499,-1499, 1500,-1499,-1499,-1499,-1499,-1499,-1499,-1499,
-    -1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,
-    -1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,
-    -1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,
-    -1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,-1499,
-    -1499,-1499,-1499,-1499,-1499
-
-    },
-
-    {
-       27,-1500,-1500,-1500,-1500,-1500,-1500,-1500,-1500,-1500,
-    -1500,-1500,-1500,-1500,-1500,-1500, 1839,-1500,-1500,-1500,
-    -1500,-1500,-1500,-1500,-1500,-1500,-1500,-1500,-1500, 1840,
-    -1500,-1500,-1500,-1500,-1500,-1500,-1500,-1500,-1500,-1500,
-    -1500,-1500, 1839,-1500,-1500,-1500,-1500,-1500,-1500,-1500,
-    -1500,-1500,-1500,-1500, 1840,-1500,-1500,-1500,-1500,-1500,
-    -1500,-1500,-1500,-1500,-1500
-    },
-
-    {
-       27,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,
-    -1501,-1501,-1501,-1501, 1841,-1501,-1501,-1501,-1501,-1501,
-    -1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,
-
-    -1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,
-     1841,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,
-    -1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,-1501,
-    -1501,-1501,-1501,-1501,-1501
-    },
-
-    {
-       27,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,
-    -1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,
-    -1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502, 1842,-1502,
-    -1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,
-    -1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,-1502,
-    -1502,-1502,-1502, 1842,-1502,-1502,-1502,-1502,-1502,-1502,
-
-    -1502,-1502,-1502,-1502,-1502
-    },
-
-    {
-       27,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,
-    -1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,
-    -1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,
-    -1503, 1843,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,
-    -1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,-1503,
-    -1503,-1503,-1503,-1503,-1503,-1503, 1843,-1503,-1503,-1503,
-    -1503,-1503,-1503,-1503,-1503
-    },
-
-    {
-       27,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504, 1844,
-    -1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,
-
-    -1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,
-    -1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504, 1845,
-    -1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,
-    -1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,-1504,
-    -1504,-1504,-1504,-1504,-1504
-    },
-
-    {
-       27,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,
-    -1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,
-    -1505,-1505, 1846,-1505,-1505,-1505,-1505,-1505,-1505,-1505,
-    -1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,
-    -1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505, 1846,-1505,
-
-    -1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,-1505,
-    -1505,-1505,-1505,-1505,-1505
-    },
-
-    {
-       27,-1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506,
-    -1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506, 1847,-1506,
-    -1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506,
-    -1506,-1506,-1506,-1506, 1848,-1506,-1506,-1506,-1506,-1506,
-    -1506,-1506,-1506,-1506, 1847,-1506,-1506,-1506,-1506,-1506,
-    -1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506,-1506, 1848,
-    -1506,-1506,-1506,-1506,-1506
-    },
-
-    {
-       27,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,
-
-    -1507,-1507,-1507, 1849,-1507,-1507,-1507,-1507,-1507,-1507,
-    -1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,
-    -1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,
-    -1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,
-    -1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,-1507,
-    -1507,-1507,-1507,-1507,-1507
-    },
-
-    {
-       27,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,
-    -1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,
-    -1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,
-    -1508,-1508, 1850,-1508,-1508,-1508,-1508,-1508,-1508,-1508,
-
-    -1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,-1508,
-    -1508,-1508,-1508,-1508,-1508,-1508,-1508, 1850,-1508,-1508,
-    -1508,-1508,-1508,-1508,-1508
-    },
-
-    {
-       27,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,
-    -1509,-1509,-1509, 1851,-1509,-1509,-1509,-1509,-1509,-1509,
-    -1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,
-    -1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,
-    -1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,
-    -1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,-1509,
-    -1509,-1509,-1509,-1509,-1509
-
-    },
-
-    {
-       27,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,
-    -1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,
-    -1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,
-    -1510,-1510, 1852,-1510,-1510,-1510,-1510,-1510,-1510,-1510,
-    -1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,-1510,
-    -1510,-1510,-1510,-1510,-1510,-1510,-1510, 1852,-1510,-1510,
-    -1510,-1510,-1510,-1510,-1510
-    },
-
-    {
-       27,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,
-    -1511,-1511,-1511, 1853,-1511,-1511,-1511,-1511,-1511,-1511,
-    -1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,
-
-    -1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,
-    -1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,
-    -1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,-1511,
-    -1511,-1511,-1511,-1511,-1511
-    },
-
-    {
-       27,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,
-    -1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,
-    -1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,
-    -1512,-1512, 1854,-1512,-1512,-1512,-1512,-1512,-1512,-1512,
-    -1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,-1512,
-    -1512,-1512,-1512,-1512,-1512,-1512,-1512, 1854,-1512,-1512,
-
-    -1512,-1512,-1512,-1512,-1512
-    },
-
-    {
-       27,-1513, 1855, 1855,-1513,-1513,-1513,-1513,-1513,-1513,
-    -1513,-1513, 1856,-1513,-1513,-1513,-1513,-1513,-1513,-1513,
-    -1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,
-    -1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,
-    -1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,
-    -1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,-1513,
-    -1513,-1513,-1513,-1513,-1513
-    },
-
-    {
-       27,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,
-    -1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,
-
-    -1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,
-    -1514,-1514,-1514, 1857,-1514,-1514,-1514,-1514,-1514,-1514,
-    -1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514,
-    -1514,-1514,-1514,-1514,-1514,-1514,-1514,-1514, 1857,-1514,
-    -1514,-1514,-1514,-1514,-1514
-    },
-
-    {
-       27,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,
-    -1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,
-    -1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,
-    -1515,-1515,-1515, 1858,-1515,-1515,-1515,-1515,-1515,-1515,
-    -1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515,
-
-    -1515,-1515,-1515,-1515,-1515,-1515,-1515,-1515, 1858,-1515,
-    -1515,-1515,-1515,-1515,-1515
-    },
-
-    {
-       27,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,
-    -1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,
-    -1516,-1516,-1516,-1516,-1516, 1859,-1516,-1516,-1516,-1516,
-    -1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,
-    -1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,
-     1859,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,-1516,
-    -1516,-1516,-1516,-1516,-1516
-    },
-
-    {
-       27,-1517, 1517, 1517,-1517,-1517,-1517,-1517,-1517,-1517,
-
-    -1517,-1517, 1518,-1517,-1517,-1517,-1517,-1517,-1517,-1517,
-    -1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,
-    -1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,
-    -1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,
-    -1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,-1517,
-    -1517,-1517,-1517,-1517,-1517
-    },
-
-    {
-       27,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,
-    -1518,-1518,-1518,-1518,-1518,-1518, 1860,-1518,-1518,-1518,
-    -1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,
-    -1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,
-
-    -1518,-1518, 1860,-1518,-1518,-1518,-1518,-1518,-1518,-1518,
-    -1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,-1518,
-    -1518,-1518,-1518,-1518,-1518
-    },
-
-    {
-       27,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519, 1861,
-    -1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,
-    -1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,
-    -1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519, 1862,
-    -1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,
-    -1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,-1519,
-    -1519,-1519,-1519,-1519,-1519
-
-    },
-
-    {
-       27,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520, 1863,
-    -1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,
-    -1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,
-    -1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520, 1864,
-    -1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,
-    -1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,-1520,
-    -1520,-1520,-1520,-1520,-1520
-    },
-
-    {
-       27,-1521, 1521, 1521,-1521,-1521,-1521,-1521,-1521,-1521,
-    -1521,-1521, 1522,-1521,-1521,-1521,-1521,-1521,-1521,-1521,
-    -1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,
-
-    -1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,
-    -1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,
-    -1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,-1521,
-    -1521,-1521,-1521,-1521,-1521
-    },
-
-    {
-       27,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,
-    -1522,-1522,-1522,-1522,-1522,-1522, 1865,-1522,-1522,-1522,
-    -1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,
-    -1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,
-    -1522,-1522, 1865,-1522,-1522,-1522,-1522,-1522,-1522,-1522,
-    -1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,-1522,
-
-    -1522,-1522,-1522,-1522,-1522
-    },
-
-    {
-       27,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,
-    -1523,-1523,-1523,-1523, 1866,-1523,-1523,-1523,-1523,-1523,
-    -1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,
-    -1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,
-     1866,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,
-    -1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,-1523,
-    -1523,-1523,-1523,-1523,-1523
-    },
-
-    {
-       27,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,
-    -1524,-1524,-1524, 1867,-1524,-1524,-1524,-1524,-1524,-1524,
-
-    -1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,
-    -1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,
-    -1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,
-    -1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,-1524,
-    -1524,-1524,-1524,-1524,-1524
-    },
-
-    {
-       27,-1525, 1525, 1525,-1525,-1525,-1525,-1525,-1525,-1525,
-    -1525,-1525, 1526,-1525,-1525,-1525,-1525,-1525,-1525,-1525,
-    -1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,
-    -1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,
-    -1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,
-
-    -1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,-1525,
-    -1525,-1525,-1525,-1525,-1525
-    },
-
-    {
-       27,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,
-    -1526,-1526,-1526,-1526,-1526,-1526, 1868,-1526,-1526,-1526,
-    -1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,
-    -1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,
-    -1526,-1526, 1868,-1526,-1526,-1526,-1526,-1526,-1526,-1526,
-    -1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,-1526,
-    -1526,-1526,-1526,-1526,-1526
-    },
-
-    {
-       27,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,
-
-    -1527,-1527,-1527,-1527, 1869,-1527,-1527,-1527,-1527,-1527,
-    -1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,
-    -1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,
-     1869,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,
-    -1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,-1527,
-    -1527,-1527,-1527,-1527,-1527
-    },
-
-    {
-       27,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,
-    -1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528, 1870,-1528,
-    -1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,
-    -1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,
-
-    -1528,-1528,-1528,-1528, 1870,-1528,-1528,-1528,-1528,-1528,
-    -1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,-1528,
-    -1528,-1528,-1528,-1528,-1528
-    },
-
-    {
-       27,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,
-    -1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,
-    -1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,
-    -1529,-1529,-1529,-1529,-1529,-1529, 1871,-1529,-1529,-1529,
-    -1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,
-    -1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,-1529,
-    -1529, 1871,-1529,-1529,-1529
-
-    },
-
-    {
-       27,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,
-    -1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,
-    -1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,
-    -1530,-1530,-1530, 1872,-1530,-1530,-1530,-1530,-1530,-1530,
-    -1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530,
-    -1530,-1530,-1530,-1530,-1530,-1530,-1530,-1530, 1872,-1530,
-    -1530,-1530,-1530,-1530,-1530
-    },
-
-    {
-       27,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,
-    -1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,
-    -1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531, 1873,
-
-    -1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,
-    -1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,-1531,
-    -1531,-1531,-1531,-1531, 1873,-1531,-1531,-1531,-1531,-1531,
-    -1531,-1531,-1531,-1531,-1531
-    },
-
-    {
-       27,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,
-    -1532,-1532,-1532,-1532, 1874,-1532,-1532,-1532,-1532,-1532,
-    -1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,
-    -1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,
-     1874,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,
-    -1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,-1532,
-
-    -1532,-1532,-1532,-1532,-1532
-    },
-
-    {
-       27,-1533, 1875, 1875,-1533,-1533,-1533,-1533,-1533,-1533,
-    -1533,-1533, 1876,-1533,-1533,-1533,-1533,-1533,-1533,-1533,
-    -1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,
-    -1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,
-    -1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,
-    -1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,-1533,
-    -1533,-1533,-1533,-1533,-1533
-    },
-
-    {
-       27,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,
-    -1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,
-
-    -1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,
-    -1534,-1534,-1534, 1877,-1534,-1534,-1534,-1534,-1534,-1534,
-    -1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534,
-    -1534,-1534,-1534,-1534,-1534,-1534,-1534,-1534, 1877,-1534,
-    -1534,-1534,-1534,-1534,-1534
-    },
-
-    {
-       27,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,
-    -1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,
-    -1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535, 1878,
-    -1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,
-    -1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,-1535,
-
-    -1535,-1535,-1535,-1535, 1878,-1535,-1535,-1535,-1535,-1535,
-    -1535,-1535,-1535,-1535,-1535
-    },
-
-    {
-       27,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,
-    -1536,-1536,-1536, 1879,-1536,-1536,-1536,-1536,-1536,-1536,
-    -1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,
-    -1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,
-    -1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,
-    -1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,-1536,
-    -1536,-1536,-1536,-1536,-1536
-    },
-
-    {
-       27,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,
-
-    -1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,
-    -1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,
-    -1537,-1537, 1880,-1537,-1537,-1537,-1537,-1537,-1537,-1537,
-    -1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,-1537,
-    -1537,-1537,-1537,-1537,-1537,-1537,-1537, 1880,-1537,-1537,
-    -1537,-1537,-1537,-1537,-1537
-    },
-
-    {
-       27,-1538, 1538, 1538,-1538,-1538,-1538,-1538,-1538,-1538,
-    -1538,-1538, 1539,-1538,-1538,-1538,-1538,-1538,-1538,-1538,
-    -1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,
-    -1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,
-
-    -1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,
-    -1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,-1538,
-    -1538,-1538,-1538,-1538,-1538
-    },
-
-    {
-       27,-1539,-1539,-1539,-1539,-1539,-1539,-1539,-1539,-1539,
-    -1539,-1539,-1539,-1539,-1539,-1539, 1881,-1539,-1539,-1539,
-    -1539,-1539,-1539,-1539,-1539,-1539,-1539,-1539,-1539, 1882,
-    -1539,-1539,-1539,-1539,-1539,-1539,-1539,-1539,-1539,-1539,
-    -1539,-1539, 1881,-1539,-1539,-1539,-1539,-1539,-1539,-1539,
-    -1539,-1539,-1539,-1539, 1882,-1539,-1539,-1539,-1539,-1539,
-    -1539,-1539,-1539,-1539,-1539
-
-    },
-
-    {
-       27,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,
-    -1540,-1540,-1540,-1540, 1883,-1540,-1540,-1540,-1540,-1540,
-    -1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,
-    -1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,
-     1883,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,
-    -1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,-1540,
-    -1540,-1540,-1540,-1540,-1540
-    },
-
-    {
-       27,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,
-    -1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,
-    -1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541, 1884,-1541,
-
-    -1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,
-    -1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,-1541,
-    -1541,-1541,-1541, 1884,-1541,-1541,-1541,-1541,-1541,-1541,
-    -1541,-1541,-1541,-1541,-1541
-    },
-
-    {
-       27,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,
-    -1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,
-    -1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,
-    -1542, 1885,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,
-    -1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,-1542,
-    -1542,-1542,-1542,-1542,-1542,-1542, 1885,-1542,-1542,-1542,
-
-    -1542,-1542,-1542,-1542,-1542
-    },
-
-    {
-       27,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543, 1886,
-    -1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,
-    -1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,
-    -1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543, 1887,
-    -1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,
-    -1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,-1543,
-    -1543,-1543,-1543,-1543,-1543
-    },
-
-    {
-       27,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,
-    -1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,
-
-    -1544,-1544, 1888,-1544,-1544,-1544,-1544,-1544,-1544,-1544,
-    -1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,
-    -1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544, 1888,-1544,
-    -1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,-1544,
-    -1544,-1544,-1544,-1544,-1544
-    },
-
-    {
-       27,-1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545,
-    -1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545, 1889,-1545,
-    -1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545,
-    -1545,-1545,-1545,-1545, 1890,-1545,-1545,-1545,-1545,-1545,
-    -1545,-1545,-1545,-1545, 1889,-1545,-1545,-1545,-1545,-1545,
-
-    -1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545,-1545, 1890,
-    -1545,-1545,-1545,-1545,-1545
-    },
-
-    {
-       27,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,
-    -1546,-1546,-1546, 1891,-1546,-1546,-1546,-1546,-1546,-1546,
-    -1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,
-    -1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,
-    -1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,
-    -1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,-1546,
-    -1546,-1546,-1546,-1546,-1546
-    },
-
-    {
-       27,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,
-
-    -1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,
-    -1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,
-    -1547,-1547, 1892,-1547,-1547,-1547,-1547,-1547,-1547,-1547,
-    -1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,-1547,
-    -1547,-1547,-1547,-1547,-1547,-1547,-1547, 1892,-1547,-1547,
-    -1547,-1547,-1547,-1547,-1547
-    },
-
-    {
-       27,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,
-    -1548,-1548,-1548, 1893,-1548,-1548,-1548,-1548,-1548,-1548,
-    -1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,
-    -1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,
-
-    -1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,
-    -1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,-1548,
-    -1548,-1548,-1548,-1548,-1548
-    },
-
-    {
-       27,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,
-    -1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,
-    -1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,
-    -1549,-1549, 1894,-1549,-1549,-1549,-1549,-1549,-1549,-1549,
-    -1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,-1549,
-    -1549,-1549,-1549,-1549,-1549,-1549,-1549, 1894,-1549,-1549,
-    -1549,-1549,-1549,-1549,-1549
-
-    },
-
-    {
-       27,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,
-    -1550,-1550,-1550, 1895,-1550,-1550,-1550,-1550,-1550,-1550,
-    -1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,
-    -1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,
-    -1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,
-    -1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,-1550,
-    -1550,-1550,-1550,-1550,-1550
-    },
-
-    {
-       27,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,
-    -1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,
-    -1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,
-
-    -1551,-1551, 1896,-1551,-1551,-1551,-1551,-1551,-1551,-1551,
-    -1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,-1551,
-    -1551,-1551,-1551,-1551,-1551,-1551,-1551, 1896,-1551,-1551,
-    -1551,-1551,-1551,-1551,-1551
-    },
-
-    {
-       27,-1552, 1897, 1897,-1552,-1552,-1552,-1552,-1552,-1552,
-    -1552,-1552, 1898,-1552,-1552,-1552,-1552,-1552,-1552,-1552,
-    -1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,
-    -1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,
-    -1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,
-    -1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,-1552,
-
-    -1552,-1552,-1552,-1552,-1552
-    },
-
-    {
-       27,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,
-    -1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,
-    -1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,
-    -1553,-1553,-1553, 1899,-1553,-1553,-1553,-1553,-1553,-1553,
-    -1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553,
-    -1553,-1553,-1553,-1553,-1553,-1553,-1553,-1553, 1899,-1553,
-    -1553,-1553,-1553,-1553,-1553
-    },
-
-    {
-       27,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,
-    -1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,
-
-    -1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,
-    -1554,-1554,-1554, 1900,-1554,-1554,-1554,-1554,-1554,-1554,
-    -1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554,
-    -1554,-1554,-1554,-1554,-1554,-1554,-1554,-1554, 1900,-1554,
-    -1554,-1554,-1554,-1554,-1554
-    },
-
-    {
-       27,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,
-    -1555,-1555,-1555,-1555, 1901,-1555,-1555,-1555,-1555,-1555,
-    -1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,
-    -1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,
-     1901,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,
-
-    -1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,-1555,
-    -1555,-1555,-1555,-1555,-1555
-    },
-
-    {
-       27,-1556, 1556, 1556,-1556,-1556,-1556,-1556,-1556,-1556,
-    -1556,-1556, 1557,-1556,-1556,-1556,-1556,-1556,-1556,-1556,
-    -1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,
-    -1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,
-    -1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,
-    -1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,-1556,
-    -1556,-1556,-1556,-1556,-1556
-    },
-
-    {
-       27,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,
-
-    -1557,-1557,-1557,-1557,-1557,-1557, 1902,-1557,-1557,-1557,
-    -1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,
-    -1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,
-    -1557,-1557, 1902,-1557,-1557,-1557,-1557,-1557,-1557,-1557,
-    -1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,-1557,
-    -1557,-1557,-1557,-1557,-1557
-    },
-
-    {
-       27,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558, 1903,
-    -1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,
-    -1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,
-    -1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558, 1904,
-
-    -1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,
-    -1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,-1558,
-    -1558,-1558,-1558,-1558,-1558
-    },
-
-    {
-       27,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559, 1905,
-    -1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,
-    -1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,
-    -1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559, 1906,
-    -1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,
-    -1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,-1559,
-    -1559,-1559,-1559,-1559,-1559
-
-    },
-
-    {
-       27,-1560, 1560, 1560,-1560,-1560,-1560,-1560,-1560,-1560,
-    -1560,-1560, 1561,-1560,-1560,-1560,-1560,-1560,-1560,-1560,
-    -1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,
-    -1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,
-    -1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,
-    -1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,-1560,
-    -1560,-1560,-1560,-1560,-1560
-    },
-
-    {
-       27,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,
-    -1561,-1561,-1561,-1561,-1561,-1561, 1907,-1561,-1561,-1561,
-    -1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,
-
-    -1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,
-    -1561,-1561, 1907,-1561,-1561,-1561,-1561,-1561,-1561,-1561,
-    -1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,-1561,
-    -1561,-1561,-1561,-1561,-1561
-    },
-
-    {
-       27,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,
-    -1562,-1562,-1562,-1562, 1908,-1562,-1562,-1562,-1562,-1562,
-    -1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,
-    -1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,
-     1908,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,
-    -1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,-1562,
-
-    -1562,-1562,-1562,-1562,-1562
-    },
-
-    {
-       27,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,
-    -1563,-1563,-1563, 1909,-1563,-1563,-1563,-1563,-1563,-1563,
-    -1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,
-    -1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,
-    -1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,
-    -1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,-1563,
-    -1563,-1563,-1563,-1563,-1563
-    },
-
-    {
-       27,-1564, 1564, 1564,-1564,-1564,-1564,-1564,-1564,-1564,
-    -1564,-1564, 1565,-1564,-1564,-1564,-1564,-1564,-1564,-1564,
-
-    -1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,
-    -1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,
-    -1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,
-    -1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,-1564,
-    -1564,-1564,-1564,-1564,-1564
-    },
-
-    {
-       27,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,
-    -1565,-1565,-1565,-1565,-1565,-1565, 1910,-1565,-1565,-1565,
-    -1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,
-    -1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,
-    -1565,-1565, 1910,-1565,-1565,-1565,-1565,-1565,-1565,-1565,
-
-    -1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,-1565,
-    -1565,-1565,-1565,-1565,-1565
-    },
-
-    {
-       27,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,
-    -1566,-1566,-1566,-1566, 1911,-1566,-1566,-1566,-1566,-1566,
-    -1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,
-    -1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,
-     1911,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,
-    -1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,-1566,
-    -1566,-1566,-1566,-1566,-1566
-    },
-
-    {
-       27,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,
-
-    -1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567, 1912,-1567,
-    -1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,
-    -1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,
-    -1567,-1567,-1567,-1567, 1912,-1567,-1567,-1567,-1567,-1567,
-    -1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,-1567,
-    -1567,-1567,-1567,-1567,-1567
-    },
-
-    {
-       27,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,
-    -1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,
-    -1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,
-    -1568,-1568,-1568,-1568,-1568,-1568, 1913,-1568,-1568,-1568,
-
-    -1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,
-    -1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,-1568,
-    -1568, 1913,-1568,-1568,-1568
-    },
-
-    {
-       27,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,
-    -1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,
-    -1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,
-    -1569,-1569,-1569, 1914,-1569,-1569,-1569,-1569,-1569,-1569,
-    -1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569,
-    -1569,-1569,-1569,-1569,-1569,-1569,-1569,-1569, 1914,-1569,
-    -1569,-1569,-1569,-1569,-1569
-
-    },
-
-    {
-       27,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,
-    -1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,
-    -1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570, 1915,
-    -1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,
-    -1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,-1570,
-    -1570,-1570,-1570,-1570, 1915,-1570,-1570,-1570,-1570,-1570,
-    -1570,-1570,-1570,-1570,-1570
-    },
-
-    {
-       27,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,
-    -1571,-1571,-1571,-1571, 1916,-1571,-1571,-1571,-1571,-1571,
-    -1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,
-
-    -1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,
-     1916,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,
-    -1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,-1571,
-    -1571,-1571,-1571,-1571,-1571
-    },
-
-    {
-       27,-1572, 1917, 1917,-1572,-1572,-1572,-1572,-1572,-1572,
-    -1572,-1572, 1918,-1572,-1572,-1572,-1572,-1572,-1572,-1572,
-    -1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,
-    -1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,
-    -1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,
-    -1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,-1572,
-
-    -1572,-1572,-1572,-1572,-1572
-    },
-
-    {
-       27,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,
-    -1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,
-    -1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,
-    -1573,-1573,-1573, 1919,-1573,-1573,-1573,-1573,-1573,-1573,
-    -1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573,
-    -1573,-1573,-1573,-1573,-1573,-1573,-1573,-1573, 1919,-1573,
-    -1573,-1573,-1573,-1573,-1573
-    },
-
-    {
-       27,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,
-    -1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,
-
-    -1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574, 1920,
-    -1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,
-    -1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,-1574,
-    -1574,-1574,-1574,-1574, 1920,-1574,-1574,-1574,-1574,-1574,
-    -1574,-1574,-1574,-1574,-1574
-    },
-
-    {
-       27,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,
-    -1575,-1575,-1575, 1921,-1575,-1575,-1575,-1575,-1575,-1575,
-    -1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,
-    -1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,
-    -1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,
-
-    -1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,-1575,
-    -1575,-1575,-1575,-1575,-1575
-    },
-
-    {
-       27,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,
-    -1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,
-    -1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,
-    -1576,-1576, 1922,-1576,-1576,-1576,-1576,-1576,-1576,-1576,
-    -1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,-1576,
-    -1576,-1576,-1576,-1576,-1576,-1576,-1576, 1922,-1576,-1576,
-    -1576,-1576,-1576,-1576,-1576
-    },
-
-    {
-       27,-1577, 1577, 1577,-1577,-1577,-1577,-1577,-1577,-1577,
-
-    -1577,-1577, 1578,-1577,-1577,-1577,-1577,-1577,-1577,-1577,
-    -1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,
-    -1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,
-    -1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,
-    -1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,-1577,
-    -1577,-1577,-1577,-1577,-1577
-    },
-
-    {
-       27,-1578,-1578,-1578,-1578,-1578,-1578,-1578,-1578,-1578,
-    -1578,-1578,-1578,-1578,-1578,-1578, 1923,-1578,-1578,-1578,
-    -1578,-1578,-1578,-1578,-1578,-1578,-1578,-1578,-1578, 1924,
-    -1578,-1578,-1578,-1578,-1578,-1578,-1578,-1578,-1578,-1578,
-
-    -1578,-1578, 1923,-1578,-1578,-1578,-1578,-1578,-1578,-1578,
-    -1578,-1578,-1578,-1578, 1924,-1578,-1578,-1578,-1578,-1578,
-    -1578,-1578,-1578,-1578,-1578
-    },
-
-    {
-       27,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,
-    -1579,-1579,-1579,-1579, 1925,-1579,-1579,-1579,-1579,-1579,
-    -1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,
-    -1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,
-     1925,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,
-    -1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,-1579,
-    -1579,-1579,-1579,-1579,-1579
-
-    },
-
-    {
-       27,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,
-    -1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,
-    -1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580, 1926,-1580,
-    -1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,
-    -1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,-1580,
-    -1580,-1580,-1580, 1926,-1580,-1580,-1580,-1580,-1580,-1580,
-    -1580,-1580,-1580,-1580,-1580
-    },
-
-    {
-       27,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,
-    -1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,
-    -1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,
-
-    -1581, 1927,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,
-    -1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,-1581,
-    -1581,-1581,-1581,-1581,-1581,-1581, 1927,-1581,-1581,-1581,
-    -1581,-1581,-1581,-1581,-1581
-    },
-
-    {
-       27,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582, 1928,
-    -1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,
-    -1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,
-    -1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582, 1929,
-    -1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,
-    -1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,-1582,
-
-    -1582,-1582,-1582,-1582,-1582
-    },
-
-    {
-       27,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,
-    -1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,
-    -1583,-1583, 1930,-1583,-1583,-1583,-1583,-1583,-1583,-1583,
-    -1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,
-    -1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583, 1930,-1583,
-    -1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,-1583,
-    -1583,-1583,-1583,-1583,-1583
-    },
-
-    {
-       27,-1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584,
-    -1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584, 1931,-1584,
-
-    -1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584,
-    -1584,-1584,-1584,-1584, 1932,-1584,-1584,-1584,-1584,-1584,
-    -1584,-1584,-1584,-1584, 1931,-1584,-1584,-1584,-1584,-1584,
-    -1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584,-1584, 1932,
-    -1584,-1584,-1584,-1584,-1584
-    },
-
-    {
-       27,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,
-    -1585,-1585,-1585, 1933,-1585,-1585,-1585,-1585,-1585,-1585,
-    -1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,
-    -1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,
-    -1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,
-
-    -1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,-1585,
-    -1585,-1585,-1585,-1585,-1585
-    },
-
-    {
-       27,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,
-    -1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,
-    -1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,
-    -1586,-1586, 1934,-1586,-1586,-1586,-1586,-1586,-1586,-1586,
-    -1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,-1586,
-    -1586,-1586,-1586,-1586,-1586,-1586,-1586, 1934,-1586,-1586,
-    -1586,-1586,-1586,-1586,-1586
-    },
-
-    {
-       27,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,
-
-    -1587,-1587,-1587, 1935,-1587,-1587,-1587,-1587,-1587,-1587,
-    -1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,
-    -1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,
-    -1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,
-    -1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,-1587,
-    -1587,-1587,-1587,-1587,-1587
-    },
-
-    {
-       27,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,
-    -1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,
-    -1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,
-    -1588,-1588, 1936,-1588,-1588,-1588,-1588,-1588,-1588,-1588,
-
-    -1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,-1588,
-    -1588,-1588,-1588,-1588,-1588,-1588,-1588, 1936,-1588,-1588,
-    -1588,-1588,-1588,-1588,-1588
-    },
-
-    {
-       27,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,
-    -1589,-1589,-1589, 1937,-1589,-1589,-1589,-1589,-1589,-1589,
-    -1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,
-    -1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,
-    -1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,
-    -1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,-1589,
-    -1589,-1589,-1589,-1589,-1589
-
-    },
-
-    {
-       27,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,
-    -1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,
-    -1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,
-    -1590,-1590, 1938,-1590,-1590,-1590,-1590,-1590,-1590,-1590,
-    -1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,-1590,
-    -1590,-1590,-1590,-1590,-1590,-1590,-1590, 1938,-1590,-1590,
-    -1590,-1590,-1590,-1590,-1590
-    },
-
-    {
-       27,-1591, 1939, 1939,-1591,-1591,-1591,-1591,-1591,-1591,
-    -1591,-1591, 1940,-1591,-1591,-1591,-1591,-1591,-1591,-1591,
-    -1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,
-
-    -1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,
-    -1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,
-    -1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,-1591,
-    -1591,-1591,-1591,-1591,-1591
-    },
-
-    {
-       27,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,
-    -1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,
-    -1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,
-    -1592,-1592,-1592, 1941,-1592,-1592,-1592,-1592,-1592,-1592,
-    -1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592,
-    -1592,-1592,-1592,-1592,-1592,-1592,-1592,-1592, 1941,-1592,
-
-    -1592,-1592,-1592,-1592,-1592
-    },
-
-    {
-       27,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,
-     1942,  178,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,
-    -1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,
-    -1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,
-    -1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,
-    -1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,-1593,
-    -1593,-1593,-1593,-1593,-1593
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366, 1943,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366, 1943,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 1944,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366, 1945,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-1596, 1596, 1596,-1596,-1596,-1596,-1596,-1596,-1596,
-    -1596,-1596, 1597,-1596,-1596,-1596,-1596,-1596,-1596,-1596,
-    -1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,
-    -1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,
-    -1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,
-    -1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,-1596,
-    -1596,-1596,-1596,-1596,-1596
-    },
-
-    {
-       27,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,
-
-    -1597,-1597,-1597,-1597,-1597,-1597, 1946,-1597,-1597,-1597,
-    -1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,
-    -1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,
-    -1597,-1597, 1946,-1597,-1597,-1597,-1597,-1597,-1597,-1597,
-    -1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,-1597,
-    -1597,-1597,-1597,-1597,-1597
-    },
-
-    {
-       27,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,
-    -1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,
-    -1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598, 1947,-1598,
-    -1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,
-
-    -1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,-1598,
-    -1598,-1598,-1598, 1947,-1598,-1598,-1598,-1598,-1598,-1598,
-    -1598,-1598,-1598,-1598,-1598
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1948,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1949,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1949,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1950,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1951,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1951,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,
-    -1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,
-    -1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603, 1952,-1603,
-    -1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,
-    -1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,-1603,
-    -1603,-1603,-1603, 1952,-1603,-1603,-1603,-1603,-1603,-1603,
-    -1603,-1603,-1603,-1603,-1603
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1953,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1953,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,
-    -1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,
-    -1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,
-    -1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,
-    -1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,
-
-    -1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,-1605,
-    -1605,-1605,-1605,-1605,-1605
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1954,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,
-
-    -1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,
-    -1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607, 1955,-1607,
-    -1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,
-    -1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,-1607,
-    -1607,-1607,-1607, 1955,-1607,-1607,-1607,-1607,-1607,-1607,
-    -1607,-1607,-1607,-1607,-1607
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1956,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1956,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1957,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1958,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1959,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1960,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1961,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1962,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1963,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 1964,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184, 1965,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1965,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,
-    -1614,-1614,-1614,-1614, 1966,-1614,-1614,-1614,-1614,-1614,
-
-    -1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,
-    -1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,
-     1966,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,
-    -1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,-1614,
-    -1614,-1614,-1614,-1614,-1614
-    },
-
-    {
-       27,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,
-    -1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,
-    -1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,
-    -1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,
-    -1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,
-
-    -1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,-1615,
-    -1615,-1615,-1615,-1615,-1615
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1967,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1967,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1968,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1968,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184, 1969,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1969,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1619, 1619, 1619,-1619,-1619,-1619,-1619,-1619,-1619,
-    -1619,-1619, 1620,-1619,-1619,-1619,-1619,-1619,-1619,-1619,
-    -1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,
-    -1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,
-    -1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,
-    -1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,-1619,
-    -1619,-1619,-1619,-1619,-1619
-
-    },
-
-    {
-       27,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,
-    -1620,-1620,-1620,-1620,-1620,-1620, 1970,-1620,-1620,-1620,
-    -1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,
-    -1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,
-    -1620,-1620, 1970,-1620,-1620,-1620,-1620,-1620,-1620,-1620,
-    -1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,-1620,
-    -1620,-1620,-1620,-1620,-1620
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1971,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1971,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184, 1972,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1972,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1623, 1973, 1973,-1623,-1623,-1623,-1623,-1623,-1623,
-    -1623,-1623, 1974,-1623,-1623,-1623,-1623,-1623,-1623,-1623,
-    -1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,
-    -1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,
-    -1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,
-    -1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,-1623,
-    -1623,-1623,-1623,-1623,-1623
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1975,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1975,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,
-    -1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,
-    -1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625, 1976,-1625,
-    -1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,
-    -1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,-1625,
-
-    -1625,-1625,-1625, 1976,-1625,-1625,-1625,-1625,-1625,-1625,
-    -1625,-1625,-1625,-1625,-1625
-    },
-
-    {
-       27,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,
-    -1626,-1626,-1626,-1626, 1977,-1626,-1626,-1626,-1626,-1626,
-    -1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,
-    -1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,
-     1977,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,
-    -1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,-1626,
-    -1626,-1626,-1626,-1626,-1626
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1978,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 1978,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,
-    -1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,
-    -1628,-1628,-1628,-1628,-1628,-1628,-1628, 1979,-1628,-1628,
-    -1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,
-
-    -1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,-1628,
-    -1628,-1628, 1979,-1628,-1628,-1628,-1628,-1628,-1628,-1628,
-    -1628,-1628,-1628,-1628,-1628
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  572,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1980,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184, 1981,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 1981,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1982,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1982,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184, 1983,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 1983,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184, 1984,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 1984,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1635, 1985, 1985,-1635,-1635,-1635,-1635,-1635,-1635,
-    -1635,-1635, 1986,-1635,-1635,-1635,-1635,-1635,-1635,-1635,
-    -1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,
-    -1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,
-    -1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,
-
-    -1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,-1635,
-    -1635,-1635,-1635,-1635,-1635
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1987,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1987,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1637, 1988, 1988,-1637,-1637,-1637,-1637,-1637,-1637,
-
-    -1637,-1637, 1989,-1637,-1637,-1637,-1637,-1637,-1637,-1637,
-    -1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,
-    -1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,
-    -1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,
-    -1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,-1637,
-    -1637,-1637,-1637,-1637,-1637
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1990,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1990,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1639, 1991, 1991,-1639,-1639,-1639,-1639,-1639,-1639,
-    -1639,-1639, 1992,-1639,-1639,-1639,-1639,-1639,-1639,-1639,
-    -1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,
-    -1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,
-    -1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,
-    -1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,-1639,
-    -1639,-1639,-1639,-1639,-1639
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1993,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1993,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 1994,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1994,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1642, 1642, 1642,-1642,-1642,-1642,-1642,-1642,-1642,
-    -1642,-1642, 1643,-1642,-1642,-1642,-1642,-1642,-1642,-1642,
-    -1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,
-    -1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,
-    -1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,
-    -1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,-1642,
-
-    -1642,-1642,-1642,-1642,-1642
-    },
-
-    {
-       27,-1643,-1643,-1643,-1643,-1643,-1643,-1643,-1643,-1643,
-    -1643,-1643,-1643,-1643,-1643,-1643, 1995,-1643,-1643,-1643,
-    -1643,-1643,-1643,-1643,-1643,-1643,-1643,-1643,-1643, 1996,
-    -1643,-1643,-1643,-1643,-1643,-1643,-1643,-1643,-1643,-1643,
-    -1643,-1643, 1995,-1643,-1643,-1643,-1643,-1643,-1643,-1643,
-    -1643,-1643,-1643,-1643, 1996,-1643,-1643,-1643,-1643,-1643,
-    -1643,-1643,-1643,-1643,-1643
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 1997,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     1997,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,
-    -1645,-1645,-1645, 1998,-1645,-1645,-1645,-1645,-1645,-1645,
-    -1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,
-    -1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,
-    -1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,
-
-    -1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,-1645,
-    -1645,-1645,-1645,-1645,-1645
-    },
-
-    {
-       27,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,
-    -1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,
-    -1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,
-    -1646,-1646, 1999,-1646,-1646,-1646,-1646,-1646,-1646,-1646,
-    -1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,-1646,
-    -1646,-1646,-1646,-1646,-1646,-1646,-1646, 1999,-1646,-1646,
-    -1646,-1646,-1646,-1646,-1646
-    },
-
-    {
-       27,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,
-
-    -1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,
-    -1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,
-    -1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,
-    -1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,
-    -1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,-1647,
-    -1647,-1647,-1647,-1647,-1647
-    },
-
-    {
-       27,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,
-    -1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,
-    -1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,
-    -1648,-1648, 2000,-1648,-1648,-1648,-1648,-1648,-1648,-1648,
-
-    -1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,-1648,
-    -1648,-1648,-1648,-1648,-1648,-1648,-1648, 2000,-1648,-1648,
-    -1648,-1648,-1648,-1648,-1648
-    },
-
-    {
-       27,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,
-    -1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,
-    -1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,
-    -1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,
-    -1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,
-    -1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,-1649,
-    -1649,-1649,-1649,-1649,-1649
-
-    },
-
-    {
-       27,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,
-    -1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,
-    -1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,
-    -1650,-1650, 2001,-1650,-1650,-1650,-1650,-1650,-1650,-1650,
-    -1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,-1650,
-    -1650,-1650,-1650,-1650,-1650,-1650,-1650, 2001,-1650,-1650,
-    -1650,-1650,-1650,-1650,-1650
-    },
-
-    {
-       27,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,
-    -1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,
-    -1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651, 2002,-1651,
-
-    -1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,
-    -1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,-1651,
-    -1651,-1651,-1651, 2002,-1651,-1651,-1651,-1651,-1651,-1651,
-    -1651,-1651,-1651,-1651,-1651
-    },
-
-    {
-       27,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,
-    -1652,-1652,-1652, 2003,-1652,-1652,-1652,-1652,-1652,-1652,
-    -1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,
-    -1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,
-    -1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,
-    -1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,-1652,
-
-    -1652,-1652,-1652,-1652,-1652
-    },
-
-    {
-       27,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,
-    -1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,
-    -1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,
-    -1653,-1653, 2004,-1653,-1653,-1653,-1653,-1653,-1653,-1653,
-    -1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,-1653,
-    -1653,-1653,-1653,-1653,-1653,-1653,-1653, 2004,-1653,-1653,
-    -1653,-1653,-1653,-1653,-1653
-    },
-
-    {
-       27,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,
-    -1654,-1654,-1654, 2005,-1654,-1654,-1654,-1654,-1654,-1654,
-
-    -1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,
-    -1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,
-    -1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,
-    -1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,-1654,
-    -1654,-1654,-1654,-1654,-1654
-    },
-
-    {
-       27,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,
-    -1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,
-    -1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,
-    -1655,-1655, 2006,-1655,-1655,-1655,-1655,-1655,-1655,-1655,
-    -1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,-1655,
-
-    -1655,-1655,-1655,-1655,-1655,-1655,-1655, 2006,-1655,-1655,
-    -1655,-1655,-1655,-1655,-1655
-    },
-
-    {
-       27,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,
-    -1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,
-    -1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656, 2007,-1656,
-    -1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,
-    -1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,-1656,
-    -1656,-1656,-1656, 2007,-1656,-1656,-1656,-1656,-1656,-1656,
-    -1656,-1656,-1656,-1656,-1656
-    },
-
-    {
-       27,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,
-
-    -1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,
-    -1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,
-    -1657, 2008,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,
-    -1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,-1657,
-    -1657,-1657,-1657,-1657,-1657,-1657, 2008,-1657,-1657,-1657,
-    -1657,-1657,-1657,-1657,-1657
-    },
-
-    {
-       27,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,
-    -1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,
-    -1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,
-    -1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,
-
-    -1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,
-    -1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,-1658,
-    -1658,-1658,-1658,-1658,-1658
-    },
-
-    {
-       27,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,
-    -1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,
-    -1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659, 2009,-1659,
-    -1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,
-    -1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,-1659,
-    -1659,-1659,-1659, 2009,-1659,-1659,-1659,-1659,-1659,-1659,
-    -1659,-1659,-1659,-1659,-1659
-
-    },
-
-    {
-       27,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,
-    -1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,
-    -1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,
-    -1660, 2010,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,
-    -1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,-1660,
-    -1660,-1660,-1660,-1660,-1660,-1660, 2010,-1660,-1660,-1660,
-    -1660,-1660,-1660,-1660,-1660
-    },
-
-    {
-       27,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661, 2011,
-    -1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,
-    -1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,
-
-    -1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661, 2012,
-    -1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,
-    -1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,-1661,
-    -1661,-1661,-1661,-1661,-1661
-    },
-
-    {
-       27,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662, 2013,
-    -1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,
-    -1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,
-    -1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662, 2014,
-    -1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,
-    -1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,-1662,
-
-    -1662,-1662,-1662,-1662,-1662
-    },
-
-    {
-       27,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,
-    -1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,
-    -1663,-1663,-1663,-1663,-1663, 2015,-1663,-1663,-1663,-1663,
-    -1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,
-    -1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,
-     2015,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,-1663,
-    -1663,-1663,-1663,-1663,-1663
-    },
-
-    {
-       27,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,
-    -1664,-1664,-1664,-1664, 2016,-1664,-1664,-1664,-1664,-1664,
-
-    -1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,
-    -1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,
-     2016,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,
-    -1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,-1664,
-    -1664,-1664,-1664,-1664,-1664
-    },
-
-    {
-       27,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,
-    -1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,
-    -1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,
-    -1665, 2017,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,
-    -1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,-1665,
-
-    -1665,-1665,-1665,-1665,-1665,-1665, 2017,-1665,-1665,-1665,
-    -1665,-1665,-1665,-1665,-1665
-    },
-
-    {
-       27,-1666, 1666, 1666,-1666,-1666,-1666,-1666,-1666,-1666,
-    -1666,-1666, 1667,-1666,-1666,-1666,-1666,-1666,-1666,-1666,
-    -1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,
-    -1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,
-    -1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,
-    -1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,-1666,
-    -1666,-1666,-1666,-1666,-1666
-    },
-
-    {
-       27,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,
-
-    -1667,-1667,-1667,-1667,-1667,-1667, 2018,-1667,-1667,-1667,
-    -1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,
-    -1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,
-    -1667,-1667, 2018,-1667,-1667,-1667,-1667,-1667,-1667,-1667,
-    -1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,-1667,
-    -1667,-1667,-1667,-1667,-1667
-    },
-
-    {
-       27,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,
-    -1668,-1668,-1668,-1668, 2019,-1668,-1668,-1668,-1668,-1668,
-    -1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,
-    -1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,
-
-     2019,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,
-    -1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,-1668,
-    -1668,-1668,-1668,-1668,-1668
-    },
-
-    {
-       27,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,
-    -1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,
-    -1669, 2020,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,
-    -1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,
-    -1669,-1669,-1669,-1669,-1669,-1669,-1669, 2020,-1669,-1669,
-    -1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,-1669,
-    -1669,-1669,-1669,-1669,-1669
-
-    },
-
-    {
-       27,-1670, 2021, 2021,-1670,-1670,-1670,-1670,-1670,-1670,
-    -1670,-1670, 2022,-1670,-1670,-1670,-1670,-1670,-1670,-1670,
-    -1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,
-    -1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,
-    -1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,
-    -1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,-1670,
-    -1670,-1670,-1670,-1670,-1670
-    },
-
-    {
-       27,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,
-    -1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,
-    -1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,
-
-    -1671,-1671,-1671, 2023,-1671,-1671,-1671,-1671,-1671,-1671,
-    -1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671,
-    -1671,-1671,-1671,-1671,-1671,-1671,-1671,-1671, 2023,-1671,
-    -1671,-1671,-1671,-1671,-1671
-    },
-
-    {
-       27,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,
-    -1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,
-    -1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672, 2024,-1672,
-    -1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,
-    -1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,-1672,
-    -1672,-1672,-1672, 2024,-1672,-1672,-1672,-1672,-1672,-1672,
-
-    -1672,-1672,-1672,-1672,-1672
-    },
-
-    {
-       27,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,
-    -1673,-1673,-1673,-1673, 2025,-1673,-1673,-1673,-1673,-1673,
-    -1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,
-    -1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,
-     2025,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,
-    -1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,-1673,
-    -1673,-1673,-1673,-1673,-1673
-    },
-
-    {
-       27,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,
-    -1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,
-
-    -1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,
-    -1674, 2026,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,
-    -1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,-1674,
-    -1674,-1674,-1674,-1674,-1674,-1674, 2026,-1674,-1674,-1674,
-    -1674,-1674,-1674,-1674,-1674
-    },
-
-    {
-       27,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,
-    -1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,
-    -1675,-1675,-1675,-1675,-1675,-1675,-1675, 2027,-1675,-1675,
-    -1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,
-    -1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,-1675,
-
-    -1675,-1675, 2027,-1675,-1675,-1675,-1675,-1675,-1675,-1675,
-    -1675,-1675,-1675,-1675,-1675
-    },
-
-    {
-       27,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,  603,
-    -1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,
-    -1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,
-    -1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,
-    -1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,
-    -1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,-1676,
-    -1676,-1676,-1676,-1676,-1676
-    },
-
-    {
-       27,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,
-
-    -1677,-1677,-1677, 2028,-1677,-1677,-1677,-1677,-1677,-1677,
-    -1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,
-    -1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,
-    -1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,
-    -1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,-1677,
-    -1677,-1677,-1677,-1677,-1677
-    },
-
-    {
-       27,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,
-    -1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,
-    -1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,
-    -1678,-1678, 2029,-1678,-1678,-1678,-1678,-1678,-1678,-1678,
-
-    -1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,-1678,
-    -1678,-1678,-1678,-1678,-1678,-1678,-1678, 2029,-1678,-1678,
-    -1678,-1678,-1678,-1678,-1678
-    },
-
-    {
-       27,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,
-    -1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,
-    -1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679, 2030,-1679,
-    -1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,
-    -1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,-1679,
-    -1679,-1679,-1679, 2030,-1679,-1679,-1679,-1679,-1679,-1679,
-    -1679,-1679,-1679,-1679,-1679
-
-    },
-
-    {
-       27,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,
-    -1680,-1680,-1680,-1680,-1680,-1680, 2031,-1680,-1680,-1680,
-    -1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,
-    -1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,
-    -1680,-1680, 2031,-1680,-1680,-1680,-1680,-1680,-1680,-1680,
-    -1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,-1680,
-    -1680,-1680,-1680,-1680,-1680
-    },
-
-    {
-       27,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,
-    -1681,-1681,-1681,-1681,-1681, 2032,-1681,-1681,-1681,-1681,
-    -1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,
-
-    -1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,
-    -1681, 2032,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,
-    -1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,-1681,
-    -1681,-1681,-1681,-1681,-1681
-    },
-
-    {
-       27,-1682, 2033, 2033,-1682,-1682,-1682,-1682,-1682,-1682,
-    -1682,-1682, 2034,-1682,-1682,-1682,-1682,-1682,-1682,-1682,
-    -1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,
-    -1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,
-    -1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,
-    -1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,-1682,
-
-    -1682,-1682,-1682,-1682,-1682
-    },
-
-    {
-       27,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,
-    -1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,
-    -1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,
-    -1683,-1683,-1683, 2035,-1683,-1683,-1683,-1683,-1683,-1683,
-    -1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683,
-    -1683,-1683,-1683,-1683,-1683,-1683,-1683,-1683, 2035,-1683,
-    -1683,-1683,-1683,-1683,-1683
-    },
-
-    {
-       27,-1684, 2036, 2036,-1684,-1684,-1684,-1684,-1684,-1684,
-    -1684,-1684, 2037,-1684,-1684,-1684,-1684,-1684,-1684,-1684,
-
-    -1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,
-    -1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,
-    -1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,
-    -1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,-1684,
-    -1684,-1684,-1684,-1684,-1684
-    },
-
-    {
-       27,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,
-    -1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,
-    -1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,
-    -1685,-1685,-1685, 2038,-1685,-1685,-1685,-1685,-1685,-1685,
-    -1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685,
-
-    -1685,-1685,-1685,-1685,-1685,-1685,-1685,-1685, 2038,-1685,
-    -1685,-1685,-1685,-1685,-1685
-    },
-
-    {
-       27,-1686, 2039, 2039,-1686,-1686,-1686,-1686,-1686,-1686,
-    -1686,-1686, 2040,-1686,-1686,-1686,-1686,-1686,-1686,-1686,
-    -1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,
-    -1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,
-    -1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,
-    -1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,-1686,
-    -1686,-1686,-1686,-1686,-1686
-    },
-
-    {
-       27,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,
-
-    -1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,
-    -1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,
-    -1687,-1687,-1687, 2041,-1687,-1687,-1687,-1687,-1687,-1687,
-    -1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687,
-    -1687,-1687,-1687,-1687,-1687,-1687,-1687,-1687, 2041,-1687,
-    -1687,-1687,-1687,-1687,-1687
-    },
-
-    {
-       27,-1688, 1688, 1688,-1688,-1688,-1688,-1688,-1688,-1688,
-    -1688,-1688, 1689,-1688,-1688,-1688,-1688,-1688,-1688,-1688,
-    -1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,
-    -1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,
-
-    -1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,
-    -1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,-1688,
-    -1688,-1688,-1688,-1688,-1688
-    },
-
-    {
-       27,-1689,-1689,-1689,-1689,-1689,-1689,-1689,-1689,-1689,
-    -1689,-1689,-1689,-1689,-1689,-1689, 2042,-1689,-1689,-1689,
-    -1689,-1689,-1689,-1689,-1689,-1689,-1689,-1689,-1689, 2043,
-    -1689,-1689,-1689,-1689,-1689,-1689,-1689,-1689,-1689,-1689,
-    -1689,-1689, 2042,-1689,-1689,-1689,-1689,-1689,-1689,-1689,
-    -1689,-1689,-1689,-1689, 2043,-1689,-1689,-1689,-1689,-1689,
-    -1689,-1689,-1689,-1689,-1689
-
-    },
-
-    {
-       27,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,
-    -1690,-1690,-1690,-1690, 2044,-1690,-1690,-1690,-1690,-1690,
-    -1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,
-    -1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,
-     2044,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,
-    -1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,-1690,
-    -1690,-1690,-1690,-1690,-1690
-    },
-
-    {
-       27,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,
-    -1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,
-    -1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,
-
-    -1691,-1691, 2045,-1691,-1691,-1691,-1691,-1691,-1691,-1691,
-    -1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,-1691,
-    -1691,-1691,-1691,-1691,-1691,-1691,-1691, 2045,-1691,-1691,
-    -1691,-1691,-1691,-1691,-1691
-    },
-
-    {
-       27,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,
-    -1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,
-    -1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692, 2046,-1692,
-    -1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,
-    -1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,-1692,
-    -1692,-1692,-1692, 2046,-1692,-1692,-1692,-1692,-1692,-1692,
-
-    -1692,-1692,-1692,-1692,-1692
-    },
-
-    {
-       27,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,
-    -1693,-1693,-1693, 2047,-1693,-1693,-1693,-1693,-1693,-1693,
-    -1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,
-    -1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,
-    -1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,
-    -1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,-1693,
-    -1693,-1693,-1693,-1693,-1693
-    },
-
-    {
-       27,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,
-    -1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,
-
-    -1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,
-    -1694,-1694, 2048,-1694,-1694,-1694,-1694,-1694,-1694,-1694,
-    -1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,-1694,
-    -1694,-1694,-1694,-1694,-1694,-1694,-1694, 2048,-1694,-1694,
-    -1694,-1694,-1694,-1694,-1694
-    },
-
-    {
-       27,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,
-    -1695,-1695,-1695, 2049,-1695,-1695,-1695,-1695,-1695,-1695,
-    -1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,
-    -1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,
-    -1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,
-
-    -1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,-1695,
-    -1695,-1695,-1695,-1695,-1695
-    },
-
-    {
-       27,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,
-    -1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,
-    -1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,
-    -1696,-1696, 2050,-1696,-1696,-1696,-1696,-1696,-1696,-1696,
-    -1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,-1696,
-    -1696,-1696,-1696,-1696,-1696,-1696,-1696, 2050,-1696,-1696,
-    -1696,-1696,-1696,-1696,-1696
-    },
-
-    {
-       27,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,
-
-    -1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,
-    -1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697, 2051,-1697,
-    -1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,
-    -1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,-1697,
-    -1697,-1697,-1697, 2051,-1697,-1697,-1697,-1697,-1697,-1697,
-    -1697,-1697,-1697,-1697,-1697
-    },
-
-    {
-       27,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,
-    -1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,
-    -1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,
-    -1698, 2052,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,
-
-    -1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,-1698,
-    -1698,-1698,-1698,-1698,-1698,-1698, 2052,-1698,-1698,-1698,
-    -1698,-1698,-1698,-1698,-1698
-    },
-
-    {
-       27,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,
-    -1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,
-    -1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,
-    -1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,
-    -1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,
-    -1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,-1699,
-    -1699,-1699,-1699,-1699,-1699
-
-    },
-
-    {
-       27,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,
-    -1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,
-    -1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700, 2053,-1700,
-    -1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,
-    -1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,-1700,
-    -1700,-1700,-1700, 2053,-1700,-1700,-1700,-1700,-1700,-1700,
-    -1700,-1700,-1700,-1700,-1700
-    },
-
-    {
-       27,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,
-    -1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,
-    -1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,
-
-    -1701, 2054,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,
-    -1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,-1701,
-    -1701,-1701,-1701,-1701,-1701,-1701, 2054,-1701,-1701,-1701,
-    -1701,-1701,-1701,-1701,-1701
-    },
-
-    {
-       27,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702, 2055,
-    -1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,
-    -1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,
-    -1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702, 2056,
-    -1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,
-    -1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,-1702,
-
-    -1702,-1702,-1702,-1702,-1702
-    },
-
-    {
-       27,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703, 2057,
-    -1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,
-    -1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,
-    -1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703, 2058,
-    -1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,
-    -1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,-1703,
-    -1703,-1703,-1703,-1703,-1703
-    },
-
-    {
-       27,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,
-    -1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,
-
-    -1704,-1704,-1704,-1704,-1704, 2059,-1704,-1704,-1704,-1704,
-    -1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,
-    -1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,
-     2059,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,-1704,
-    -1704,-1704,-1704,-1704,-1704
-    },
-
-    {
-       27,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,
-    -1705,-1705,-1705,-1705, 2060,-1705,-1705,-1705,-1705,-1705,
-    -1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,
-    -1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,
-     2060,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,
-
-    -1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,-1705,
-    -1705,-1705,-1705,-1705,-1705
-    },
-
-    {
-       27,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,
-    -1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,
-    -1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,
-    -1706, 2061,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,
-    -1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,-1706,
-    -1706,-1706,-1706,-1706,-1706,-1706, 2061,-1706,-1706,-1706,
-    -1706,-1706,-1706,-1706,-1706
-    },
-
-    {
-       27,-1707, 1707, 1707,-1707,-1707,-1707,-1707,-1707,-1707,
-
-    -1707,-1707, 1708,-1707,-1707,-1707,-1707,-1707,-1707,-1707,
-    -1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,
-    -1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,
-    -1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,
-    -1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,-1707,
-    -1707,-1707,-1707,-1707,-1707
-    },
-
-    {
-       27,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,
-    -1708,-1708,-1708,-1708,-1708,-1708, 2062,-1708,-1708,-1708,
-    -1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,
-    -1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,
-
-    -1708,-1708, 2062,-1708,-1708,-1708,-1708,-1708,-1708,-1708,
-    -1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,-1708,
-    -1708,-1708,-1708,-1708,-1708
-    },
-
-    {
-       27,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,
-    -1709,-1709,-1709,-1709, 2063,-1709,-1709,-1709,-1709,-1709,
-    -1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,
-    -1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,
-     2063,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,
-    -1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,-1709,
-    -1709,-1709,-1709,-1709,-1709
-
-    },
-
-    {
-       27,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,
-    -1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,
-    -1710, 2064,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,
-    -1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,
-    -1710,-1710,-1710,-1710,-1710,-1710,-1710, 2064,-1710,-1710,
-    -1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,-1710,
-    -1710,-1710,-1710,-1710,-1710
-    },
-
-    {
-       27,-1711, 2065, 2065,-1711,-1711,-1711,-1711,-1711,-1711,
-    -1711,-1711, 2066,-1711,-1711,-1711,-1711,-1711,-1711,-1711,
-    -1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,
-
-    -1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,
-    -1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,
-    -1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,-1711,
-    -1711,-1711,-1711,-1711,-1711
-    },
-
-    {
-       27,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,
-    -1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,
-    -1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,
-    -1712,-1712,-1712, 2067,-1712,-1712,-1712,-1712,-1712,-1712,
-    -1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712,
-    -1712,-1712,-1712,-1712,-1712,-1712,-1712,-1712, 2067,-1712,
-
-    -1712,-1712,-1712,-1712,-1712
-    },
-
-    {
-       27,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,
-    -1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,
-    -1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713, 2068,-1713,
-    -1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,
-    -1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,-1713,
-    -1713,-1713,-1713, 2068,-1713,-1713,-1713,-1713,-1713,-1713,
-    -1713,-1713,-1713,-1713,-1713
-    },
-
-    {
-       27,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,
-    -1714,-1714,-1714,-1714, 2069,-1714,-1714,-1714,-1714,-1714,
-
-    -1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,
-    -1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,
-     2069,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,
-    -1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,-1714,
-    -1714,-1714,-1714,-1714,-1714
-    },
-
-    {
-       27,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,
-    -1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,
-    -1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,
-    -1715, 2070,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,
-    -1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,-1715,
-
-    -1715,-1715,-1715,-1715,-1715,-1715, 2070,-1715,-1715,-1715,
-    -1715,-1715,-1715,-1715,-1715
-    },
-
-    {
-       27,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,
-    -1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,
-    -1716,-1716,-1716,-1716,-1716,-1716,-1716, 2071,-1716,-1716,
-    -1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,
-    -1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,-1716,
-    -1716,-1716, 2071,-1716,-1716,-1716,-1716,-1716,-1716,-1716,
-    -1716,-1716,-1716,-1716,-1716
-    },
-
-    {
-       27,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,  626,
-
-    -1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,
-    -1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,
-    -1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,
-    -1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,
-    -1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,-1717,
-    -1717,-1717,-1717,-1717,-1717
-    },
-
-    {
-       27,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,
-    -1718,-1718,-1718, 2072,-1718,-1718,-1718,-1718,-1718,-1718,
-    -1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,
-    -1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,
-
-    -1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,
-    -1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,-1718,
-    -1718,-1718,-1718,-1718,-1718
-    },
-
-    {
-       27,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,
-    -1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,
-    -1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,
-    -1719,-1719, 2073,-1719,-1719,-1719,-1719,-1719,-1719,-1719,
-    -1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,-1719,
-    -1719,-1719,-1719,-1719,-1719,-1719,-1719, 2073,-1719,-1719,
-    -1719,-1719,-1719,-1719,-1719
-
-    },
-
-    {
-       27,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,
-    -1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,
-    -1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720, 2074,-1720,
-    -1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,
-    -1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,-1720,
-    -1720,-1720,-1720, 2074,-1720,-1720,-1720,-1720,-1720,-1720,
-    -1720,-1720,-1720,-1720,-1720
-    },
-
-    {
-       27,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,
-    -1721,-1721,-1721,-1721,-1721,-1721, 2075,-1721,-1721,-1721,
-    -1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,
-
-    -1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,
-    -1721,-1721, 2075,-1721,-1721,-1721,-1721,-1721,-1721,-1721,
-    -1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,-1721,
-    -1721,-1721,-1721,-1721,-1721
-    },
-
-    {
-       27,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,
-    -1722,-1722,-1722,-1722,-1722, 2076,-1722,-1722,-1722,-1722,
-    -1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,
-    -1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,
-    -1722, 2076,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,
-    -1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,-1722,
-
-    -1722,-1722,-1722,-1722,-1722
-    },
-
-    {
-       27,-1723, 2077, 2077,-1723,-1723,-1723,-1723,-1723,-1723,
-    -1723,-1723, 2078,-1723,-1723,-1723,-1723,-1723,-1723,-1723,
-    -1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,
-    -1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,
-    -1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,
-    -1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,-1723,
-    -1723,-1723,-1723,-1723,-1723
-    },
-
-    {
-       27,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,
-    -1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,
-
-    -1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,
-    -1724,-1724,-1724, 2079,-1724,-1724,-1724,-1724,-1724,-1724,
-    -1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724,
-    -1724,-1724,-1724,-1724,-1724,-1724,-1724,-1724, 2079,-1724,
-    -1724,-1724,-1724,-1724,-1724
-    },
-
-    {
-       27,-1725, 2080, 2080,-1725,-1725,-1725,-1725,-1725,-1725,
-    -1725,-1725, 2081,-1725,-1725,-1725,-1725,-1725,-1725,-1725,
-    -1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,
-    -1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,
-    -1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,
-
-    -1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,-1725,
-    -1725,-1725,-1725,-1725,-1725
-    },
-
-    {
-       27,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,
-    -1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,
-    -1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,
-    -1726,-1726,-1726, 2082,-1726,-1726,-1726,-1726,-1726,-1726,
-    -1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726,
-    -1726,-1726,-1726,-1726,-1726,-1726,-1726,-1726, 2082,-1726,
-    -1726,-1726,-1726,-1726,-1726
-    },
-
-    {
-       27,-1727, 2083, 2083,-1727,-1727,-1727,-1727,-1727,-1727,
-
-    -1727,-1727, 2084,-1727,-1727,-1727,-1727,-1727,-1727,-1727,
-    -1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,
-    -1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,
-    -1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,
-    -1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,-1727,
-    -1727,-1727,-1727,-1727,-1727
-    },
-
-    {
-       27,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,
-    -1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,
-    -1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,
-    -1728,-1728,-1728, 2085,-1728,-1728,-1728,-1728,-1728,-1728,
-
-    -1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728,
-    -1728,-1728,-1728,-1728,-1728,-1728,-1728,-1728, 2085,-1728,
-    -1728,-1728,-1728,-1728,-1728
-    },
-
-    {
-       27,-1729, 1729, 1729,-1729,-1729,-1729,-1729,-1729,-1729,
-    -1729,-1729, 1730,-1729,-1729,-1729,-1729,-1729,-1729,-1729,
-    -1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,
-    -1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,
-    -1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,
-    -1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,-1729,
-    -1729,-1729,-1729,-1729,-1729
-
-    },
-
-    {
-       27,-1730,-1730,-1730,-1730,-1730,-1730,-1730,-1730,-1730,
-    -1730,-1730,-1730,-1730,-1730,-1730, 2086,-1730,-1730,-1730,
-    -1730,-1730,-1730,-1730,-1730,-1730,-1730,-1730,-1730, 2087,
-    -1730,-1730,-1730,-1730,-1730,-1730,-1730,-1730,-1730,-1730,
-    -1730,-1730, 2086,-1730,-1730,-1730,-1730,-1730,-1730,-1730,
-    -1730,-1730,-1730,-1730, 2087,-1730,-1730,-1730,-1730,-1730,
-    -1730,-1730,-1730,-1730,-1730
-    },
-
-    {
-       27,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,
-    -1731,-1731,-1731,-1731, 2088,-1731,-1731,-1731,-1731,-1731,
-    -1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,
-
-    -1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,
-     2088,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,
-    -1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,-1731,
-    -1731,-1731,-1731,-1731,-1731
-    },
-
-    {
-       27,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,
-    -1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,
-    -1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,
-    -1732,-1732, 2089,-1732,-1732,-1732,-1732,-1732,-1732,-1732,
-    -1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,-1732,
-    -1732,-1732,-1732,-1732,-1732,-1732,-1732, 2089,-1732,-1732,
-
-    -1732,-1732,-1732,-1732,-1732
-    },
-
-    {
-       27,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,
-    -1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,
-    -1733,-1733,-1733,-1733,-1733, 2090,-1733,-1733,-1733,-1733,
-    -1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,
-    -1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,
-     2090,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,-1733,
-    -1733,-1733,-1733,-1733,-1733
-    },
-
-    {
-       27,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,
-    -1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,
-
-    -1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734, 2091,-1734,
-    -1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,
-    -1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,-1734,
-    -1734,-1734,-1734, 2091,-1734,-1734,-1734,-1734,-1734,-1734,
-    -1734,-1734,-1734,-1734,-1734
-    },
-
-    {
-       27,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,
-    -1735,-1735,-1735, 2092,-1735,-1735,-1735,-1735,-1735,-1735,
-    -1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,
-    -1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,
-    -1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,
-
-    -1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,-1735,
-    -1735,-1735,-1735,-1735,-1735
-    },
-
-    {
-       27,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,
-    -1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,
-    -1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,
-    -1736,-1736, 2093,-1736,-1736,-1736,-1736,-1736,-1736,-1736,
-    -1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,-1736,
-    -1736,-1736,-1736,-1736,-1736,-1736,-1736, 2093,-1736,-1736,
-    -1736,-1736,-1736,-1736,-1736
-    },
-
-    {
-       27,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,
-
-    -1737,-1737,-1737, 2094,-1737,-1737,-1737,-1737,-1737,-1737,
-    -1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,
-    -1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,
-    -1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,
-    -1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,-1737,
-    -1737,-1737,-1737,-1737,-1737
-    },
-
-    {
-       27,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,
-    -1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,
-    -1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,
-    -1738,-1738, 2095,-1738,-1738,-1738,-1738,-1738,-1738,-1738,
-
-    -1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,-1738,
-    -1738,-1738,-1738,-1738,-1738,-1738,-1738, 2095,-1738,-1738,
-    -1738,-1738,-1738,-1738,-1738
-    },
-
-    {
-       27,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,
-    -1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,
-    -1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739, 2096,-1739,
-    -1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,
-    -1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,-1739,
-    -1739,-1739,-1739, 2096,-1739,-1739,-1739,-1739,-1739,-1739,
-    -1739,-1739,-1739,-1739,-1739
-
-    },
-
-    {
-       27,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,
-    -1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,
-    -1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,
-    -1740, 2097,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,
-    -1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,-1740,
-    -1740,-1740,-1740,-1740,-1740,-1740, 2097,-1740,-1740,-1740,
-    -1740,-1740,-1740,-1740,-1740
-    },
-
-    {
-       27,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,
-    -1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,
-    -1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,
-
-    -1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,
-    -1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,
-    -1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,-1741,
-    -1741,-1741,-1741,-1741,-1741
-    },
-
-    {
-       27,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,
-    -1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,
-    -1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742, 2098,-1742,
-    -1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,
-    -1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,-1742,
-    -1742,-1742,-1742, 2098,-1742,-1742,-1742,-1742,-1742,-1742,
-
-    -1742,-1742,-1742,-1742,-1742
-    },
-
-    {
-       27,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,
-    -1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,
-    -1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,
-    -1743, 2099,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,
-    -1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,-1743,
-    -1743,-1743,-1743,-1743,-1743,-1743, 2099,-1743,-1743,-1743,
-    -1743,-1743,-1743,-1743,-1743
-    },
-
-    {
-       27,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744, 2100,
-    -1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,
-
-    -1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,
-    -1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744, 2101,
-    -1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,
-    -1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,-1744,
-    -1744,-1744,-1744,-1744,-1744
-    },
-
-    {
-       27,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745, 2102,
-    -1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,
-    -1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,
-    -1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745, 2103,
-    -1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,
-
-    -1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,-1745,
-    -1745,-1745,-1745,-1745,-1745
-    },
-
-    {
-       27,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,
-    -1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,
-    -1746,-1746,-1746,-1746,-1746, 2104,-1746,-1746,-1746,-1746,
-    -1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,
-    -1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,
-     2104,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,-1746,
-    -1746,-1746,-1746,-1746,-1746
-    },
-
-    {
-       27,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,
-
-    -1747,-1747,-1747,-1747, 2105,-1747,-1747,-1747,-1747,-1747,
-    -1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,
-    -1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,
-     2105,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,
-    -1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,-1747,
-    -1747,-1747,-1747,-1747,-1747
-    },
-
-    {
-       27,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,
-    -1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,
-    -1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,
-    -1748, 2106,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,
-
-    -1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,-1748,
-    -1748,-1748,-1748,-1748,-1748,-1748, 2106,-1748,-1748,-1748,
-    -1748,-1748,-1748,-1748,-1748
-    },
-
-    {
-       27,-1749, 1749, 1749,-1749,-1749,-1749,-1749,-1749,-1749,
-    -1749,-1749, 1750,-1749,-1749,-1749,-1749,-1749,-1749,-1749,
-    -1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,
-    -1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,
-    -1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,
-    -1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,-1749,
-    -1749,-1749,-1749,-1749,-1749
-
-    },
-
-    {
-       27,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,
-    -1750,-1750,-1750,-1750,-1750,-1750, 2107,-1750,-1750,-1750,
-    -1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,
-    -1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,
-    -1750,-1750, 2107,-1750,-1750,-1750,-1750,-1750,-1750,-1750,
-    -1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,-1750,
-    -1750,-1750,-1750,-1750,-1750
-    },
-
-    {
-       27,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,
-    -1751,-1751,-1751,-1751, 2108,-1751,-1751,-1751,-1751,-1751,
-    -1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,
-
-    -1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,
-     2108,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,
-    -1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,-1751,
-    -1751,-1751,-1751,-1751,-1751
-    },
-
-    {
-       27,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,
-    -1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,
-    -1752, 2109,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,
-    -1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,
-    -1752,-1752,-1752,-1752,-1752,-1752,-1752, 2109,-1752,-1752,
-    -1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,-1752,
-
-    -1752,-1752,-1752,-1752,-1752
-    },
-
-    {
-       27,-1753, 2110, 2110,-1753,-1753,-1753,-1753,-1753,-1753,
-    -1753,-1753, 2111,-1753,-1753,-1753,-1753,-1753,-1753,-1753,
-    -1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,
-    -1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,
-    -1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,
-    -1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,-1753,
-    -1753,-1753,-1753,-1753,-1753
-    },
-
-    {
-       27,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,
-    -1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,
-
-    -1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,
-    -1754,-1754,-1754, 2112,-1754,-1754,-1754,-1754,-1754,-1754,
-    -1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754,
-    -1754,-1754,-1754,-1754,-1754,-1754,-1754,-1754, 2112,-1754,
-    -1754,-1754,-1754,-1754,-1754
-    },
-
-    {
-       27,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,
-    -1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,
-    -1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755, 2113,-1755,
-    -1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,
-    -1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,-1755,
-
-    -1755,-1755,-1755, 2113,-1755,-1755,-1755,-1755,-1755,-1755,
-    -1755,-1755,-1755,-1755,-1755
-    },
-
-    {
-       27,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,
-    -1756,-1756,-1756,-1756, 2114,-1756,-1756,-1756,-1756,-1756,
-    -1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,
-    -1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,
-     2114,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,
-    -1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,-1756,
-    -1756,-1756,-1756,-1756,-1756
-    },
-
-    {
-       27,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,
-
-    -1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,
-    -1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,
-    -1757, 2115,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,
-    -1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,-1757,
-    -1757,-1757,-1757,-1757,-1757,-1757, 2115,-1757,-1757,-1757,
-    -1757,-1757,-1757,-1757,-1757
-    },
-
-    {
-       27,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,
-    -1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,
-    -1758,-1758,-1758,-1758,-1758,-1758,-1758, 2116,-1758,-1758,
-    -1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,
-
-    -1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,-1758,
-    -1758,-1758, 2116,-1758,-1758,-1758,-1758,-1758,-1758,-1758,
-    -1758,-1758,-1758,-1758,-1758
-    },
-
-    {
-       27,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,  649,
-    -1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,
-    -1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,
-    -1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,
-    -1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,
-    -1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,-1759,
-    -1759,-1759,-1759,-1759,-1759
-
-    },
-
-    {
-       27,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,
-    -1760,-1760,-1760, 2117,-1760,-1760,-1760,-1760,-1760,-1760,
-    -1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,
-    -1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,
-    -1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,
-    -1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,-1760,
-    -1760,-1760,-1760,-1760,-1760
-    },
-
-    {
-       27,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,
-    -1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,
-    -1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,
-
-    -1761,-1761, 2118,-1761,-1761,-1761,-1761,-1761,-1761,-1761,
-    -1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,-1761,
-    -1761,-1761,-1761,-1761,-1761,-1761,-1761, 2118,-1761,-1761,
-    -1761,-1761,-1761,-1761,-1761
-    },
-
-    {
-       27,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,
-    -1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,
-    -1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762, 2119,-1762,
-    -1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,
-    -1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,-1762,
-    -1762,-1762,-1762, 2119,-1762,-1762,-1762,-1762,-1762,-1762,
-
-    -1762,-1762,-1762,-1762,-1762
-    },
-
-    {
-       27,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,
-    -1763,-1763,-1763,-1763,-1763,-1763, 2120,-1763,-1763,-1763,
-    -1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,
-    -1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,
-    -1763,-1763, 2120,-1763,-1763,-1763,-1763,-1763,-1763,-1763,
-    -1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,-1763,
-    -1763,-1763,-1763,-1763,-1763
-    },
-
-    {
-       27,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,
-    -1764,-1764,-1764,-1764,-1764, 2121,-1764,-1764,-1764,-1764,
-
-    -1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,
-    -1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,
-    -1764, 2121,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,
-    -1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,-1764,
-    -1764,-1764,-1764,-1764,-1764
-    },
-
-    {
-       27,-1765, 2122, 2122,-1765,-1765,-1765,-1765,-1765,-1765,
-    -1765,-1765, 2123,-1765,-1765,-1765,-1765,-1765,-1765,-1765,
-    -1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,
-    -1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,
-    -1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,
-
-    -1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,-1765,
-    -1765,-1765,-1765,-1765,-1765
-    },
-
-    {
-       27,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,
-    -1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,
-    -1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,
-    -1766,-1766,-1766, 2124,-1766,-1766,-1766,-1766,-1766,-1766,
-    -1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766,
-    -1766,-1766,-1766,-1766,-1766,-1766,-1766,-1766, 2124,-1766,
-    -1766,-1766,-1766,-1766,-1766
-    },
-
-    {
-       27,-1767, 2125, 2125,-1767,-1767,-1767,-1767,-1767,-1767,
-
-    -1767,-1767, 2126,-1767,-1767,-1767,-1767,-1767,-1767,-1767,
-    -1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,
-    -1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,
-    -1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,
-    -1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,-1767,
-    -1767,-1767,-1767,-1767,-1767
-    },
-
-    {
-       27,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,
-    -1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,
-    -1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,
-    -1768,-1768,-1768, 2127,-1768,-1768,-1768,-1768,-1768,-1768,
-
-    -1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768,
-    -1768,-1768,-1768,-1768,-1768,-1768,-1768,-1768, 2127,-1768,
-    -1768,-1768,-1768,-1768,-1768
-    },
-
-    {
-       27,-1769, 2128, 2128,-1769,-1769,-1769,-1769,-1769,-1769,
-    -1769,-1769, 2129,-1769,-1769,-1769,-1769,-1769,-1769,-1769,
-    -1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,
-    -1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,
-    -1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,
-    -1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,-1769,
-    -1769,-1769,-1769,-1769,-1769
-
-    },
-
-    {
-       27,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,
-    -1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,
-    -1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,
-    -1770,-1770,-1770, 2130,-1770,-1770,-1770,-1770,-1770,-1770,
-    -1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770,
-    -1770,-1770,-1770,-1770,-1770,-1770,-1770,-1770, 2130,-1770,
-    -1770,-1770,-1770,-1770,-1770
-    },
-
-    {
-       27,-1771, 1771, 1771,-1771,-1771,-1771,-1771,-1771,-1771,
-    -1771,-1771, 1772,-1771,-1771,-1771,-1771,-1771,-1771,-1771,
-    -1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,
-
-    -1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,
-    -1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,
-    -1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,-1771,
-    -1771,-1771,-1771,-1771,-1771
-    },
-
-    {
-       27,-1772,-1772,-1772,-1772,-1772,-1772,-1772,-1772,-1772,
-    -1772,-1772,-1772,-1772,-1772,-1772, 2131,-1772,-1772,-1772,
-    -1772,-1772,-1772,-1772,-1772,-1772,-1772,-1772,-1772, 2132,
-    -1772,-1772,-1772,-1772,-1772,-1772,-1772,-1772,-1772,-1772,
-    -1772,-1772, 2131,-1772,-1772,-1772,-1772,-1772,-1772,-1772,
-    -1772,-1772,-1772,-1772, 2132,-1772,-1772,-1772,-1772,-1772,
-
-    -1772,-1772,-1772,-1772,-1772
-    },
-
-    {
-       27,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,
-    -1773,-1773,-1773,-1773, 2133,-1773,-1773,-1773,-1773,-1773,
-    -1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,
-    -1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,
-     2133,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,
-    -1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,-1773,
-    -1773,-1773,-1773,-1773,-1773
-    },
-
-    {
-       27,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,
-    -1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,
-
-    -1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,
-    -1774,-1774, 2134,-1774,-1774,-1774,-1774,-1774,-1774,-1774,
-    -1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,-1774,
-    -1774,-1774,-1774,-1774,-1774,-1774,-1774, 2134,-1774,-1774,
-    -1774,-1774,-1774,-1774,-1774
-    },
-
-    {
-       27,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,
-    -1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,
-    -1775,-1775,-1775,-1775,-1775, 2135,-1775,-1775,-1775,-1775,
-    -1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,
-    -1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,
-
-     2135,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,-1775,
-    -1775,-1775,-1775,-1775,-1775
-    },
-
-    {
-       27,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,
-    -1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,
-    -1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776, 2136,-1776,
-    -1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,
-    -1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,-1776,
-    -1776,-1776,-1776, 2136,-1776,-1776,-1776,-1776,-1776,-1776,
-    -1776,-1776,-1776,-1776,-1776
-    },
-
-    {
-       27,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,
-
-    -1777,-1777,-1777, 2137,-1777,-1777,-1777,-1777,-1777,-1777,
-    -1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,
-    -1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,
-    -1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,
-    -1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,-1777,
-    -1777,-1777,-1777,-1777,-1777
-    },
-
-    {
-       27,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,
-    -1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,
-    -1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,
-    -1778,-1778, 2138,-1778,-1778,-1778,-1778,-1778,-1778,-1778,
-
-    -1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,-1778,
-    -1778,-1778,-1778,-1778,-1778,-1778,-1778, 2138,-1778,-1778,
-    -1778,-1778,-1778,-1778,-1778
-    },
-
-    {
-       27,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,
-    -1779,-1779,-1779, 2139,-1779,-1779,-1779,-1779,-1779,-1779,
-    -1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,
-    -1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,
-    -1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,
-    -1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,-1779,
-    -1779,-1779,-1779,-1779,-1779
-
-    },
-
-    {
-       27,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,
-    -1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,
-    -1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,
-    -1780,-1780, 2140,-1780,-1780,-1780,-1780,-1780,-1780,-1780,
-    -1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,-1780,
-    -1780,-1780,-1780,-1780,-1780,-1780,-1780, 2140,-1780,-1780,
-    -1780,-1780,-1780,-1780,-1780
-    },
-
-    {
-       27,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,
-    -1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,
-    -1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781, 2141,-1781,
-
-    -1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,
-    -1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,-1781,
-    -1781,-1781,-1781, 2141,-1781,-1781,-1781,-1781,-1781,-1781,
-    -1781,-1781,-1781,-1781,-1781
-    },
-
-    {
-       27,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,
-    -1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,
-    -1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,
-    -1782, 2142,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,
-    -1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,-1782,
-    -1782,-1782,-1782,-1782,-1782,-1782, 2142,-1782,-1782,-1782,
-
-    -1782,-1782,-1782,-1782,-1782
-    },
-
-    {
-       27,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,
-    -1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,
-    -1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,
-    -1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,
-    -1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,
-    -1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,-1783,
-    -1783,-1783,-1783,-1783,-1783
-    },
-
-    {
-       27,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,
-    -1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,
-
-    -1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784, 2143,-1784,
-    -1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,
-    -1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,-1784,
-    -1784,-1784,-1784, 2143,-1784,-1784,-1784,-1784,-1784,-1784,
-    -1784,-1784,-1784,-1784,-1784
-    },
-
-    {
-       27,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,
-    -1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,
-    -1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,
-    -1785, 2144,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,
-    -1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,-1785,
-
-    -1785,-1785,-1785,-1785,-1785,-1785, 2144,-1785,-1785,-1785,
-    -1785,-1785,-1785,-1785,-1785
-    },
-
-    {
-       27,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786, 2145,
-    -1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,
-    -1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,
-    -1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786, 2146,
-    -1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,
-    -1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,-1786,
-    -1786,-1786,-1786,-1786,-1786
-    },
-
-    {
-       27,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787, 2147,
-
-    -1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,
-    -1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,
-    -1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787, 2148,
-    -1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,
-    -1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,-1787,
-    -1787,-1787,-1787,-1787,-1787
-    },
-
-    {
-       27,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,
-    -1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,
-    -1788,-1788,-1788,-1788,-1788, 2149,-1788,-1788,-1788,-1788,
-    -1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,
-
-    -1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,
-     2149,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,-1788,
-    -1788,-1788,-1788,-1788,-1788
-    },
-
-    {
-       27,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,
-    -1789,-1789,-1789,-1789, 2150,-1789,-1789,-1789,-1789,-1789,
-    -1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,
-    -1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,
-     2150,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,
-    -1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,-1789,
-    -1789,-1789,-1789,-1789,-1789
-
-    },
-
-    {
-       27,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,
-    -1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,
-    -1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,
-    -1790, 2151,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,
-    -1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,-1790,
-    -1790,-1790,-1790,-1790,-1790,-1790, 2151,-1790,-1790,-1790,
-    -1790,-1790,-1790,-1790,-1790
-    },
-
-    {
-       27,-1791, 1791, 1791,-1791,-1791,-1791,-1791,-1791,-1791,
-    -1791,-1791, 1792,-1791,-1791,-1791,-1791,-1791,-1791,-1791,
-    -1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,
-
-    -1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,
-    -1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,
-    -1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,-1791,
-    -1791,-1791,-1791,-1791,-1791
-    },
-
-    {
-       27,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,
-    -1792,-1792,-1792,-1792,-1792,-1792, 2152,-1792,-1792,-1792,
-    -1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,
-    -1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,
-    -1792,-1792, 2152,-1792,-1792,-1792,-1792,-1792,-1792,-1792,
-    -1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,-1792,
-
-    -1792,-1792,-1792,-1792,-1792
-    },
-
-    {
-       27,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,
-    -1793,-1793,-1793,-1793, 2153,-1793,-1793,-1793,-1793,-1793,
-    -1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,
-    -1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,
-     2153,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,
-    -1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,-1793,
-    -1793,-1793,-1793,-1793,-1793
-    },
-
-    {
-       27,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,
-    -1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,
-
-    -1794, 2154,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,
-    -1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,
-    -1794,-1794,-1794,-1794,-1794,-1794,-1794, 2154,-1794,-1794,
-    -1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,-1794,
-    -1794,-1794,-1794,-1794,-1794
-    },
-
-    {
-       27,-1795, 2155, 2155,-1795,-1795,-1795,-1795,-1795,-1795,
-    -1795,-1795, 2156,-1795,-1795,-1795,-1795,-1795,-1795,-1795,
-    -1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,
-    -1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,
-    -1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,
-
-    -1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,-1795,
-    -1795,-1795,-1795,-1795,-1795
-    },
-
-    {
-       27,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,
-    -1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,
-    -1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,
-    -1796,-1796,-1796, 2157,-1796,-1796,-1796,-1796,-1796,-1796,
-    -1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796,
-    -1796,-1796,-1796,-1796,-1796,-1796,-1796,-1796, 2157,-1796,
-    -1796,-1796,-1796,-1796,-1796
-    },
-
-    {
-       27,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,
-
-    -1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,
-    -1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797, 2158,-1797,
-    -1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,
-    -1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,-1797,
-    -1797,-1797,-1797, 2158,-1797,-1797,-1797,-1797,-1797,-1797,
-    -1797,-1797,-1797,-1797,-1797
-    },
-
-    {
-       27,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,
-    -1798,-1798,-1798,-1798, 2159,-1798,-1798,-1798,-1798,-1798,
-    -1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,
-    -1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,
-
-     2159,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,
-    -1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,-1798,
-    -1798,-1798,-1798,-1798,-1798
-    },
-
-    {
-       27,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,
-    -1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,
-    -1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,
-    -1799, 2160,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,
-    -1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,-1799,
-    -1799,-1799,-1799,-1799,-1799,-1799, 2160,-1799,-1799,-1799,
-    -1799,-1799,-1799,-1799,-1799
-
-    },
-
-    {
-       27,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,
-    -1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,
-    -1800,-1800,-1800,-1800,-1800,-1800,-1800, 2161,-1800,-1800,
-    -1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,
-    -1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,-1800,
-    -1800,-1800, 2161,-1800,-1800,-1800,-1800,-1800,-1800,-1800,
-    -1800,-1800,-1800,-1800,-1800
-    },
-
-    {
-       27,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,  672,
-    -1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,
-    -1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,
-
-    -1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,
-    -1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,
-    -1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,-1801,
-    -1801,-1801,-1801,-1801,-1801
-    },
-
-    {
-       27,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,
-    -1802,-1802,-1802, 2162,-1802,-1802,-1802,-1802,-1802,-1802,
-    -1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,
-    -1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,
-    -1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,
-    -1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,-1802,
-
-    -1802,-1802,-1802,-1802,-1802
-    },
-
-    {
-       27,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,
-    -1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,
-    -1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,
-    -1803,-1803, 2163,-1803,-1803,-1803,-1803,-1803,-1803,-1803,
-    -1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,-1803,
-    -1803,-1803,-1803,-1803,-1803,-1803,-1803, 2163,-1803,-1803,
-    -1803,-1803,-1803,-1803,-1803
-    },
-
-    {
-       27,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,
-    -1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,
-
-    -1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804, 2164,-1804,
-    -1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,
-    -1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,-1804,
-    -1804,-1804,-1804, 2164,-1804,-1804,-1804,-1804,-1804,-1804,
-    -1804,-1804,-1804,-1804,-1804
-    },
-
-    {
-       27,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,
-    -1805,-1805,-1805,-1805,-1805,-1805, 2165,-1805,-1805,-1805,
-    -1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,
-    -1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,
-    -1805,-1805, 2165,-1805,-1805,-1805,-1805,-1805,-1805,-1805,
-
-    -1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,-1805,
-    -1805,-1805,-1805,-1805,-1805
-    },
-
-    {
-       27,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,
-    -1806,-1806,-1806,-1806,-1806, 2166,-1806,-1806,-1806,-1806,
-    -1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,
-    -1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,
-    -1806, 2166,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,
-    -1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,-1806,
-    -1806,-1806,-1806,-1806,-1806
-    },
-
-    {
-       27,-1807, 2167, 2167,-1807,-1807,-1807,-1807,-1807,-1807,
-
-    -1807,-1807, 2168,-1807,-1807,-1807,-1807,-1807,-1807,-1807,
-    -1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,
-    -1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,
-    -1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,
-    -1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,-1807,
-    -1807,-1807,-1807,-1807,-1807
-    },
-
-    {
-       27,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,
-    -1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,
-    -1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,
-    -1808,-1808,-1808, 2169,-1808,-1808,-1808,-1808,-1808,-1808,
-
-    -1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808,
-    -1808,-1808,-1808,-1808,-1808,-1808,-1808,-1808, 2169,-1808,
-    -1808,-1808,-1808,-1808,-1808
-    },
-
-    {
-       27,-1809, 2170, 2170,-1809,-1809,-1809,-1809,-1809,-1809,
-    -1809,-1809, 2171,-1809,-1809,-1809,-1809,-1809,-1809,-1809,
-    -1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,
-    -1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,
-    -1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,
-    -1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,-1809,
-    -1809,-1809,-1809,-1809,-1809
-
-    },
-
-    {
-       27,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,
-    -1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,
-    -1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,
-    -1810,-1810,-1810, 2172,-1810,-1810,-1810,-1810,-1810,-1810,
-    -1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810,
-    -1810,-1810,-1810,-1810,-1810,-1810,-1810,-1810, 2172,-1810,
-    -1810,-1810,-1810,-1810,-1810
-    },
-
-    {
-       27,-1811, 2173, 2173,-1811,-1811,-1811,-1811,-1811,-1811,
-    -1811,-1811, 2174,-1811,-1811,-1811,-1811,-1811,-1811,-1811,
-    -1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,
-
-    -1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,
-    -1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,
-    -1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,-1811,
-    -1811,-1811,-1811,-1811,-1811
-    },
-
-    {
-       27,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,
-    -1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,
-    -1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,
-    -1812,-1812,-1812, 2175,-1812,-1812,-1812,-1812,-1812,-1812,
-    -1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812,
-    -1812,-1812,-1812,-1812,-1812,-1812,-1812,-1812, 2175,-1812,
-
-    -1812,-1812,-1812,-1812,-1812
-    },
-
-    {
-       27,-1813, 1813, 1813,-1813,-1813,-1813,-1813,-1813,-1813,
-    -1813,-1813, 1814,-1813,-1813,-1813,-1813,-1813,-1813,-1813,
-    -1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,
-    -1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,
-    -1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,
-    -1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,-1813,
-    -1813,-1813,-1813,-1813,-1813
-    },
-
-    {
-       27,-1814,-1814,-1814,-1814,-1814,-1814,-1814,-1814,-1814,
-    -1814,-1814,-1814,-1814,-1814,-1814, 2176,-1814,-1814,-1814,
-
-    -1814,-1814,-1814,-1814,-1814,-1814,-1814,-1814,-1814, 2177,
-    -1814,-1814,-1814,-1814,-1814,-1814,-1814,-1814,-1814,-1814,
-    -1814,-1814, 2176,-1814,-1814,-1814,-1814,-1814,-1814,-1814,
-    -1814,-1814,-1814,-1814, 2177,-1814,-1814,-1814,-1814,-1814,
-    -1814,-1814,-1814,-1814,-1814
-    },
-
-    {
-       27,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,
-    -1815,-1815,-1815,-1815, 2178,-1815,-1815,-1815,-1815,-1815,
-    -1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,
-    -1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,
-     2178,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,
-
-    -1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,-1815,
-    -1815,-1815,-1815,-1815,-1815
-    },
-
-    {
-       27,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,
-    -1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,
-    -1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,
-    -1816,-1816, 2179,-1816,-1816,-1816,-1816,-1816,-1816,-1816,
-    -1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,-1816,
-    -1816,-1816,-1816,-1816,-1816,-1816,-1816, 2179,-1816,-1816,
-    -1816,-1816,-1816,-1816,-1816
-    },
-
-    {
-       27,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,
-
-    -1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,
-    -1817,-1817,-1817,-1817,-1817,-1817,-1817, 2180,-1817,-1817,
-    -1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,
-    -1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,-1817,
-    -1817,-1817, 2180,-1817,-1817,-1817,-1817,-1817,-1817,-1817,
-    -1817,-1817,-1817,-1817,-1817
-    },
-
-    {
-       27,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,
-    -1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,
-    -1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818, 2181,-1818,
-    -1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,
-
-    -1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,-1818,
-    -1818,-1818,-1818, 2181,-1818,-1818,-1818,-1818,-1818,-1818,
-    -1818,-1818,-1818,-1818,-1818
-    },
-
-    {
-       27,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,
-    -1819,-1819,-1819, 2182,-1819,-1819,-1819,-1819,-1819,-1819,
-    -1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,
-    -1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,
-    -1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,
-    -1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,-1819,
-    -1819,-1819,-1819,-1819,-1819
-
-    },
-
-    {
-       27,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,
-    -1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,
-    -1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,
-    -1820,-1820, 2183,-1820,-1820,-1820,-1820,-1820,-1820,-1820,
-    -1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,-1820,
-    -1820,-1820,-1820,-1820,-1820,-1820,-1820, 2183,-1820,-1820,
-    -1820,-1820,-1820,-1820,-1820
-    },
-
-    {
-       27,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,
-    -1821,-1821,-1821, 2184,-1821,-1821,-1821,-1821,-1821,-1821,
-    -1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,
-
-    -1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,
-    -1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,
-    -1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,-1821,
-    -1821,-1821,-1821,-1821,-1821
-    },
-
-    {
-       27,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,
-    -1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,
-    -1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,
-    -1822,-1822, 2185,-1822,-1822,-1822,-1822,-1822,-1822,-1822,
-    -1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,-1822,
-    -1822,-1822,-1822,-1822,-1822,-1822,-1822, 2185,-1822,-1822,
-
-    -1822,-1822,-1822,-1822,-1822
-    },
-
-    {
-       27,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,
-    -1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,
-    -1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823, 2186,-1823,
-    -1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,
-    -1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,-1823,
-    -1823,-1823,-1823, 2186,-1823,-1823,-1823,-1823,-1823,-1823,
-    -1823,-1823,-1823,-1823,-1823
-    },
-
-    {
-       27,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,
-    -1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,
-
-    -1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,
-    -1824, 2187,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,
-    -1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,-1824,
-    -1824,-1824,-1824,-1824,-1824,-1824, 2187,-1824,-1824,-1824,
-    -1824,-1824,-1824,-1824,-1824
-    },
-
-    {
-       27,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,
-    -1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,
-    -1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,
-    -1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,
-    -1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,
-
-    -1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,-1825,
-    -1825,-1825,-1825,-1825,-1825
-    },
-
-    {
-       27,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,
-    -1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,
-    -1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826, 2188,-1826,
-    -1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,
-    -1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,-1826,
-    -1826,-1826,-1826, 2188,-1826,-1826,-1826,-1826,-1826,-1826,
-    -1826,-1826,-1826,-1826,-1826
-    },
-
-    {
-       27,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,
-
-    -1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,
-    -1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,
-    -1827, 2189,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,
-    -1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,-1827,
-    -1827,-1827,-1827,-1827,-1827,-1827, 2189,-1827,-1827,-1827,
-    -1827,-1827,-1827,-1827,-1827
-    },
-
-    {
-       27,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828, 2190,
-    -1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,
-    -1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,
-    -1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828, 2191,
-
-    -1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,
-    -1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,-1828,
-    -1828,-1828,-1828,-1828,-1828
-    },
-
-    {
-       27,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829, 2192,
-    -1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,
-    -1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,
-    -1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829, 2193,
-    -1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,
-    -1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,-1829,
-    -1829,-1829,-1829,-1829,-1829
-
-    },
-
-    {
-       27,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,
-    -1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,
-    -1830,-1830,-1830,-1830,-1830, 2194,-1830,-1830,-1830,-1830,
-    -1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,
-    -1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,
-     2194,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,-1830,
-    -1830,-1830,-1830,-1830,-1830
-    },
-
-    {
-       27,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,
-    -1831,-1831,-1831,-1831, 2195,-1831,-1831,-1831,-1831,-1831,
-    -1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,
-
-    -1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,
-     2195,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,
-    -1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,-1831,
-    -1831,-1831,-1831,-1831,-1831
-    },
-
-    {
-       27,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,
-    -1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,
-    -1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,
-    -1832, 2196,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,
-    -1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,-1832,
-    -1832,-1832,-1832,-1832,-1832,-1832, 2196,-1832,-1832,-1832,
-
-    -1832,-1832,-1832,-1832,-1832
-    },
-
-    {
-       27,-1833, 1833, 1833,-1833,-1833,-1833,-1833,-1833,-1833,
-    -1833,-1833, 1834,-1833,-1833,-1833,-1833,-1833,-1833,-1833,
-    -1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,
-    -1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,
-    -1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,
-    -1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,-1833,
-    -1833,-1833,-1833,-1833,-1833
-    },
-
-    {
-       27,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,
-    -1834,-1834,-1834,-1834,-1834,-1834, 2197,-1834,-1834,-1834,
-
-    -1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,
-    -1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,
-    -1834,-1834, 2197,-1834,-1834,-1834,-1834,-1834,-1834,-1834,
-    -1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,-1834,
-    -1834,-1834,-1834,-1834,-1834
-    },
-
-    {
-       27,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,
-    -1835,-1835,-1835,-1835, 2198,-1835,-1835,-1835,-1835,-1835,
-    -1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,
-    -1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,
-     2198,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,
-
-    -1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,-1835,
-    -1835,-1835,-1835,-1835,-1835
-    },
-
-    {
-       27,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,
-    -1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,
-    -1836, 2199,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,
-    -1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,
-    -1836,-1836,-1836,-1836,-1836,-1836,-1836, 2199,-1836,-1836,
-    -1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,-1836,
-    -1836,-1836,-1836,-1836,-1836
-    },
-
-    {
-       27,-1837, 2200, 2200,-1837,-1837,-1837,-1837,-1837,-1837,
-
-    -1837,-1837, 2201,-1837,-1837,-1837,-1837,-1837,-1837,-1837,
-    -1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,
-    -1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,
-    -1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,
-    -1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,-1837,
-    -1837,-1837,-1837,-1837,-1837
-    },
-
-    {
-       27,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,
-    -1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,
-    -1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,
-    -1838,-1838,-1838, 2202,-1838,-1838,-1838,-1838,-1838,-1838,
-
-    -1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838,
-    -1838,-1838,-1838,-1838,-1838,-1838,-1838,-1838, 2202,-1838,
-    -1838,-1838,-1838,-1838,-1838
-    },
-
-    {
-       27,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,
-    -1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,
-    -1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839, 2203,-1839,
-    -1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,
-    -1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,-1839,
-    -1839,-1839,-1839, 2203,-1839,-1839,-1839,-1839,-1839,-1839,
-    -1839,-1839,-1839,-1839,-1839
-
-    },
-
-    {
-       27,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,
-    -1840,-1840,-1840,-1840, 2204,-1840,-1840,-1840,-1840,-1840,
-    -1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,
-    -1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,
-     2204,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,
-    -1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,-1840,
-    -1840,-1840,-1840,-1840,-1840
-    },
-
-    {
-       27,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,
-    -1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,
-    -1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,
-
-    -1841, 2205,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,
-    -1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,-1841,
-    -1841,-1841,-1841,-1841,-1841,-1841, 2205,-1841,-1841,-1841,
-    -1841,-1841,-1841,-1841,-1841
-    },
-
-    {
-       27,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,
-    -1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,
-    -1842,-1842,-1842,-1842,-1842,-1842,-1842, 2206,-1842,-1842,
-    -1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,
-    -1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,-1842,
-    -1842,-1842, 2206,-1842,-1842,-1842,-1842,-1842,-1842,-1842,
-
-    -1842,-1842,-1842,-1842,-1842
-    },
-
-    {
-       27,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,  695,
-    -1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,
-    -1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,
-    -1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,
-    -1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,
-    -1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,-1843,
-    -1843,-1843,-1843,-1843,-1843
-    },
-
-    {
-       27,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,
-    -1844,-1844,-1844, 2207,-1844,-1844,-1844,-1844,-1844,-1844,
-
-    -1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,
-    -1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,
-    -1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,
-    -1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,-1844,
-    -1844,-1844,-1844,-1844,-1844
-    },
-
-    {
-       27,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,
-    -1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,
-    -1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,
-    -1845,-1845, 2208,-1845,-1845,-1845,-1845,-1845,-1845,-1845,
-    -1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,-1845,
-
-    -1845,-1845,-1845,-1845,-1845,-1845,-1845, 2208,-1845,-1845,
-    -1845,-1845,-1845,-1845,-1845
-    },
-
-    {
-       27,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,
-    -1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,
-    -1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846, 2209,-1846,
-    -1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,
-    -1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,-1846,
-    -1846,-1846,-1846, 2209,-1846,-1846,-1846,-1846,-1846,-1846,
-    -1846,-1846,-1846,-1846,-1846
-    },
-
-    {
-       27,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,
-
-    -1847,-1847,-1847,-1847,-1847,-1847, 2210,-1847,-1847,-1847,
-    -1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,
-    -1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,
-    -1847,-1847, 2210,-1847,-1847,-1847,-1847,-1847,-1847,-1847,
-    -1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,-1847,
-    -1847,-1847,-1847,-1847,-1847
-    },
-
-    {
-       27,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,
-    -1848,-1848,-1848,-1848,-1848, 2211,-1848,-1848,-1848,-1848,
-    -1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,
-    -1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,
-
-    -1848, 2211,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,
-    -1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,-1848,
-    -1848,-1848,-1848,-1848,-1848
-    },
-
-    {
-       27,-1849, 2212, 2212,-1849,-1849,-1849,-1849,-1849,-1849,
-    -1849,-1849, 2213,-1849,-1849,-1849,-1849,-1849,-1849,-1849,
-    -1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,
-    -1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,
-    -1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,
-    -1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,-1849,
-    -1849,-1849,-1849,-1849,-1849
-
-    },
-
-    {
-       27,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,
-    -1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,
-    -1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,
-    -1850,-1850,-1850, 2214,-1850,-1850,-1850,-1850,-1850,-1850,
-    -1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850,
-    -1850,-1850,-1850,-1850,-1850,-1850,-1850,-1850, 2214,-1850,
-    -1850,-1850,-1850,-1850,-1850
-    },
-
-    {
-       27,-1851, 2215, 2215,-1851,-1851,-1851,-1851,-1851,-1851,
-    -1851,-1851, 2216,-1851,-1851,-1851,-1851,-1851,-1851,-1851,
-    -1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,
-
-    -1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,
-    -1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,
-    -1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,-1851,
-    -1851,-1851,-1851,-1851,-1851
-    },
-
-    {
-       27,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,
-    -1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,
-    -1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,
-    -1852,-1852,-1852, 2217,-1852,-1852,-1852,-1852,-1852,-1852,
-    -1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852,
-    -1852,-1852,-1852,-1852,-1852,-1852,-1852,-1852, 2217,-1852,
-
-    -1852,-1852,-1852,-1852,-1852
-    },
-
-    {
-       27,-1853, 2218, 2218,-1853,-1853,-1853,-1853,-1853,-1853,
-    -1853,-1853, 2219,-1853,-1853,-1853,-1853,-1853,-1853,-1853,
-    -1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,
-    -1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,
-    -1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,
-    -1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,-1853,
-    -1853,-1853,-1853,-1853,-1853
-    },
-
-    {
-       27,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,
-    -1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,
-
-    -1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,
-    -1854,-1854,-1854, 2220,-1854,-1854,-1854,-1854,-1854,-1854,
-    -1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854,
-    -1854,-1854,-1854,-1854,-1854,-1854,-1854,-1854, 2220,-1854,
-    -1854,-1854,-1854,-1854,-1854
-    },
-
-    {
-       27,-1855, 1855, 1855,-1855,-1855,-1855,-1855,-1855,-1855,
-    -1855,-1855, 1856,-1855,-1855,-1855,-1855,-1855,-1855,-1855,
-    -1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,
-    -1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,
-    -1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,
-
-    -1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,-1855,
-    -1855,-1855,-1855,-1855,-1855
-    },
-
-    {
-       27,-1856,-1856,-1856,-1856,-1856,-1856,-1856,-1856,-1856,
-    -1856,-1856,-1856,-1856,-1856,-1856, 2221,-1856,-1856,-1856,
-    -1856,-1856,-1856,-1856,-1856,-1856,-1856,-1856,-1856, 2222,
-    -1856,-1856,-1856,-1856,-1856,-1856,-1856,-1856,-1856,-1856,
-    -1856,-1856, 2221,-1856,-1856,-1856,-1856,-1856,-1856,-1856,
-    -1856,-1856,-1856,-1856, 2222,-1856,-1856,-1856,-1856,-1856,
-    -1856,-1856,-1856,-1856,-1856
-    },
-
-    {
-       27,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,
-
-    -1857,-1857,-1857,-1857, 2223,-1857,-1857,-1857,-1857,-1857,
-    -1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,
-    -1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,
-     2223,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,
-    -1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,-1857,
-    -1857,-1857,-1857,-1857,-1857
-    },
-
-    {
-       27,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,
-    -1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,
-    -1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,
-    -1858,-1858, 2224,-1858,-1858,-1858,-1858,-1858,-1858,-1858,
-
-    -1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,-1858,
-    -1858,-1858,-1858,-1858,-1858,-1858,-1858, 2224,-1858,-1858,
-    -1858,-1858,-1858,-1858,-1858
-    },
-
-    {
-       27,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,
-    -1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,
-    -1859,-1859, 2225,-1859,-1859,-1859,-1859,-1859,-1859,-1859,
-    -1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,
-    -1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859, 2225,-1859,
-    -1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,-1859,
-    -1859,-1859,-1859,-1859,-1859
-
-    },
-
-    {
-       27,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,
-    -1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,
-    -1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860, 2226,-1860,
-    -1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,
-    -1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,-1860,
-    -1860,-1860,-1860, 2226,-1860,-1860,-1860,-1860,-1860,-1860,
-    -1860,-1860,-1860,-1860,-1860
-    },
-
-    {
-       27,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,
-    -1861,-1861,-1861, 2227,-1861,-1861,-1861,-1861,-1861,-1861,
-    -1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,
-
-    -1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,
-    -1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,
-    -1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,-1861,
-    -1861,-1861,-1861,-1861,-1861
-    },
-
-    {
-       27,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,
-    -1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,
-    -1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,
-    -1862,-1862, 2228,-1862,-1862,-1862,-1862,-1862,-1862,-1862,
-    -1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,-1862,
-    -1862,-1862,-1862,-1862,-1862,-1862,-1862, 2228,-1862,-1862,
-
-    -1862,-1862,-1862,-1862,-1862
-    },
-
-    {
-       27,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,
-    -1863,-1863,-1863, 2229,-1863,-1863,-1863,-1863,-1863,-1863,
-    -1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,
-    -1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,
-    -1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,
-    -1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,-1863,
-    -1863,-1863,-1863,-1863,-1863
-    },
-
-    {
-       27,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,
-    -1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,
-
-    -1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,
-    -1864,-1864, 2230,-1864,-1864,-1864,-1864,-1864,-1864,-1864,
-    -1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,-1864,
-    -1864,-1864,-1864,-1864,-1864,-1864,-1864, 2230,-1864,-1864,
-    -1864,-1864,-1864,-1864,-1864
-    },
-
-    {
-       27,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,
-    -1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,
-    -1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865, 2231,-1865,
-    -1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,
-    -1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,-1865,
-
-    -1865,-1865,-1865, 2231,-1865,-1865,-1865,-1865,-1865,-1865,
-    -1865,-1865,-1865,-1865,-1865
-    },
-
-    {
-       27,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,
-    -1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,
-    -1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,
-    -1866, 2232,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,
-    -1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,-1866,
-    -1866,-1866,-1866,-1866,-1866,-1866, 2232,-1866,-1866,-1866,
-    -1866,-1866,-1866,-1866,-1866
-    },
-
-    {
-       27,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,
-
-    -1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,
-    -1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,
-    -1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,
-    -1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,
-    -1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,-1867,
-    -1867,-1867,-1867,-1867,-1867
-    },
-
-    {
-       27,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,
-    -1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,
-    -1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868, 2233,-1868,
-    -1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,
-
-    -1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,-1868,
-    -1868,-1868,-1868, 2233,-1868,-1868,-1868,-1868,-1868,-1868,
-    -1868,-1868,-1868,-1868,-1868
-    },
-
-    {
-       27,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,
-    -1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,
-    -1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,
-    -1869, 2234,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,
-    -1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,-1869,
-    -1869,-1869,-1869,-1869,-1869,-1869, 2234,-1869,-1869,-1869,
-    -1869,-1869,-1869,-1869,-1869
-
-    },
-
-    {
-       27,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870, 2235,
-    -1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,
-    -1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,
-    -1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870, 2236,
-    -1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,
-    -1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,-1870,
-    -1870,-1870,-1870,-1870,-1870
-    },
-
-    {
-       27,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871, 2237,
-    -1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,
-    -1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,
-
-    -1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871, 2238,
-    -1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,
-    -1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,-1871,
-    -1871,-1871,-1871,-1871,-1871
-    },
-
-    {
-       27,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,
-    -1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,
-    -1872,-1872,-1872,-1872,-1872, 2239,-1872,-1872,-1872,-1872,
-    -1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,
-    -1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,
-     2239,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,-1872,
-
-    -1872,-1872,-1872,-1872,-1872
-    },
-
-    {
-       27,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,
-    -1873,-1873,-1873,-1873, 2240,-1873,-1873,-1873,-1873,-1873,
-    -1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,
-    -1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,
-     2240,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,
-    -1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,-1873,
-    -1873,-1873,-1873,-1873,-1873
-    },
-
-    {
-       27,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,
-    -1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,
-
-    -1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,
-    -1874, 2241,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,
-    -1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,-1874,
-    -1874,-1874,-1874,-1874,-1874,-1874, 2241,-1874,-1874,-1874,
-    -1874,-1874,-1874,-1874,-1874
-    },
-
-    {
-       27,-1875, 1875, 1875,-1875,-1875,-1875,-1875,-1875,-1875,
-    -1875,-1875, 1876,-1875,-1875,-1875,-1875,-1875,-1875,-1875,
-    -1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,
-    -1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,
-    -1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,
-
-    -1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,-1875,
-    -1875,-1875,-1875,-1875,-1875
-    },
-
-    {
-       27,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,
-    -1876,-1876,-1876,-1876,-1876,-1876, 2242,-1876,-1876,-1876,
-    -1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,
-    -1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,
-    -1876,-1876, 2242,-1876,-1876,-1876,-1876,-1876,-1876,-1876,
-    -1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,-1876,
-    -1876,-1876,-1876,-1876,-1876
-    },
-
-    {
-       27,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,
-
-    -1877,-1877,-1877,-1877, 2243,-1877,-1877,-1877,-1877,-1877,
-    -1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,
-    -1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,
-     2243,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,
-    -1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,-1877,
-    -1877,-1877,-1877,-1877,-1877
-    },
-
-    {
-       27,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,
-    -1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,
-    -1878, 2244,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,
-    -1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,
-
-    -1878,-1878,-1878,-1878,-1878,-1878,-1878, 2244,-1878,-1878,
-    -1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,-1878,
-    -1878,-1878,-1878,-1878,-1878
-    },
-
-    {
-       27,-1879, 2245, 2245,-1879,-1879,-1879,-1879,-1879,-1879,
-    -1879,-1879, 2246,-1879,-1879,-1879,-1879,-1879,-1879,-1879,
-    -1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,
-    -1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,
-    -1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,
-    -1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,-1879,
-    -1879,-1879,-1879,-1879,-1879
-
-    },
-
-    {
-       27,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,
-    -1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,
-    -1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,
-    -1880,-1880,-1880, 2247,-1880,-1880,-1880,-1880,-1880,-1880,
-    -1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880,
-    -1880,-1880,-1880,-1880,-1880,-1880,-1880,-1880, 2247,-1880,
-    -1880,-1880,-1880,-1880,-1880
-    },
-
-    {
-       27,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,
-    -1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,
-    -1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881, 2248,-1881,
-
-    -1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,
-    -1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,-1881,
-    -1881,-1881,-1881, 2248,-1881,-1881,-1881,-1881,-1881,-1881,
-    -1881,-1881,-1881,-1881,-1881
-    },
-
-    {
-       27,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,
-    -1882,-1882,-1882,-1882, 2249,-1882,-1882,-1882,-1882,-1882,
-    -1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,
-    -1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,
-     2249,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,
-    -1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,-1882,
-
-    -1882,-1882,-1882,-1882,-1882
-    },
-
-    {
-       27,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,
-    -1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,
-    -1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,
-    -1883, 2250,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,
-    -1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,-1883,
-    -1883,-1883,-1883,-1883,-1883,-1883, 2250,-1883,-1883,-1883,
-    -1883,-1883,-1883,-1883,-1883
-    },
-
-    {
-       27,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,
-    -1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,
-
-    -1884,-1884,-1884,-1884,-1884,-1884,-1884, 2251,-1884,-1884,
-    -1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,
-    -1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,-1884,
-    -1884,-1884, 2251,-1884,-1884,-1884,-1884,-1884,-1884,-1884,
-    -1884,-1884,-1884,-1884,-1884
-    },
-
-    {
-       27,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,  718,
-    -1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,
-    -1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,
-    -1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,
-    -1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,
-
-    -1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,-1885,
-    -1885,-1885,-1885,-1885,-1885
-    },
-
-    {
-       27,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,
-    -1886,-1886,-1886, 2252,-1886,-1886,-1886,-1886,-1886,-1886,
-    -1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,
-    -1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,
-    -1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,
-    -1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,-1886,
-    -1886,-1886,-1886,-1886,-1886
-    },
-
-    {
-       27,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,
-
-    -1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,
-    -1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,
-    -1887,-1887, 2253,-1887,-1887,-1887,-1887,-1887,-1887,-1887,
-    -1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,-1887,
-    -1887,-1887,-1887,-1887,-1887,-1887,-1887, 2253,-1887,-1887,
-    -1887,-1887,-1887,-1887,-1887
-    },
-
-    {
-       27,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,
-    -1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,
-    -1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888, 2254,-1888,
-    -1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,
-
-    -1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,-1888,
-    -1888,-1888,-1888, 2254,-1888,-1888,-1888,-1888,-1888,-1888,
-    -1888,-1888,-1888,-1888,-1888
-    },
-
-    {
-       27,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,
-    -1889,-1889,-1889,-1889,-1889,-1889, 2255,-1889,-1889,-1889,
-    -1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,
-    -1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,
-    -1889,-1889, 2255,-1889,-1889,-1889,-1889,-1889,-1889,-1889,
-    -1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,-1889,
-    -1889,-1889,-1889,-1889,-1889
-
-    },
-
-    {
-       27,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,
-    -1890,-1890,-1890,-1890,-1890, 2256,-1890,-1890,-1890,-1890,
-    -1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,
-    -1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,
-    -1890, 2256,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,
-    -1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,-1890,
-    -1890,-1890,-1890,-1890,-1890
-    },
-
-    {
-       27,-1891, 2257, 2257,-1891,-1891,-1891,-1891,-1891,-1891,
-    -1891,-1891, 2258,-1891,-1891,-1891,-1891,-1891,-1891,-1891,
-    -1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,
-
-    -1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,
-    -1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,
-    -1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,-1891,
-    -1891,-1891,-1891,-1891,-1891
-    },
-
-    {
-       27,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,
-    -1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,
-    -1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,
-    -1892,-1892,-1892, 2259,-1892,-1892,-1892,-1892,-1892,-1892,
-    -1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892,
-    -1892,-1892,-1892,-1892,-1892,-1892,-1892,-1892, 2259,-1892,
-
-    -1892,-1892,-1892,-1892,-1892
-    },
-
-    {
-       27,-1893, 2260, 2260,-1893,-1893,-1893,-1893,-1893,-1893,
-    -1893,-1893, 2261,-1893,-1893,-1893,-1893,-1893,-1893,-1893,
-    -1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,
-    -1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,
-    -1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,
-    -1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,-1893,
-    -1893,-1893,-1893,-1893,-1893
-    },
-
-    {
-       27,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,
-    -1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,
-
-    -1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,
-    -1894,-1894,-1894, 2262,-1894,-1894,-1894,-1894,-1894,-1894,
-    -1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894,
-    -1894,-1894,-1894,-1894,-1894,-1894,-1894,-1894, 2262,-1894,
-    -1894,-1894,-1894,-1894,-1894
-    },
-
-    {
-       27,-1895, 2263, 2263,-1895,-1895,-1895,-1895,-1895,-1895,
-    -1895,-1895, 2264,-1895,-1895,-1895,-1895,-1895,-1895,-1895,
-    -1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,
-    -1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,
-    -1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,
-
-    -1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,-1895,
-    -1895,-1895,-1895,-1895,-1895
-    },
-
-    {
-       27,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,
-    -1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,
-    -1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,
-    -1896,-1896,-1896, 2265,-1896,-1896,-1896,-1896,-1896,-1896,
-    -1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896,
-    -1896,-1896,-1896,-1896,-1896,-1896,-1896,-1896, 2265,-1896,
-    -1896,-1896,-1896,-1896,-1896
-    },
-
-    {
-       27,-1897, 1897, 1897,-1897,-1897,-1897,-1897,-1897,-1897,
-
-    -1897,-1897, 1898,-1897,-1897,-1897,-1897,-1897,-1897,-1897,
-    -1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,
-    -1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,
-    -1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,
-    -1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,-1897,
-    -1897,-1897,-1897,-1897,-1897
-    },
-
-    {
-       27,-1898,-1898,-1898,-1898,-1898,-1898,-1898,-1898,-1898,
-    -1898,-1898,-1898,-1898,-1898,-1898, 2266,-1898,-1898,-1898,
-    -1898,-1898,-1898,-1898,-1898,-1898,-1898,-1898,-1898, 2267,
-    -1898,-1898,-1898,-1898,-1898,-1898,-1898,-1898,-1898,-1898,
-
-    -1898,-1898, 2266,-1898,-1898,-1898,-1898,-1898,-1898,-1898,
-    -1898,-1898,-1898,-1898, 2267,-1898,-1898,-1898,-1898,-1898,
-    -1898,-1898,-1898,-1898,-1898
-    },
-
-    {
-       27,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,
-    -1899,-1899,-1899,-1899, 2268,-1899,-1899,-1899,-1899,-1899,
-    -1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,
-    -1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,
-     2268,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,
-    -1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,-1899,
-    -1899,-1899,-1899,-1899,-1899
-
-    },
-
-    {
-       27,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,
-    -1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,
-    -1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,
-    -1900,-1900, 2269,-1900,-1900,-1900,-1900,-1900,-1900,-1900,
-    -1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,-1900,
-    -1900,-1900,-1900,-1900,-1900,-1900,-1900, 2269,-1900,-1900,
-    -1900,-1900,-1900,-1900,-1900
-    },
-
-    {
-       27,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,
-    -1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,
-    -1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,
-
-    -1901,-1901,-1901,-1901,-1901,-1901,-1901, 2270,-1901,-1901,
-    -1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,
-    -1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,-1901,
-    -1901,-1901, 2270,-1901,-1901
-    },
-
-    {
-       27,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,
-    -1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,
-    -1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902, 2271,-1902,
-    -1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,
-    -1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,-1902,
-    -1902,-1902,-1902, 2271,-1902,-1902,-1902,-1902,-1902,-1902,
-
-    -1902,-1902,-1902,-1902,-1902
-    },
-
-    {
-       27,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,
-    -1903,-1903,-1903, 2272,-1903,-1903,-1903,-1903,-1903,-1903,
-    -1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,
-    -1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,
-    -1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,
-    -1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,-1903,
-    -1903,-1903,-1903,-1903,-1903
-    },
-
-    {
-       27,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,
-    -1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,
-
-    -1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,
-    -1904,-1904, 2273,-1904,-1904,-1904,-1904,-1904,-1904,-1904,
-    -1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,-1904,
-    -1904,-1904,-1904,-1904,-1904,-1904,-1904, 2273,-1904,-1904,
-    -1904,-1904,-1904,-1904,-1904
-    },
-
-    {
-       27,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,
-    -1905,-1905,-1905, 2274,-1905,-1905,-1905,-1905,-1905,-1905,
-    -1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,
-    -1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,
-    -1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,
-
-    -1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,-1905,
-    -1905,-1905,-1905,-1905,-1905
-    },
-
-    {
-       27,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,
-    -1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,
-    -1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,
-    -1906,-1906, 2275,-1906,-1906,-1906,-1906,-1906,-1906,-1906,
-    -1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,-1906,
-    -1906,-1906,-1906,-1906,-1906,-1906,-1906, 2275,-1906,-1906,
-    -1906,-1906,-1906,-1906,-1906
-    },
-
-    {
-       27,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,
-
-    -1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,
-    -1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907, 2276,-1907,
-    -1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,
-    -1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,-1907,
-    -1907,-1907,-1907, 2276,-1907,-1907,-1907,-1907,-1907,-1907,
-    -1907,-1907,-1907,-1907,-1907
-    },
-
-    {
-       27,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,
-    -1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,
-    -1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,
-    -1908, 2277,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,
-
-    -1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,-1908,
-    -1908,-1908,-1908,-1908,-1908,-1908, 2277,-1908,-1908,-1908,
-    -1908,-1908,-1908,-1908,-1908
-    },
-
-    {
-       27,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,
-    -1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,
-    -1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,
-    -1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,
-    -1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,
-    -1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,-1909,
-    -1909,-1909,-1909,-1909,-1909
-
-    },
-
-    {
-       27,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,
-    -1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,
-    -1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910, 2278,-1910,
-    -1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,
-    -1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,-1910,
-    -1910,-1910,-1910, 2278,-1910,-1910,-1910,-1910,-1910,-1910,
-    -1910,-1910,-1910,-1910,-1910
-    },
-
-    {
-       27,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,
-    -1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,
-    -1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,
-
-    -1911, 2279,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,
-    -1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,-1911,
-    -1911,-1911,-1911,-1911,-1911,-1911, 2279,-1911,-1911,-1911,
-    -1911,-1911,-1911,-1911,-1911
-    },
-
-    {
-       27,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912, 2280,
-    -1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,
-    -1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,
-    -1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912, 2281,
-    -1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,
-    -1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,-1912,
-
-    -1912,-1912,-1912,-1912,-1912
-    },
-
-    {
-       27,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913, 2282,
-    -1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,
-    -1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,
-    -1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913, 2283,
-    -1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,
-    -1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,-1913,
-    -1913,-1913,-1913,-1913,-1913
-    },
-
-    {
-       27,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,
-    -1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,
-
-    -1914,-1914,-1914,-1914,-1914, 2284,-1914,-1914,-1914,-1914,
-    -1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,
-    -1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,
-     2284,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,-1914,
-    -1914,-1914,-1914,-1914,-1914
-    },
-
-    {
-       27,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,
-    -1915,-1915,-1915,-1915, 2285,-1915,-1915,-1915,-1915,-1915,
-    -1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,
-    -1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,
-     2285,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,
-
-    -1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,-1915,
-    -1915,-1915,-1915,-1915,-1915
-    },
-
-    {
-       27,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,
-    -1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,
-    -1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,
-    -1916, 2286,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,
-    -1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,-1916,
-    -1916,-1916,-1916,-1916,-1916,-1916, 2286,-1916,-1916,-1916,
-    -1916,-1916,-1916,-1916,-1916
-    },
-
-    {
-       27,-1917, 1917, 1917,-1917,-1917,-1917,-1917,-1917,-1917,
-
-    -1917,-1917, 1918,-1917,-1917,-1917,-1917,-1917,-1917,-1917,
-    -1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,
-    -1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,
-    -1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,
-    -1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,-1917,
-    -1917,-1917,-1917,-1917,-1917
-    },
-
-    {
-       27,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,
-    -1918,-1918,-1918,-1918,-1918,-1918, 2287,-1918,-1918,-1918,
-    -1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,
-    -1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,
-
-    -1918,-1918, 2287,-1918,-1918,-1918,-1918,-1918,-1918,-1918,
-    -1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,-1918,
-    -1918,-1918,-1918,-1918,-1918
-    },
-
-    {
-       27,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,
-    -1919,-1919,-1919,-1919, 2288,-1919,-1919,-1919,-1919,-1919,
-    -1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,
-    -1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,
-     2288,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,
-    -1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,-1919,
-    -1919,-1919,-1919,-1919,-1919
-
-    },
-
-    {
-       27,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,
-    -1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,
-    -1920, 2289,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,
-    -1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,
-    -1920,-1920,-1920,-1920,-1920,-1920,-1920, 2289,-1920,-1920,
-    -1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,-1920,
-    -1920,-1920,-1920,-1920,-1920
-    },
-
-    {
-       27,-1921, 2290, 2290,-1921,-1921,-1921,-1921,-1921,-1921,
-    -1921,-1921, 2291,-1921,-1921,-1921,-1921,-1921,-1921,-1921,
-    -1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,
-
-    -1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,
-    -1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,
-    -1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,-1921,
-    -1921,-1921,-1921,-1921,-1921
-    },
-
-    {
-       27,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,
-    -1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,
-    -1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,
-    -1922,-1922,-1922, 2292,-1922,-1922,-1922,-1922,-1922,-1922,
-    -1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922,
-    -1922,-1922,-1922,-1922,-1922,-1922,-1922,-1922, 2292,-1922,
-
-    -1922,-1922,-1922,-1922,-1922
-    },
-
-    {
-       27,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,
-    -1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,
-    -1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923, 2293,-1923,
-    -1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,
-    -1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,-1923,
-    -1923,-1923,-1923, 2293,-1923,-1923,-1923,-1923,-1923,-1923,
-    -1923,-1923,-1923,-1923,-1923
-    },
-
-    {
-       27,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,
-    -1924,-1924,-1924,-1924, 2294,-1924,-1924,-1924,-1924,-1924,
-
-    -1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,
-    -1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,
-     2294,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,
-    -1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,-1924,
-    -1924,-1924,-1924,-1924,-1924
-    },
-
-    {
-       27,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,
-    -1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,
-    -1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,
-    -1925, 2295,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,
-    -1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,-1925,
-
-    -1925,-1925,-1925,-1925,-1925,-1925, 2295,-1925,-1925,-1925,
-    -1925,-1925,-1925,-1925,-1925
-    },
-
-    {
-       27,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,
-    -1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,
-    -1926,-1926,-1926,-1926,-1926,-1926,-1926, 2296,-1926,-1926,
-    -1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,
-    -1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,-1926,
-    -1926,-1926, 2296,-1926,-1926,-1926,-1926,-1926,-1926,-1926,
-    -1926,-1926,-1926,-1926,-1926
-    },
-
-    {
-       27,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,  741,
-
-    -1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,
-    -1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,
-    -1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,
-    -1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,
-    -1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,-1927,
-    -1927,-1927,-1927,-1927,-1927
-    },
-
-    {
-       27,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,
-    -1928,-1928,-1928, 2297,-1928,-1928,-1928,-1928,-1928,-1928,
-    -1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,
-    -1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,
-
-    -1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,
-    -1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,-1928,
-    -1928,-1928,-1928,-1928,-1928
-    },
-
-    {
-       27,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,
-    -1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,
-    -1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,
-    -1929,-1929, 2298,-1929,-1929,-1929,-1929,-1929,-1929,-1929,
-    -1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,-1929,
-    -1929,-1929,-1929,-1929,-1929,-1929,-1929, 2298,-1929,-1929,
-    -1929,-1929,-1929,-1929,-1929
-
-    },
-
-    {
-       27,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,
-    -1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,
-    -1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930, 2299,-1930,
-    -1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,
-    -1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,-1930,
-    -1930,-1930,-1930, 2299,-1930,-1930,-1930,-1930,-1930,-1930,
-    -1930,-1930,-1930,-1930,-1930
-    },
-
-    {
-       27,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,
-    -1931,-1931,-1931,-1931,-1931,-1931, 2300,-1931,-1931,-1931,
-    -1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,
-
-    -1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,
-    -1931,-1931, 2300,-1931,-1931,-1931,-1931,-1931,-1931,-1931,
-    -1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,-1931,
-    -1931,-1931,-1931,-1931,-1931
-    },
-
-    {
-       27,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,
-    -1932,-1932,-1932,-1932,-1932, 2301,-1932,-1932,-1932,-1932,
-    -1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,
-    -1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,
-    -1932, 2301,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,
-    -1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,-1932,
-
-    -1932,-1932,-1932,-1932,-1932
-    },
-
-    {
-       27,-1933, 2302, 2302,-1933,-1933,-1933,-1933,-1933,-1933,
-    -1933,-1933, 2303,-1933,-1933,-1933,-1933,-1933,-1933,-1933,
-    -1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,
-    -1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,
-    -1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,
-    -1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,-1933,
-    -1933,-1933,-1933,-1933,-1933
-    },
-
-    {
-       27,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,
-    -1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,
-
-    -1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,
-    -1934,-1934,-1934, 2304,-1934,-1934,-1934,-1934,-1934,-1934,
-    -1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934,
-    -1934,-1934,-1934,-1934,-1934,-1934,-1934,-1934, 2304,-1934,
-    -1934,-1934,-1934,-1934,-1934
-    },
-
-    {
-       27,-1935, 2305, 2305,-1935,-1935,-1935,-1935,-1935,-1935,
-    -1935,-1935, 2306,-1935,-1935,-1935,-1935,-1935,-1935,-1935,
-    -1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,
-    -1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,
-    -1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,
-
-    -1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,-1935,
-    -1935,-1935,-1935,-1935,-1935
-    },
-
-    {
-       27,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,
-    -1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,
-    -1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,
-    -1936,-1936,-1936, 2307,-1936,-1936,-1936,-1936,-1936,-1936,
-    -1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936,
-    -1936,-1936,-1936,-1936,-1936,-1936,-1936,-1936, 2307,-1936,
-    -1936,-1936,-1936,-1936,-1936
-    },
-
-    {
-       27,-1937, 2308, 2308,-1937,-1937,-1937,-1937,-1937,-1937,
-
-    -1937,-1937, 2309,-1937,-1937,-1937,-1937,-1937,-1937,-1937,
-    -1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,
-    -1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,
-    -1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,
-    -1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,-1937,
-    -1937,-1937,-1937,-1937,-1937
-    },
-
-    {
-       27,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,
-    -1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,
-    -1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,
-    -1938,-1938,-1938, 2310,-1938,-1938,-1938,-1938,-1938,-1938,
-
-    -1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938,
-    -1938,-1938,-1938,-1938,-1938,-1938,-1938,-1938, 2310,-1938,
-    -1938,-1938,-1938,-1938,-1938
-    },
-
-    {
-       27,-1939, 1939, 1939,-1939,-1939,-1939,-1939,-1939,-1939,
-    -1939,-1939, 1940,-1939,-1939,-1939,-1939,-1939,-1939,-1939,
-    -1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,
-    -1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,
-    -1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,
-    -1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,-1939,
-    -1939,-1939,-1939,-1939,-1939
-
-    },
-
-    {
-       27,-1940,-1940,-1940,-1940,-1940,-1940,-1940,-1940,-1940,
-    -1940,-1940,-1940,-1940,-1940,-1940, 2311,-1940,-1940,-1940,
-    -1940,-1940,-1940,-1940,-1940,-1940,-1940,-1940,-1940, 2312,
-    -1940,-1940,-1940,-1940,-1940,-1940,-1940,-1940,-1940,-1940,
-    -1940,-1940, 2311,-1940,-1940,-1940,-1940,-1940,-1940,-1940,
-    -1940,-1940,-1940,-1940, 2312,-1940,-1940,-1940,-1940,-1940,
-    -1940,-1940,-1940,-1940,-1940
-    },
-
-    {
-       27,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,
-    -1941,-1941,-1941,-1941, 2313,-1941,-1941,-1941,-1941,-1941,
-    -1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,
-
-    -1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,
-     2313,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,
-    -1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,-1941,
-    -1941,-1941,-1941,-1941,-1941
-    },
-
-    {
-       27,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,
-    -1942,  178,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,
-    -1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,
-    -1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,
-    -1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,
-    -1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,-1942,
-
-    -1942,-1942,-1942,-1942,-1942
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366, 2314,  366,
-      366,  366,  366, 2315,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,
-    -1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,
-
-    -1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,
-    -1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,
-    -1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,
-    -1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,-1944,
-    -1944,-1944,-1944,-1944,-1944
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366, 2316,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366, 2316,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,
-    -1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,
-    -1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946, 2317,-1946,
-    -1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,
-    -1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,-1946,
-    -1946,-1946,-1946, 2317,-1946,-1946,-1946,-1946,-1946,-1946,
-    -1946,-1946,-1946,-1946,-1946
-    },
-
-    {
-       27,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,
-
-    -1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,
-    -1947,-1947,-1947,-1947,-1947,-1947,-1947, 2318,-1947,-1947,
-    -1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,
-    -1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,-1947,
-    -1947,-1947, 2318,-1947,-1947,-1947,-1947,-1947,-1947,-1947,
-    -1947,-1947,-1947,-1947,-1947
-    },
-
-    {
-       27,-1948, 2319, 2319,-1948,-1948,-1948,-1948,-1948,-1948,
-    -1948,-1948, 2320,-1948,-1948,-1948,-1948,-1948,-1948,-1948,
-    -1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,
-    -1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,
-
-    -1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,
-    -1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,-1948,
-    -1948,-1948,-1948,-1948,-1948
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2321,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2321,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-1950, 2322, 2322,-1950,-1950,-1950,-1950,-1950,-1950,
-    -1950,-1950, 2323,-1950,-1950,-1950,-1950,-1950,-1950,-1950,
-    -1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,
-    -1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,
-    -1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,
-    -1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,-1950,
-    -1950,-1950,-1950,-1950,-1950
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 2324,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2324,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,
-    -1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,
-    -1952,-1952,-1952,-1952,-1952,-1952,-1952, 2325,-1952,-1952,
-    -1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,
-    -1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,-1952,
-    -1952,-1952, 2325,-1952,-1952,-1952,-1952,-1952,-1952,-1952,
-
-    -1952,-1952,-1952,-1952,-1952
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  757,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1954, 2326, 2326,-1954,-1954,-1954,-1954,-1954,-1954,
-    -1954,-1954, 2327,-1954,-1954,-1954,-1954,-1954,-1954,-1954,
-
-    -1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,
-    -1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,
-    -1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,
-    -1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,-1954,
-    -1954,-1954,-1954,-1954,-1954
-    },
-
-    {
-       27,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,
-    -1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,
-    -1955,-1955,-1955,-1955,-1955,-1955,-1955, 2328,-1955,-1955,
-    -1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,
-    -1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,-1955,
-
-    -1955,-1955, 2328,-1955,-1955,-1955,-1955,-1955,-1955,-1955,
-    -1955,-1955,-1955,-1955,-1955
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  761,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,
-
-    -1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,
-    -1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,
-    -1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,
-    -1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,
-    -1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,-1957,
-    -1957,-1957,-1957,-1957,-1957
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 2329,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 2329,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,
-    -1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,
-    -1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,
-    -1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,
-    -1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,
-    -1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,-1959,
-    -1959,-1959,-1959,-1959,-1959
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 2330,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 2330,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2331,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 2332,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 2332,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2333,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 2334,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 2334,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184, 2335,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 2335,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,
-    -1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,
-    -1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,
-    -1966, 2336,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,
-    -1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,-1966,
-    -1966,-1966,-1966,-1966,-1966,-1966, 2336,-1966,-1966,-1966,
-    -1966,-1966,-1966,-1966,-1966
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2337,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2337,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 2338,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 2339,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2339,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,
-    -1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,
-    -1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970, 2340,-1970,
-    -1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,
-    -1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,-1970,
-    -1970,-1970,-1970, 2340,-1970,-1970,-1970,-1970,-1970,-1970,
-    -1970,-1970,-1970,-1970,-1970
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184, 2341,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2341,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 2342,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 2343,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1973, 1973, 1973,-1973,-1973,-1973,-1973,-1973,-1973,
-    -1973,-1973, 1974,-1973,-1973,-1973,-1973,-1973,-1973,-1973,
-    -1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,
-    -1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,
-    -1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,
-    -1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,-1973,
-    -1973,-1973,-1973,-1973,-1973
-    },
-
-    {
-       27,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,
-    -1974,-1974,-1974,-1974,-1974,-1974, 2344,-1974,-1974,-1974,
-
-    -1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,
-    -1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,
-    -1974,-1974, 2344,-1974,-1974,-1974,-1974,-1974,-1974,-1974,
-    -1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,-1974,
-    -1974,-1974,-1974,-1974,-1974
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 2345,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2345,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,
-    -1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,
-    -1976,-1976,-1976,-1976,-1976,-1976,-1976, 2346,-1976,-1976,
-    -1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,
-    -1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,-1976,
-    -1976,-1976, 2346,-1976,-1976,-1976,-1976,-1976,-1976,-1976,
-    -1976,-1976,-1976,-1976,-1976
-    },
-
-    {
-       27,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,
-
-    -1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,
-    -1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,
-    -1977, 2347,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,
-    -1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,-1977,
-    -1977,-1977,-1977,-1977,-1977,-1977, 2347,-1977,-1977,-1977,
-    -1977,-1977,-1977,-1977,-1977
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  775,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,
-    -1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,
-    -1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,
-    -1979,-1979,-1979, 2348,-1979,-1979,-1979,-1979,-1979,-1979,
-    -1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979,
-    -1979,-1979,-1979,-1979,-1979,-1979,-1979,-1979, 2348,-1979,
-    -1979,-1979,-1979,-1979,-1979
-
-    },
-
-    {
-       27,-1980, 2349, 2349,-1980,-1980,-1980,-1980,-1980,-1980,
-    -1980,-1980, 2350,-1980,-1980,-1980,-1980,-1980,-1980,-1980,
-    -1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,
-    -1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,
-    -1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,
-    -1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,-1980,
-    -1980,-1980,-1980,-1980,-1980
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 2351,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2351,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 2352,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 2352,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2353,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2353,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 2354,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 2354,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1985, 1985, 1985,-1985,-1985,-1985,-1985,-1985,-1985,
-    -1985,-1985, 1986,-1985,-1985,-1985,-1985,-1985,-1985,-1985,
-    -1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,
-    -1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,
-    -1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,
-
-    -1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,-1985,
-    -1985,-1985,-1985,-1985,-1985
-    },
-
-    {
-       27,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,
-    -1986,-1986,-1986,-1986,-1986,-1986, 2355,-1986,-1986,-1986,
-    -1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,
-    -1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,
-    -1986,-1986, 2355,-1986,-1986,-1986,-1986,-1986,-1986,-1986,
-    -1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,-1986,
-    -1986,-1986,-1986,-1986,-1986
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185, 2356,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2356,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1988, 1988, 1988,-1988,-1988,-1988,-1988,-1988,-1988,
-    -1988,-1988, 1989,-1988,-1988,-1988,-1988,-1988,-1988,-1988,
-    -1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,
-    -1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,
-
-    -1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,
-    -1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,-1988,
-    -1988,-1988,-1988,-1988,-1988
-    },
-
-    {
-       27,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,
-    -1989,-1989,-1989,-1989,-1989,-1989, 2357,-1989,-1989,-1989,
-    -1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,
-    -1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,
-    -1989,-1989, 2357,-1989,-1989,-1989,-1989,-1989,-1989,-1989,
-    -1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,-1989,
-    -1989,-1989,-1989,-1989,-1989
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 2358,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2358,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1991, 1991, 1991,-1991,-1991,-1991,-1991,-1991,-1991,
-    -1991,-1991, 1992,-1991,-1991,-1991,-1991,-1991,-1991,-1991,
-    -1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,
-
-    -1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,
-    -1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,
-    -1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,-1991,
-    -1991,-1991,-1991,-1991,-1991
-    },
-
-    {
-       27,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,
-    -1992,-1992,-1992,-1992,-1992,-1992, 2359,-1992,-1992,-1992,
-    -1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,
-    -1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,
-    -1992,-1992, 2359,-1992,-1992,-1992,-1992,-1992,-1992,-1992,
-    -1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,-1992,
-
-    -1992,-1992,-1992,-1992,-1992
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 2360,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2360,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-     2361,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2361,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,
-    -1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,
-    -1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995, 2362,-1995,
-    -1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,
-    -1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,-1995,
-
-    -1995,-1995,-1995, 2362,-1995,-1995,-1995,-1995,-1995,-1995,
-    -1995,-1995,-1995,-1995,-1995
-    },
-
-    {
-       27,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,
-    -1996,-1996,-1996,-1996, 2363,-1996,-1996,-1996,-1996,-1996,
-    -1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,
-    -1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,
-     2363,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,
-    -1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,-1996,
-    -1996,-1996,-1996,-1996,-1996
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 2364,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2364,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,
-    -1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,
-    -1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,
-    -1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,
-
-    -1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,
-    -1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,-1998,
-    -1998,-1998,-1998,-1998,-1998
-    },
-
-    {
-       27,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,
-    -1999,-1999,-1999, 2365,-1999,-1999,-1999,-1999,-1999,-1999,
-    -1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,
-    -1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,
-    -1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,
-    -1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,-1999,
-    -1999,-1999,-1999,-1999,-1999
-
-    },
-
-    {
-       27,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,
-    -2000,-2000,-2000, 2366,-2000,-2000,-2000,-2000,-2000,-2000,
-    -2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,
-    -2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,
-    -2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,
-    -2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,-2000,
-    -2000,-2000,-2000,-2000,-2000
-    },
-
-    {
-       27,-2001,-2001,-2001,-2001,-2001,-2001,-2001, 2367,-2001,
-    -2001,-2001,-2001, 2368,-2001,-2001,-2001,-2001,-2001,-2001,
-    -2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,
-
-    -2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,
-    -2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,
-    -2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,-2001,
-    -2001,-2001,-2001,-2001,-2001
-    },
-
-    {
-       27,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,
-    -2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,
-    -2002,-2002,-2002,-2002,-2002,-2002,-2002, 2369,-2002,-2002,
-    -2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,
-    -2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,-2002,
-    -2002,-2002, 2369,-2002,-2002,-2002,-2002,-2002,-2002,-2002,
-
-    -2002,-2002,-2002,-2002,-2002
-    },
-
-    {
-       27,-2003, 2370, 2370,-2003,-2003,-2003,-2003,-2003,-2003,
-    -2003,-2003, 2371,-2003,-2003,-2003,-2003,-2003,-2003,-2003,
-    -2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,
-    -2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,
-    -2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,
-    -2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,-2003,
-    -2003,-2003,-2003,-2003,-2003
-    },
-
-    {
-       27,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,
-    -2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,
-
-    -2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,
-    -2004,-2004,-2004, 2372,-2004,-2004,-2004,-2004,-2004,-2004,
-    -2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004,
-    -2004,-2004,-2004,-2004,-2004,-2004,-2004,-2004, 2372,-2004,
-    -2004,-2004,-2004,-2004,-2004
-    },
-
-    {
-       27,-2005, 2373, 2373,-2005,-2005,-2005,-2005,-2005,-2005,
-    -2005,-2005, 2374,-2005,-2005,-2005,-2005,-2005,-2005,-2005,
-    -2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,
-    -2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,
-    -2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,
-
-    -2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,-2005,
-    -2005,-2005,-2005,-2005,-2005
-    },
-
-    {
-       27,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,
-    -2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,
-    -2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,
-    -2006,-2006,-2006, 2375,-2006,-2006,-2006,-2006,-2006,-2006,
-    -2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006,
-    -2006,-2006,-2006,-2006,-2006,-2006,-2006,-2006, 2375,-2006,
-    -2006,-2006,-2006,-2006,-2006
-    },
-
-    {
-       27,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,
-
-    -2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,
-    -2007,-2007,-2007,-2007,-2007,-2007,-2007, 2376,-2007,-2007,
-    -2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,
-    -2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,-2007,
-    -2007,-2007, 2376,-2007,-2007,-2007,-2007,-2007,-2007,-2007,
-    -2007,-2007,-2007,-2007,-2007
-    },
-
-    {
-       27,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,  800,
-    -2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,
-    -2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,
-    -2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,
-
-    -2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,
-    -2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,-2008,
-    -2008,-2008,-2008,-2008,-2008
-    },
-
-    {
-       27,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,
-    -2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,
-    -2009,-2009,-2009,-2009,-2009,-2009,-2009, 2377,-2009,-2009,
-    -2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,
-    -2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,-2009,
-    -2009,-2009, 2377,-2009,-2009,-2009,-2009,-2009,-2009,-2009,
-    -2009,-2009,-2009,-2009,-2009
-
-    },
-
-    {
-       27,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,  803,
-    -2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,
-    -2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,
-    -2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,
-    -2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,
-    -2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,-2010,
-    -2010,-2010,-2010,-2010,-2010
-    },
-
-    {
-       27,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,
-    -2011,-2011,-2011, 2378,-2011,-2011,-2011,-2011,-2011,-2011,
-    -2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,
-
-    -2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,
-    -2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,
-    -2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,-2011,
-    -2011,-2011,-2011,-2011,-2011
-    },
-
-    {
-       27,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,
-    -2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,
-    -2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,
-    -2012,-2012, 2379,-2012,-2012,-2012,-2012,-2012,-2012,-2012,
-    -2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,-2012,
-    -2012,-2012,-2012,-2012,-2012,-2012,-2012, 2379,-2012,-2012,
-
-    -2012,-2012,-2012,-2012,-2012
-    },
-
-    {
-       27,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,
-    -2013,-2013,-2013, 2380,-2013,-2013,-2013,-2013,-2013,-2013,
-    -2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,
-    -2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,
-    -2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,
-    -2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,-2013,
-    -2013,-2013,-2013,-2013,-2013
-    },
-
-    {
-       27,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,
-    -2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,
-
-    -2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,
-    -2014,-2014, 2381,-2014,-2014,-2014,-2014,-2014,-2014,-2014,
-    -2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,-2014,
-    -2014,-2014,-2014,-2014,-2014,-2014,-2014, 2381,-2014,-2014,
-    -2014,-2014,-2014,-2014,-2014
-    },
-
-    {
-       27,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,
-    -2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015, 2382,-2015,
-    -2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,
-    -2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,
-    -2015,-2015,-2015,-2015, 2382,-2015,-2015,-2015,-2015,-2015,
-
-    -2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,-2015,
-    -2015,-2015,-2015,-2015,-2015
-    },
-
-    {
-       27,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,
-    -2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,
-    -2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,
-    -2016, 2383,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,
-    -2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,-2016,
-    -2016,-2016,-2016,-2016,-2016,-2016, 2383,-2016,-2016,-2016,
-    -2016,-2016,-2016,-2016,-2016
-    },
-
-    {
-       27,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,  807,
-
-    -2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,
-    -2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,
-    -2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,
-    -2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,
-    -2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,-2017,
-    -2017,-2017,-2017,-2017,-2017
-    },
-
-    {
-       27,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,
-    -2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,
-    -2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018, 2384,-2018,
-    -2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,
-
-    -2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,-2018,
-    -2018,-2018,-2018, 2384,-2018,-2018,-2018,-2018,-2018,-2018,
-    -2018,-2018,-2018,-2018,-2018
-    },
-
-    {
-       27,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,
-    -2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,
-    -2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,
-    -2019, 2385,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,
-    -2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,-2019,
-    -2019,-2019,-2019,-2019,-2019,-2019, 2385,-2019,-2019,-2019,
-    -2019,-2019,-2019,-2019,-2019
-
-    },
-
-    {
-       27,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020, 2386,
-    -2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,
-    -2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,
-    -2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020, 2387,
-    -2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,
-    -2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,-2020,
-    -2020,-2020,-2020,-2020,-2020
-    },
-
-    {
-       27,-2021, 2021, 2021,-2021,-2021,-2021,-2021,-2021,-2021,
-    -2021,-2021, 2022,-2021,-2021,-2021,-2021,-2021,-2021,-2021,
-    -2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,
-
-    -2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,
-    -2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,
-    -2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,-2021,
-    -2021,-2021,-2021,-2021,-2021
-    },
-
-    {
-       27,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,
-    -2022,-2022,-2022,-2022,-2022,-2022, 2388,-2022,-2022,-2022,
-    -2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,
-    -2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,
-    -2022,-2022, 2388,-2022,-2022,-2022,-2022,-2022,-2022,-2022,
-    -2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,-2022,
-
-    -2022,-2022,-2022,-2022,-2022
-    },
-
-    {
-       27,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,
-    -2023,-2023,-2023,-2023, 2389,-2023,-2023,-2023,-2023,-2023,
-    -2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,
-    -2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,
-     2389,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,
-    -2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,-2023,
-    -2023,-2023,-2023,-2023,-2023
-    },
-
-    {
-       27,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,
-    -2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,
-
-    -2024,-2024,-2024,-2024,-2024,-2024,-2024, 2390,-2024,-2024,
-    -2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,
-    -2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,-2024,
-    -2024,-2024, 2390,-2024,-2024,-2024,-2024,-2024,-2024,-2024,
-    -2024,-2024,-2024,-2024,-2024
-    },
-
-    {
-       27,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,
-    -2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,
-    -2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,
-    -2025, 2391,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,
-    -2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,-2025,
-
-    -2025,-2025,-2025,-2025,-2025,-2025, 2391,-2025,-2025,-2025,
-    -2025,-2025,-2025,-2025,-2025
-    },
-
-    {
-       27,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,  812,
-    -2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,
-    -2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,
-    -2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,
-    -2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,
-    -2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,-2026,
-    -2026,-2026,-2026,-2026,-2026
-    },
-
-    {
-       27,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,
-
-    -2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,
-    -2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,
-    -2027,-2027,-2027, 2392,-2027,-2027,-2027,-2027,-2027,-2027,
-    -2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027,
-    -2027,-2027,-2027,-2027,-2027,-2027,-2027,-2027, 2392,-2027,
-    -2027,-2027,-2027,-2027,-2027
-    },
-
-    {
-       27,-2028, 2393, 2393,-2028,-2028,-2028,-2028,-2028,-2028,
-    -2028,-2028, 2394,-2028,-2028,-2028,-2028,-2028,-2028,-2028,
-    -2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,
-    -2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,
-
-    -2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,
-    -2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,-2028,
-    -2028,-2028,-2028,-2028,-2028
-    },
-
-    {
-       27,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,
-    -2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,
-    -2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,
-    -2029,-2029,-2029, 2395,-2029,-2029,-2029,-2029,-2029,-2029,
-    -2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029,
-    -2029,-2029,-2029,-2029,-2029,-2029,-2029,-2029, 2395,-2029,
-    -2029,-2029,-2029,-2029,-2029
-
-    },
-
-    {
-       27,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,
-    -2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,
-    -2030,-2030,-2030,-2030,-2030,-2030,-2030, 2396,-2030,-2030,
-    -2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,
-    -2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,-2030,
-    -2030,-2030, 2396,-2030,-2030,-2030,-2030,-2030,-2030,-2030,
-    -2030,-2030,-2030,-2030,-2030
-    },
-
-    {
-       27,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,
-    -2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,
-    -2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,
-
-    -2031,-2031,-2031, 2397,-2031,-2031,-2031,-2031,-2031,-2031,
-    -2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031,
-    -2031,-2031,-2031,-2031,-2031,-2031,-2031,-2031, 2397,-2031,
-    -2031,-2031,-2031,-2031,-2031
-    },
-
-    {
-       27,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,
-    -2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,
-    -2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,
-    -2032,-2032, 2398,-2032,-2032,-2032,-2032,-2032,-2032,-2032,
-    -2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,-2032,
-    -2032,-2032,-2032,-2032,-2032,-2032,-2032, 2398,-2032,-2032,
-
-    -2032,-2032,-2032,-2032,-2032
-    },
-
-    {
-       27,-2033, 2033, 2033,-2033,-2033,-2033,-2033,-2033,-2033,
-    -2033,-2033, 2034,-2033,-2033,-2033,-2033,-2033,-2033,-2033,
-    -2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,
-    -2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,
-    -2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,
-    -2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,-2033,
-    -2033,-2033,-2033,-2033,-2033
-    },
-
-    {
-       27,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,
-    -2034,-2034,-2034,-2034,-2034,-2034, 2399,-2034,-2034,-2034,
-
-    -2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,
-    -2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,
-    -2034,-2034, 2399,-2034,-2034,-2034,-2034,-2034,-2034,-2034,
-    -2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,-2034,
-    -2034,-2034,-2034,-2034,-2034
-    },
-
-    {
-       27,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,
-    -2035,-2035,-2035,-2035, 2400,-2035,-2035,-2035,-2035,-2035,
-    -2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,
-    -2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,
-     2400,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,
-
-    -2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,-2035,
-    -2035,-2035,-2035,-2035,-2035
-    },
-
-    {
-       27,-2036, 2036, 2036,-2036,-2036,-2036,-2036,-2036,-2036,
-    -2036,-2036, 2037,-2036,-2036,-2036,-2036,-2036,-2036,-2036,
-    -2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,
-    -2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,
-    -2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,
-    -2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,-2036,
-    -2036,-2036,-2036,-2036,-2036
-    },
-
-    {
-       27,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,
-
-    -2037,-2037,-2037,-2037,-2037,-2037, 2401,-2037,-2037,-2037,
-    -2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,
-    -2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,
-    -2037,-2037, 2401,-2037,-2037,-2037,-2037,-2037,-2037,-2037,
-    -2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,-2037,
-    -2037,-2037,-2037,-2037,-2037
-    },
-
-    {
-       27,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,
-    -2038,-2038,-2038,-2038, 2402,-2038,-2038,-2038,-2038,-2038,
-    -2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,
-    -2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,
-
-     2402,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,
-    -2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,-2038,
-    -2038,-2038,-2038,-2038,-2038
-    },
-
-    {
-       27,-2039, 2039, 2039,-2039,-2039,-2039,-2039,-2039,-2039,
-    -2039,-2039, 2040,-2039,-2039,-2039,-2039,-2039,-2039,-2039,
-    -2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,
-    -2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,
-    -2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,
-    -2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,-2039,
-    -2039,-2039,-2039,-2039,-2039
-
-    },
-
-    {
-       27,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,
-    -2040,-2040,-2040,-2040,-2040,-2040, 2403,-2040,-2040,-2040,
-    -2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,
-    -2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,
-    -2040,-2040, 2403,-2040,-2040,-2040,-2040,-2040,-2040,-2040,
-    -2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,-2040,
-    -2040,-2040,-2040,-2040,-2040
-    },
-
-    {
-       27,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,
-    -2041,-2041,-2041,-2041, 2404,-2041,-2041,-2041,-2041,-2041,
-    -2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,
-
-    -2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,
-     2404,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,
-    -2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,-2041,
-    -2041,-2041,-2041,-2041,-2041
-    },
-
-    {
-       27,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,
-    -2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,
-    -2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042, 2405,-2042,
-    -2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,
-    -2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,-2042,
-    -2042,-2042,-2042, 2405,-2042,-2042,-2042,-2042,-2042,-2042,
-
-    -2042,-2042,-2042,-2042,-2042
-    },
-
-    {
-       27,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,
-    -2043,-2043,-2043,-2043, 2406,-2043,-2043,-2043,-2043,-2043,
-    -2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,
-    -2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,
-     2406,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,
-    -2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,-2043,
-    -2043,-2043,-2043,-2043,-2043
-    },
-
-    {
-       27,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,
-    -2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,
-
-    -2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,
-    -2044, 2407,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,
-    -2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,-2044,
-    -2044,-2044,-2044,-2044,-2044,-2044, 2407,-2044,-2044,-2044,
-    -2044,-2044,-2044,-2044,-2044
-    },
-
-    {
-       27,-2045,-2045,-2045,-2045,-2045,-2045,-2045, 2408,-2045,
-    -2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,
-    -2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,
-    -2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,
-    -2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,
-
-    -2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,-2045,
-    -2045,-2045,-2045,-2045,-2045
-    },
-
-    {
-       27,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,
-    -2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,
-    -2046,-2046,-2046,-2046,-2046,-2046,-2046, 2409,-2046,-2046,
-    -2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,
-    -2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,-2046,
-    -2046,-2046, 2409,-2046,-2046,-2046,-2046,-2046,-2046,-2046,
-    -2046,-2046,-2046,-2046,-2046
-    },
-
-    {
-       27,-2047, 2410, 2410,-2047,-2047,-2047,-2047,-2047,-2047,
-
-    -2047,-2047, 2411,-2047,-2047,-2047,-2047,-2047,-2047,-2047,
-    -2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,
-    -2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,
-    -2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,
-    -2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,-2047,
-    -2047,-2047,-2047,-2047,-2047
-    },
-
-    {
-       27,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,
-    -2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,
-    -2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,
-    -2048,-2048,-2048, 2412,-2048,-2048,-2048,-2048,-2048,-2048,
-
-    -2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048,
-    -2048,-2048,-2048,-2048,-2048,-2048,-2048,-2048, 2412,-2048,
-    -2048,-2048,-2048,-2048,-2048
-    },
-
-    {
-       27,-2049, 2413, 2413,-2049,-2049,-2049,-2049,-2049,-2049,
-    -2049,-2049, 2414,-2049,-2049,-2049,-2049,-2049,-2049,-2049,
-    -2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,
-    -2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,
-    -2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,
-    -2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,-2049,
-    -2049,-2049,-2049,-2049,-2049
-
-    },
-
-    {
-       27,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,
-    -2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,
-    -2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,
-    -2050,-2050,-2050, 2415,-2050,-2050,-2050,-2050,-2050,-2050,
-    -2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050,
-    -2050,-2050,-2050,-2050,-2050,-2050,-2050,-2050, 2415,-2050,
-    -2050,-2050,-2050,-2050,-2050
-    },
-
-    {
-       27,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,
-    -2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,
-    -2051,-2051,-2051,-2051,-2051,-2051,-2051, 2416,-2051,-2051,
-
-    -2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,
-    -2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,-2051,
-    -2051,-2051, 2416,-2051,-2051,-2051,-2051,-2051,-2051,-2051,
-    -2051,-2051,-2051,-2051,-2051
-    },
-
-    {
-       27,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,  829,
-    -2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,
-    -2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,
-    -2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,
-    -2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,
-    -2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,-2052,
-
-    -2052,-2052,-2052,-2052,-2052
-    },
-
-    {
-       27,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,
-    -2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,
-    -2053,-2053,-2053,-2053,-2053,-2053,-2053, 2417,-2053,-2053,
-    -2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,
-    -2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,-2053,
-    -2053,-2053, 2417,-2053,-2053,-2053,-2053,-2053,-2053,-2053,
-    -2053,-2053,-2053,-2053,-2053
-    },
-
-    {
-       27,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,  832,
-    -2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,
-
-    -2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,
-    -2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,
-    -2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,
-    -2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,-2054,
-    -2054,-2054,-2054,-2054,-2054
-    },
-
-    {
-       27,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,
-    -2055,-2055,-2055, 2418,-2055,-2055,-2055,-2055,-2055,-2055,
-    -2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,
-    -2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,
-    -2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,
-
-    -2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,-2055,
-    -2055,-2055,-2055,-2055,-2055
-    },
-
-    {
-       27,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,
-    -2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,
-    -2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,
-    -2056,-2056, 2419,-2056,-2056,-2056,-2056,-2056,-2056,-2056,
-    -2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,-2056,
-    -2056,-2056,-2056,-2056,-2056,-2056,-2056, 2419,-2056,-2056,
-    -2056,-2056,-2056,-2056,-2056
-    },
-
-    {
-       27,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,
-
-    -2057,-2057,-2057, 2420,-2057,-2057,-2057,-2057,-2057,-2057,
-    -2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,
-    -2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,
-    -2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,
-    -2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,-2057,
-    -2057,-2057,-2057,-2057,-2057
-    },
-
-    {
-       27,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,
-    -2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,
-    -2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,
-    -2058,-2058, 2421,-2058,-2058,-2058,-2058,-2058,-2058,-2058,
-
-    -2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,-2058,
-    -2058,-2058,-2058,-2058,-2058,-2058,-2058, 2421,-2058,-2058,
-    -2058,-2058,-2058,-2058,-2058
-    },
-
-    {
-       27,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,
-    -2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059, 2422,-2059,
-    -2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,
-    -2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,
-    -2059,-2059,-2059,-2059, 2422,-2059,-2059,-2059,-2059,-2059,
-    -2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,-2059,
-    -2059,-2059,-2059,-2059,-2059
-
-    },
-
-    {
-       27,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,
-    -2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,
-    -2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,
-    -2060, 2423,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,
-    -2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,-2060,
-    -2060,-2060,-2060,-2060,-2060,-2060, 2423,-2060,-2060,-2060,
-    -2060,-2060,-2060,-2060,-2060
-    },
-
-    {
-       27,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,  836,
-    -2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,
-    -2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,
-
-    -2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,
-    -2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,
-    -2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,-2061,
-    -2061,-2061,-2061,-2061,-2061
-    },
-
-    {
-       27,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,
-    -2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,
-    -2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062, 2424,-2062,
-    -2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,
-    -2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,-2062,
-    -2062,-2062,-2062, 2424,-2062,-2062,-2062,-2062,-2062,-2062,
-
-    -2062,-2062,-2062,-2062,-2062
-    },
-
-    {
-       27,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,
-    -2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,
-    -2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,
-    -2063, 2425,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,
-    -2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,-2063,
-    -2063,-2063,-2063,-2063,-2063,-2063, 2425,-2063,-2063,-2063,
-    -2063,-2063,-2063,-2063,-2063
-    },
-
-    {
-       27,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064, 2426,
-    -2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,
-
-    -2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,
-    -2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064, 2427,
-    -2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,
-    -2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,-2064,
-    -2064,-2064,-2064,-2064,-2064
-    },
-
-    {
-       27,-2065, 2065, 2065,-2065,-2065,-2065,-2065,-2065,-2065,
-    -2065,-2065, 2066,-2065,-2065,-2065,-2065,-2065,-2065,-2065,
-    -2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,
-    -2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,
-    -2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,
-
-    -2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,-2065,
-    -2065,-2065,-2065,-2065,-2065
-    },
-
-    {
-       27,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,
-    -2066,-2066,-2066,-2066,-2066,-2066, 2428,-2066,-2066,-2066,
-    -2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,
-    -2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,
-    -2066,-2066, 2428,-2066,-2066,-2066,-2066,-2066,-2066,-2066,
-    -2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,-2066,
-    -2066,-2066,-2066,-2066,-2066
-    },
-
-    {
-       27,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,
-
-    -2067,-2067,-2067,-2067, 2429,-2067,-2067,-2067,-2067,-2067,
-    -2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,
-    -2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,
-     2429,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,
-    -2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,-2067,
-    -2067,-2067,-2067,-2067,-2067
-    },
-
-    {
-       27,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,
-    -2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,
-    -2068,-2068,-2068,-2068,-2068,-2068,-2068, 2430,-2068,-2068,
-    -2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,
-
-    -2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,-2068,
-    -2068,-2068, 2430,-2068,-2068,-2068,-2068,-2068,-2068,-2068,
-    -2068,-2068,-2068,-2068,-2068
-    },
-
-    {
-       27,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,
-    -2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,
-    -2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,
-    -2069, 2431,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,
-    -2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,-2069,
-    -2069,-2069,-2069,-2069,-2069,-2069, 2431,-2069,-2069,-2069,
-    -2069,-2069,-2069,-2069,-2069
-
-    },
-
-    {
-       27,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,  841,
-    -2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,
-    -2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,
-    -2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,
-    -2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,
-    -2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,-2070,
-    -2070,-2070,-2070,-2070,-2070
-    },
-
-    {
-       27,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,
-    -2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,
-    -2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,
-
-    -2071,-2071,-2071, 2432,-2071,-2071,-2071,-2071,-2071,-2071,
-    -2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071,
-    -2071,-2071,-2071,-2071,-2071,-2071,-2071,-2071, 2432,-2071,
-    -2071,-2071,-2071,-2071,-2071
-    },
-
-    {
-       27,-2072, 2433, 2433,-2072,-2072,-2072,-2072,-2072,-2072,
-    -2072,-2072, 2434,-2072,-2072,-2072,-2072,-2072,-2072,-2072,
-    -2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,
-    -2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,
-    -2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,
-    -2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,-2072,
-
-    -2072,-2072,-2072,-2072,-2072
-    },
-
-    {
-       27,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,
-    -2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,
-    -2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,
-    -2073,-2073,-2073, 2435,-2073,-2073,-2073,-2073,-2073,-2073,
-    -2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073,
-    -2073,-2073,-2073,-2073,-2073,-2073,-2073,-2073, 2435,-2073,
-    -2073,-2073,-2073,-2073,-2073
-    },
-
-    {
-       27,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,
-    -2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,
-
-    -2074,-2074,-2074,-2074,-2074,-2074,-2074, 2436,-2074,-2074,
-    -2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,
-    -2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,-2074,
-    -2074,-2074, 2436,-2074,-2074,-2074,-2074,-2074,-2074,-2074,
-    -2074,-2074,-2074,-2074,-2074
-    },
-
-    {
-       27,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,
-    -2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,
-    -2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,
-    -2075,-2075,-2075, 2437,-2075,-2075,-2075,-2075,-2075,-2075,
-    -2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075,
-
-    -2075,-2075,-2075,-2075,-2075,-2075,-2075,-2075, 2437,-2075,
-    -2075,-2075,-2075,-2075,-2075
-    },
-
-    {
-       27,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,
-    -2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,
-    -2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,
-    -2076,-2076, 2438,-2076,-2076,-2076,-2076,-2076,-2076,-2076,
-    -2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,-2076,
-    -2076,-2076,-2076,-2076,-2076,-2076,-2076, 2438,-2076,-2076,
-    -2076,-2076,-2076,-2076,-2076
-    },
-
-    {
-       27,-2077, 2077, 2077,-2077,-2077,-2077,-2077,-2077,-2077,
-
-    -2077,-2077, 2078,-2077,-2077,-2077,-2077,-2077,-2077,-2077,
-    -2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,
-    -2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,
-    -2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,
-    -2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,-2077,
-    -2077,-2077,-2077,-2077,-2077
-    },
-
-    {
-       27,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,
-    -2078,-2078,-2078,-2078,-2078,-2078, 2439,-2078,-2078,-2078,
-    -2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,
-    -2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,
-
-    -2078,-2078, 2439,-2078,-2078,-2078,-2078,-2078,-2078,-2078,
-    -2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,-2078,
-    -2078,-2078,-2078,-2078,-2078
-    },
-
-    {
-       27,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,
-    -2079,-2079,-2079,-2079, 2440,-2079,-2079,-2079,-2079,-2079,
-    -2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,
-    -2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,
-     2440,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,
-    -2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,-2079,
-    -2079,-2079,-2079,-2079,-2079
-
-    },
-
-    {
-       27,-2080, 2080, 2080,-2080,-2080,-2080,-2080,-2080,-2080,
-    -2080,-2080, 2081,-2080,-2080,-2080,-2080,-2080,-2080,-2080,
-    -2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,
-    -2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,
-    -2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,
-    -2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,-2080,
-    -2080,-2080,-2080,-2080,-2080
-    },
-
-    {
-       27,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,
-    -2081,-2081,-2081,-2081,-2081,-2081, 2441,-2081,-2081,-2081,
-    -2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,
-
-    -2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,
-    -2081,-2081, 2441,-2081,-2081,-2081,-2081,-2081,-2081,-2081,
-    -2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,-2081,
-    -2081,-2081,-2081,-2081,-2081
-    },
-
-    {
-       27,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,
-    -2082,-2082,-2082,-2082, 2442,-2082,-2082,-2082,-2082,-2082,
-    -2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,
-    -2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,
-     2442,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,
-    -2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,-2082,
-
-    -2082,-2082,-2082,-2082,-2082
-    },
-
-    {
-       27,-2083, 2083, 2083,-2083,-2083,-2083,-2083,-2083,-2083,
-    -2083,-2083, 2084,-2083,-2083,-2083,-2083,-2083,-2083,-2083,
-    -2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,
-    -2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,
-    -2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,
-    -2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,-2083,
-    -2083,-2083,-2083,-2083,-2083
-    },
-
-    {
-       27,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,
-    -2084,-2084,-2084,-2084,-2084,-2084, 2443,-2084,-2084,-2084,
-
-    -2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,
-    -2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,
-    -2084,-2084, 2443,-2084,-2084,-2084,-2084,-2084,-2084,-2084,
-    -2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,-2084,
-    -2084,-2084,-2084,-2084,-2084
-    },
-
-    {
-       27,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,
-    -2085,-2085,-2085,-2085, 2444,-2085,-2085,-2085,-2085,-2085,
-    -2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,
-    -2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,
-     2444,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,
-
-    -2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,-2085,
-    -2085,-2085,-2085,-2085,-2085
-    },
-
-    {
-       27,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,
-    -2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,
-    -2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086, 2445,-2086,
-    -2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,
-    -2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,-2086,
-    -2086,-2086,-2086, 2445,-2086,-2086,-2086,-2086,-2086,-2086,
-    -2086,-2086,-2086,-2086,-2086
-    },
-
-    {
-       27,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,
-
-    -2087,-2087,-2087,-2087, 2446,-2087,-2087,-2087,-2087,-2087,
-    -2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,
-    -2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,
-     2446,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,
-    -2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,-2087,
-    -2087,-2087,-2087,-2087,-2087
-    },
-
-    {
-       27,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,
-    -2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,
-    -2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,
-    -2088, 2447,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,
-
-    -2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,-2088,
-    -2088,-2088,-2088,-2088,-2088,-2088, 2447,-2088,-2088,-2088,
-    -2088,-2088,-2088,-2088,-2088
-    },
-
-    {
-       27,-2089,-2089,-2089,-2089,-2089,-2089,-2089, 2448,-2089,
-    -2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,
-    -2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,
-    -2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,
-    -2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,
-    -2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,-2089,
-    -2089,-2089,-2089,-2089,-2089
-
-    },
-
-    {
-       27,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,
-    -2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,
-    -2090,-2090,-2090,-2090,-2090, 2449,-2090,-2090,-2090,-2090,
-    -2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,
-    -2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,
-     2449,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,-2090,
-    -2090,-2090,-2090,-2090,-2090
-    },
-
-    {
-       27,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,
-    -2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,
-    -2091,-2091,-2091,-2091,-2091,-2091,-2091, 2450,-2091,-2091,
-
-    -2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,
-    -2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,-2091,
-    -2091,-2091, 2450,-2091,-2091,-2091,-2091,-2091,-2091,-2091,
-    -2091,-2091,-2091,-2091,-2091
-    },
-
-    {
-       27,-2092, 2451, 2451,-2092,-2092,-2092,-2092,-2092,-2092,
-    -2092,-2092, 2452,-2092,-2092,-2092,-2092,-2092,-2092,-2092,
-    -2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,
-    -2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,
-    -2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,
-    -2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,-2092,
-
-    -2092,-2092,-2092,-2092,-2092
-    },
-
-    {
-       27,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,
-    -2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,
-    -2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,
-    -2093,-2093,-2093, 2453,-2093,-2093,-2093,-2093,-2093,-2093,
-    -2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093,
-    -2093,-2093,-2093,-2093,-2093,-2093,-2093,-2093, 2453,-2093,
-    -2093,-2093,-2093,-2093,-2093
-    },
-
-    {
-       27,-2094, 2454, 2454,-2094,-2094,-2094,-2094,-2094,-2094,
-    -2094,-2094, 2455,-2094,-2094,-2094,-2094,-2094,-2094,-2094,
-
-    -2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,
-    -2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,
-    -2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,
-    -2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,-2094,
-    -2094,-2094,-2094,-2094,-2094
-    },
-
-    {
-       27,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,
-    -2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,
-    -2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,
-    -2095,-2095,-2095, 2456,-2095,-2095,-2095,-2095,-2095,-2095,
-    -2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095,
-
-    -2095,-2095,-2095,-2095,-2095,-2095,-2095,-2095, 2456,-2095,
-    -2095,-2095,-2095,-2095,-2095
-    },
-
-    {
-       27,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,
-    -2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,
-    -2096,-2096,-2096,-2096,-2096,-2096,-2096, 2457,-2096,-2096,
-    -2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,
-    -2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,-2096,
-    -2096,-2096, 2457,-2096,-2096,-2096,-2096,-2096,-2096,-2096,
-    -2096,-2096,-2096,-2096,-2096
-    },
-
-    {
-       27,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,  858,
-
-    -2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,
-    -2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,
-    -2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,
-    -2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,
-    -2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,-2097,
-    -2097,-2097,-2097,-2097,-2097
-    },
-
-    {
-       27,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,
-    -2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,
-    -2098,-2098,-2098,-2098,-2098,-2098,-2098, 2458,-2098,-2098,
-    -2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,
-
-    -2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,-2098,
-    -2098,-2098, 2458,-2098,-2098,-2098,-2098,-2098,-2098,-2098,
-    -2098,-2098,-2098,-2098,-2098
-    },
-
-    {
-       27,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,  861,
-    -2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,
-    -2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,
-    -2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,
-    -2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,
-    -2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,-2099,
-    -2099,-2099,-2099,-2099,-2099
-
-    },
-
-    {
-       27,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,
-    -2100,-2100,-2100, 2459,-2100,-2100,-2100,-2100,-2100,-2100,
-    -2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,
-    -2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,
-    -2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,
-    -2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,-2100,
-    -2100,-2100,-2100,-2100,-2100
-    },
-
-    {
-       27,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,
-    -2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,
-    -2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,
-
-    -2101,-2101, 2460,-2101,-2101,-2101,-2101,-2101,-2101,-2101,
-    -2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,-2101,
-    -2101,-2101,-2101,-2101,-2101,-2101,-2101, 2460,-2101,-2101,
-    -2101,-2101,-2101,-2101,-2101
-    },
-
-    {
-       27,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,
-    -2102,-2102,-2102, 2461,-2102,-2102,-2102,-2102,-2102,-2102,
-    -2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,
-    -2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,
-    -2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,
-    -2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,-2102,
-
-    -2102,-2102,-2102,-2102,-2102
-    },
-
-    {
-       27,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,
-    -2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,
-    -2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,
-    -2103,-2103, 2462,-2103,-2103,-2103,-2103,-2103,-2103,-2103,
-    -2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,-2103,
-    -2103,-2103,-2103,-2103,-2103,-2103,-2103, 2462,-2103,-2103,
-    -2103,-2103,-2103,-2103,-2103
-    },
-
-    {
-       27,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,
-    -2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104, 2463,-2104,
-
-    -2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,
-    -2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,
-    -2104,-2104,-2104,-2104, 2463,-2104,-2104,-2104,-2104,-2104,
-    -2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,-2104,
-    -2104,-2104,-2104,-2104,-2104
-    },
-
-    {
-       27,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,
-    -2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,
-    -2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,
-    -2105, 2464,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,
-    -2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,-2105,
-
-    -2105,-2105,-2105,-2105,-2105,-2105, 2464,-2105,-2105,-2105,
-    -2105,-2105,-2105,-2105,-2105
-    },
-
-    {
-       27,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,  865,
-    -2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,
-    -2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,
-    -2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,
-    -2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,
-    -2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,-2106,
-    -2106,-2106,-2106,-2106,-2106
-    },
-
-    {
-       27,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,
-
-    -2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,
-    -2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107, 2465,-2107,
-    -2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,
-    -2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,-2107,
-    -2107,-2107,-2107, 2465,-2107,-2107,-2107,-2107,-2107,-2107,
-    -2107,-2107,-2107,-2107,-2107
-    },
-
-    {
-       27,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,
-    -2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,
-    -2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,
-    -2108, 2466,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,
-
-    -2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,-2108,
-    -2108,-2108,-2108,-2108,-2108,-2108, 2466,-2108,-2108,-2108,
-    -2108,-2108,-2108,-2108,-2108
-    },
-
-    {
-       27,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109, 2467,
-    -2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,
-    -2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,
-    -2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109, 2468,
-    -2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,
-    -2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,-2109,
-    -2109,-2109,-2109,-2109,-2109
-
-    },
-
-    {
-       27,-2110, 2110, 2110,-2110,-2110,-2110,-2110,-2110,-2110,
-    -2110,-2110, 2111,-2110,-2110,-2110,-2110,-2110,-2110,-2110,
-    -2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,
-    -2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,
-    -2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,
-    -2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,-2110,
-    -2110,-2110,-2110,-2110,-2110
-    },
-
-    {
-       27,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,
-    -2111,-2111,-2111,-2111,-2111,-2111, 2469,-2111,-2111,-2111,
-    -2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,
-
-    -2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,
-    -2111,-2111, 2469,-2111,-2111,-2111,-2111,-2111,-2111,-2111,
-    -2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,-2111,
-    -2111,-2111,-2111,-2111,-2111
-    },
-
-    {
-       27,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,
-    -2112,-2112,-2112,-2112, 2470,-2112,-2112,-2112,-2112,-2112,
-    -2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,
-    -2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,
-     2470,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,
-    -2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,-2112,
-
-    -2112,-2112,-2112,-2112,-2112
-    },
-
-    {
-       27,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,
-    -2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,
-    -2113,-2113,-2113,-2113,-2113,-2113,-2113, 2471,-2113,-2113,
-    -2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,
-    -2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,-2113,
-    -2113,-2113, 2471,-2113,-2113,-2113,-2113,-2113,-2113,-2113,
-    -2113,-2113,-2113,-2113,-2113
-    },
-
-    {
-       27,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,
-    -2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,
-
-    -2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,
-    -2114, 2472,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,
-    -2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,-2114,
-    -2114,-2114,-2114,-2114,-2114,-2114, 2472,-2114,-2114,-2114,
-    -2114,-2114,-2114,-2114,-2114
-    },
-
-    {
-       27,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,  870,
-    -2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,
-    -2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,
-    -2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,
-    -2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,
-
-    -2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,-2115,
-    -2115,-2115,-2115,-2115,-2115
-    },
-
-    {
-       27,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,
-    -2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,
-    -2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,
-    -2116,-2116,-2116, 2473,-2116,-2116,-2116,-2116,-2116,-2116,
-    -2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116,
-    -2116,-2116,-2116,-2116,-2116,-2116,-2116,-2116, 2473,-2116,
-    -2116,-2116,-2116,-2116,-2116
-    },
-
-    {
-       27,-2117, 2474, 2474,-2117,-2117,-2117,-2117,-2117,-2117,
-
-    -2117,-2117, 2475,-2117,-2117,-2117,-2117,-2117,-2117,-2117,
-    -2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,
-    -2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,
-    -2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,
-    -2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,-2117,
-    -2117,-2117,-2117,-2117,-2117
-    },
-
-    {
-       27,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,
-    -2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,
-    -2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,
-    -2118,-2118,-2118, 2476,-2118,-2118,-2118,-2118,-2118,-2118,
-
-    -2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118,
-    -2118,-2118,-2118,-2118,-2118,-2118,-2118,-2118, 2476,-2118,
-    -2118,-2118,-2118,-2118,-2118
-    },
-
-    {
-       27,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,
-    -2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,
-    -2119,-2119,-2119,-2119,-2119,-2119,-2119, 2477,-2119,-2119,
-    -2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,
-    -2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,-2119,
-    -2119,-2119, 2477,-2119,-2119,-2119,-2119,-2119,-2119,-2119,
-    -2119,-2119,-2119,-2119,-2119
-
-    },
-
-    {
-       27,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,
-    -2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,
-    -2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,
-    -2120,-2120,-2120, 2478,-2120,-2120,-2120,-2120,-2120,-2120,
-    -2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120,
-    -2120,-2120,-2120,-2120,-2120,-2120,-2120,-2120, 2478,-2120,
-    -2120,-2120,-2120,-2120,-2120
-    },
-
-    {
-       27,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,
-    -2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,
-    -2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,
-
-    -2121,-2121, 2479,-2121,-2121,-2121,-2121,-2121,-2121,-2121,
-    -2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,-2121,
-    -2121,-2121,-2121,-2121,-2121,-2121,-2121, 2479,-2121,-2121,
-    -2121,-2121,-2121,-2121,-2121
-    },
-
-    {
-       27,-2122, 2122, 2122,-2122,-2122,-2122,-2122,-2122,-2122,
-    -2122,-2122, 2123,-2122,-2122,-2122,-2122,-2122,-2122,-2122,
-    -2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,
-    -2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,
-    -2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,
-    -2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,-2122,
-
-    -2122,-2122,-2122,-2122,-2122
-    },
-
-    {
-       27,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,
-    -2123,-2123,-2123,-2123,-2123,-2123, 2480,-2123,-2123,-2123,
-    -2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,
-    -2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,
-    -2123,-2123, 2480,-2123,-2123,-2123,-2123,-2123,-2123,-2123,
-    -2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,-2123,
-    -2123,-2123,-2123,-2123,-2123
-    },
-
-    {
-       27,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,
-    -2124,-2124,-2124,-2124, 2481,-2124,-2124,-2124,-2124,-2124,
-
-    -2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,
-    -2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,
-     2481,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,
-    -2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,-2124,
-    -2124,-2124,-2124,-2124,-2124
-    },
-
-    {
-       27,-2125, 2125, 2125,-2125,-2125,-2125,-2125,-2125,-2125,
-    -2125,-2125, 2126,-2125,-2125,-2125,-2125,-2125,-2125,-2125,
-    -2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,
-    -2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,
-    -2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,
-
-    -2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,-2125,
-    -2125,-2125,-2125,-2125,-2125
-    },
-
-    {
-       27,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,
-    -2126,-2126,-2126,-2126,-2126,-2126, 2482,-2126,-2126,-2126,
-    -2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,
-    -2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,
-    -2126,-2126, 2482,-2126,-2126,-2126,-2126,-2126,-2126,-2126,
-    -2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,-2126,
-    -2126,-2126,-2126,-2126,-2126
-    },
-
-    {
-       27,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,
-
-    -2127,-2127,-2127,-2127, 2483,-2127,-2127,-2127,-2127,-2127,
-    -2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,
-    -2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,
-     2483,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,
-    -2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,-2127,
-    -2127,-2127,-2127,-2127,-2127
-    },
-
-    {
-       27,-2128, 2128, 2128,-2128,-2128,-2128,-2128,-2128,-2128,
-    -2128,-2128, 2129,-2128,-2128,-2128,-2128,-2128,-2128,-2128,
-    -2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,
-    -2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,
-
-    -2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,
-    -2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,-2128,
-    -2128,-2128,-2128,-2128,-2128
-    },
-
-    {
-       27,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,
-    -2129,-2129,-2129,-2129,-2129,-2129, 2484,-2129,-2129,-2129,
-    -2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,
-    -2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,
-    -2129,-2129, 2484,-2129,-2129,-2129,-2129,-2129,-2129,-2129,
-    -2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,-2129,
-    -2129,-2129,-2129,-2129,-2129
-
-    },
-
-    {
-       27,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,
-    -2130,-2130,-2130,-2130, 2485,-2130,-2130,-2130,-2130,-2130,
-    -2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,
-    -2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,
-     2485,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,
-    -2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,-2130,
-    -2130,-2130,-2130,-2130,-2130
-    },
-
-    {
-       27,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,
-    -2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,
-    -2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131, 2486,-2131,
-
-    -2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,
-    -2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,-2131,
-    -2131,-2131,-2131, 2486,-2131,-2131,-2131,-2131,-2131,-2131,
-    -2131,-2131,-2131,-2131,-2131
-    },
-
-    {
-       27,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,
-    -2132,-2132,-2132,-2132, 2487,-2132,-2132,-2132,-2132,-2132,
-    -2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,
-    -2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,
-     2487,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,
-    -2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,-2132,
-
-    -2132,-2132,-2132,-2132,-2132
-    },
-
-    {
-       27,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,
-    -2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,
-    -2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,
-    -2133, 2488,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,
-    -2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,-2133,
-    -2133,-2133,-2133,-2133,-2133,-2133, 2488,-2133,-2133,-2133,
-    -2133,-2133,-2133,-2133,-2133
-    },
-
-    {
-       27,-2134,-2134,-2134,-2134,-2134,-2134,-2134, 2489,-2134,
-    -2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,
-
-    -2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,
-    -2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,
-    -2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,
-    -2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,-2134,
-    -2134,-2134,-2134,-2134,-2134
-    },
-
-    {
-       27,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,
-    -2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,
-    -2135,-2135,-2135,-2135,-2135, 2490,-2135,-2135,-2135,-2135,
-    -2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,
-    -2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,
-
-     2490,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,-2135,
-    -2135,-2135,-2135,-2135,-2135
-    },
-
-    {
-       27,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,
-    -2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,
-    -2136,-2136,-2136,-2136,-2136,-2136,-2136, 2491,-2136,-2136,
-    -2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,
-    -2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,-2136,
-    -2136,-2136, 2491,-2136,-2136,-2136,-2136,-2136,-2136,-2136,
-    -2136,-2136,-2136,-2136,-2136
-    },
-
-    {
-       27,-2137, 2492, 2492,-2137,-2137,-2137,-2137,-2137,-2137,
-
-    -2137,-2137, 2493,-2137,-2137,-2137,-2137,-2137,-2137,-2137,
-    -2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,
-    -2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,
-    -2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,
-    -2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,-2137,
-    -2137,-2137,-2137,-2137,-2137
-    },
-
-    {
-       27,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,
-    -2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,
-    -2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,
-    -2138,-2138,-2138, 2494,-2138,-2138,-2138,-2138,-2138,-2138,
-
-    -2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138,
-    -2138,-2138,-2138,-2138,-2138,-2138,-2138,-2138, 2494,-2138,
-    -2138,-2138,-2138,-2138,-2138
-    },
-
-    {
-       27,-2139, 2495, 2495,-2139,-2139,-2139,-2139,-2139,-2139,
-    -2139,-2139, 2496,-2139,-2139,-2139,-2139,-2139,-2139,-2139,
-    -2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,
-    -2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,
-    -2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,
-    -2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,-2139,
-    -2139,-2139,-2139,-2139,-2139
-
-    },
-
-    {
-       27,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,
-    -2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,
-    -2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,
-    -2140,-2140,-2140, 2497,-2140,-2140,-2140,-2140,-2140,-2140,
-    -2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140,
-    -2140,-2140,-2140,-2140,-2140,-2140,-2140,-2140, 2497,-2140,
-    -2140,-2140,-2140,-2140,-2140
-    },
-
-    {
-       27,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,
-    -2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,
-    -2141,-2141,-2141,-2141,-2141,-2141,-2141, 2498,-2141,-2141,
-
-    -2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,
-    -2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,-2141,
-    -2141,-2141, 2498,-2141,-2141,-2141,-2141,-2141,-2141,-2141,
-    -2141,-2141,-2141,-2141,-2141
-    },
-
-    {
-       27,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,  887,
-    -2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,
-    -2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,
-    -2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,
-    -2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,
-    -2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,-2142,
-
-    -2142,-2142,-2142,-2142,-2142
-    },
-
-    {
-       27,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,
-    -2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,
-    -2143,-2143,-2143,-2143,-2143,-2143,-2143, 2499,-2143,-2143,
-    -2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,
-    -2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,-2143,
-    -2143,-2143, 2499,-2143,-2143,-2143,-2143,-2143,-2143,-2143,
-    -2143,-2143,-2143,-2143,-2143
-    },
-
-    {
-       27,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,  890,
-    -2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,
-
-    -2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,
-    -2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,
-    -2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,
-    -2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,-2144,
-    -2144,-2144,-2144,-2144,-2144
-    },
-
-    {
-       27,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,
-    -2145,-2145,-2145, 2500,-2145,-2145,-2145,-2145,-2145,-2145,
-    -2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,
-    -2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,
-    -2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,
-
-    -2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,-2145,
-    -2145,-2145,-2145,-2145,-2145
-    },
-
-    {
-       27,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,
-    -2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,
-    -2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,
-    -2146,-2146, 2501,-2146,-2146,-2146,-2146,-2146,-2146,-2146,
-    -2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,-2146,
-    -2146,-2146,-2146,-2146,-2146,-2146,-2146, 2501,-2146,-2146,
-    -2146,-2146,-2146,-2146,-2146
-    },
-
-    {
-       27,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,
-
-    -2147,-2147,-2147, 2502,-2147,-2147,-2147,-2147,-2147,-2147,
-    -2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,
-    -2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,
-    -2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,
-    -2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,-2147,
-    -2147,-2147,-2147,-2147,-2147
-    },
-
-    {
-       27,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,
-    -2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,
-    -2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,
-    -2148,-2148, 2503,-2148,-2148,-2148,-2148,-2148,-2148,-2148,
-
-    -2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,-2148,
-    -2148,-2148,-2148,-2148,-2148,-2148,-2148, 2503,-2148,-2148,
-    -2148,-2148,-2148,-2148,-2148
-    },
-
-    {
-       27,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,
-    -2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149, 2504,-2149,
-    -2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,
-    -2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,
-    -2149,-2149,-2149,-2149, 2504,-2149,-2149,-2149,-2149,-2149,
-    -2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,-2149,
-    -2149,-2149,-2149,-2149,-2149
-
-    },
-
-    {
-       27,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,
-    -2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,
-    -2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,
-    -2150, 2505,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,
-    -2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,-2150,
-    -2150,-2150,-2150,-2150,-2150,-2150, 2505,-2150,-2150,-2150,
-    -2150,-2150,-2150,-2150,-2150
-    },
-
-    {
-       27,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,  894,
-    -2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,
-    -2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,
-
-    -2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,
-    -2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,
-    -2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,-2151,
-    -2151,-2151,-2151,-2151,-2151
-    },
-
-    {
-       27,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,
-    -2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,
-    -2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152, 2506,-2152,
-    -2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,
-    -2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,-2152,
-    -2152,-2152,-2152, 2506,-2152,-2152,-2152,-2152,-2152,-2152,
-
-    -2152,-2152,-2152,-2152,-2152
-    },
-
-    {
-       27,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,
-    -2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,
-    -2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,
-    -2153, 2507,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,
-    -2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,-2153,
-    -2153,-2153,-2153,-2153,-2153,-2153, 2507,-2153,-2153,-2153,
-    -2153,-2153,-2153,-2153,-2153
-    },
-
-    {
-       27,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154, 2508,
-    -2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,
-
-    -2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,
-    -2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154, 2509,
-    -2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,
-    -2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,-2154,
-    -2154,-2154,-2154,-2154,-2154
-    },
-
-    {
-       27,-2155, 2155, 2155,-2155,-2155,-2155,-2155,-2155,-2155,
-    -2155,-2155, 2156,-2155,-2155,-2155,-2155,-2155,-2155,-2155,
-    -2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,
-    -2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,
-    -2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,
-
-    -2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,-2155,
-    -2155,-2155,-2155,-2155,-2155
-    },
-
-    {
-       27,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,
-    -2156,-2156,-2156,-2156,-2156,-2156, 2510,-2156,-2156,-2156,
-    -2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,
-    -2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,
-    -2156,-2156, 2510,-2156,-2156,-2156,-2156,-2156,-2156,-2156,
-    -2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,-2156,
-    -2156,-2156,-2156,-2156,-2156
-    },
-
-    {
-       27,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,
-
-    -2157,-2157,-2157,-2157, 2511,-2157,-2157,-2157,-2157,-2157,
-    -2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,
-    -2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,
-     2511,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,
-    -2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,-2157,
-    -2157,-2157,-2157,-2157,-2157
-    },
-
-    {
-       27,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,
-    -2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,
-    -2158,-2158,-2158,-2158,-2158,-2158,-2158, 2512,-2158,-2158,
-    -2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,
-
-    -2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,-2158,
-    -2158,-2158, 2512,-2158,-2158,-2158,-2158,-2158,-2158,-2158,
-    -2158,-2158,-2158,-2158,-2158
-    },
-
-    {
-       27,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,
-    -2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,
-    -2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,
-    -2159, 2513,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,
-    -2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,-2159,
-    -2159,-2159,-2159,-2159,-2159,-2159, 2513,-2159,-2159,-2159,
-    -2159,-2159,-2159,-2159,-2159
-
-    },
-
-    {
-       27,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,  899,
-    -2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,
-    -2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,
-    -2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,
-    -2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,
-    -2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,-2160,
-    -2160,-2160,-2160,-2160,-2160
-    },
-
-    {
-       27,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,
-    -2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,
-    -2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,
-
-    -2161,-2161,-2161, 2514,-2161,-2161,-2161,-2161,-2161,-2161,
-    -2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161,
-    -2161,-2161,-2161,-2161,-2161,-2161,-2161,-2161, 2514,-2161,
-    -2161,-2161,-2161,-2161,-2161
-    },
-
-    {
-       27,-2162, 2515, 2515,-2162,-2162,-2162,-2162,-2162,-2162,
-    -2162,-2162, 2516,-2162,-2162,-2162,-2162,-2162,-2162,-2162,
-    -2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,
-    -2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,
-    -2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,
-    -2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,-2162,
-
-    -2162,-2162,-2162,-2162,-2162
-    },
-
-    {
-       27,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,
-    -2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,
-    -2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,
-    -2163,-2163,-2163, 2517,-2163,-2163,-2163,-2163,-2163,-2163,
-    -2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163,
-    -2163,-2163,-2163,-2163,-2163,-2163,-2163,-2163, 2517,-2163,
-    -2163,-2163,-2163,-2163,-2163
-    },
-
-    {
-       27,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,
-    -2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,
-
-    -2164,-2164,-2164,-2164,-2164,-2164,-2164, 2518,-2164,-2164,
-    -2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,
-    -2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,-2164,
-    -2164,-2164, 2518,-2164,-2164,-2164,-2164,-2164,-2164,-2164,
-    -2164,-2164,-2164,-2164,-2164
-    },
-
-    {
-       27,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,
-    -2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,
-    -2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,
-    -2165,-2165,-2165, 2519,-2165,-2165,-2165,-2165,-2165,-2165,
-    -2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165,
-
-    -2165,-2165,-2165,-2165,-2165,-2165,-2165,-2165, 2519,-2165,
-    -2165,-2165,-2165,-2165,-2165
-    },
-
-    {
-       27,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,
-    -2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,
-    -2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,
-    -2166,-2166, 2520,-2166,-2166,-2166,-2166,-2166,-2166,-2166,
-    -2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,-2166,
-    -2166,-2166,-2166,-2166,-2166,-2166,-2166, 2520,-2166,-2166,
-    -2166,-2166,-2166,-2166,-2166
-    },
-
-    {
-       27,-2167, 2167, 2167,-2167,-2167,-2167,-2167,-2167,-2167,
-
-    -2167,-2167, 2168,-2167,-2167,-2167,-2167,-2167,-2167,-2167,
-    -2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,
-    -2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,
-    -2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,
-    -2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,-2167,
-    -2167,-2167,-2167,-2167,-2167
-    },
-
-    {
-       27,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,
-    -2168,-2168,-2168,-2168,-2168,-2168, 2521,-2168,-2168,-2168,
-    -2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,
-    -2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,
-
-    -2168,-2168, 2521,-2168,-2168,-2168,-2168,-2168,-2168,-2168,
-    -2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,-2168,
-    -2168,-2168,-2168,-2168,-2168
-    },
-
-    {
-       27,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,
-    -2169,-2169,-2169,-2169, 2522,-2169,-2169,-2169,-2169,-2169,
-    -2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,
-    -2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,
-     2522,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,
-    -2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,-2169,
-    -2169,-2169,-2169,-2169,-2169
-
-    },
-
-    {
-       27,-2170, 2170, 2170,-2170,-2170,-2170,-2170,-2170,-2170,
-    -2170,-2170, 2171,-2170,-2170,-2170,-2170,-2170,-2170,-2170,
-    -2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,
-    -2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,
-    -2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,
-    -2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,-2170,
-    -2170,-2170,-2170,-2170,-2170
-    },
-
-    {
-       27,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,
-    -2171,-2171,-2171,-2171,-2171,-2171, 2523,-2171,-2171,-2171,
-    -2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,
-
-    -2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,
-    -2171,-2171, 2523,-2171,-2171,-2171,-2171,-2171,-2171,-2171,
-    -2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,-2171,
-    -2171,-2171,-2171,-2171,-2171
-    },
-
-    {
-       27,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,
-    -2172,-2172,-2172,-2172, 2524,-2172,-2172,-2172,-2172,-2172,
-    -2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,
-    -2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,
-     2524,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,
-    -2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,-2172,
-
-    -2172,-2172,-2172,-2172,-2172
-    },
-
-    {
-       27,-2173, 2173, 2173,-2173,-2173,-2173,-2173,-2173,-2173,
-    -2173,-2173, 2174,-2173,-2173,-2173,-2173,-2173,-2173,-2173,
-    -2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,
-    -2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,
-    -2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,
-    -2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,-2173,
-    -2173,-2173,-2173,-2173,-2173
-    },
-
-    {
-       27,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,
-    -2174,-2174,-2174,-2174,-2174,-2174, 2525,-2174,-2174,-2174,
-
-    -2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,
-    -2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,
-    -2174,-2174, 2525,-2174,-2174,-2174,-2174,-2174,-2174,-2174,
-    -2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,-2174,
-    -2174,-2174,-2174,-2174,-2174
-    },
-
-    {
-       27,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,
-    -2175,-2175,-2175,-2175, 2526,-2175,-2175,-2175,-2175,-2175,
-    -2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,
-    -2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,
-     2526,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,
-
-    -2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,-2175,
-    -2175,-2175,-2175,-2175,-2175
-    },
-
-    {
-       27,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,
-    -2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,
-    -2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176, 2527,-2176,
-    -2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,
-    -2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,-2176,
-    -2176,-2176,-2176, 2527,-2176,-2176,-2176,-2176,-2176,-2176,
-    -2176,-2176,-2176,-2176,-2176
-    },
-
-    {
-       27,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,
-
-    -2177,-2177,-2177,-2177, 2528,-2177,-2177,-2177,-2177,-2177,
-    -2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,
-    -2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,
-     2528,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,
-    -2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,-2177,
-    -2177,-2177,-2177,-2177,-2177
-    },
-
-    {
-       27,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,
-    -2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,
-    -2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,
-    -2178, 2529,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,
-
-    -2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,-2178,
-    -2178,-2178,-2178,-2178,-2178,-2178, 2529,-2178,-2178,-2178,
-    -2178,-2178,-2178,-2178,-2178
-    },
-
-    {
-       27,-2179,-2179,-2179,-2179,-2179,-2179,-2179, 2530,-2179,
-    -2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,
-    -2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,
-    -2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,
-    -2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,
-    -2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,-2179,
-    -2179,-2179,-2179,-2179,-2179
-
-    },
-
-    {
-       27,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,
-    -2180,-2180,-2180, 2531,-2180,-2180,-2180,-2180,-2180,-2180,
-    -2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,
-    -2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180, 2532,
-    -2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,
-    -2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,-2180,
-    -2180,-2180,-2180,-2180,-2180
-    },
-
-    {
-       27,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,
-    -2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,
-    -2181,-2181,-2181,-2181,-2181,-2181,-2181, 2533,-2181,-2181,
-
-    -2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,
-    -2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,-2181,
-    -2181,-2181, 2533,-2181,-2181,-2181,-2181,-2181,-2181,-2181,
-    -2181,-2181,-2181,-2181,-2181
-    },
-
-    {
-       27,-2182, 2534, 2534,-2182,-2182,-2182,-2182,-2182,-2182,
-    -2182,-2182, 2535,-2182,-2182,-2182,-2182,-2182,-2182,-2182,
-    -2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,
-    -2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,
-    -2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,
-    -2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,-2182,
-
-    -2182,-2182,-2182,-2182,-2182
-    },
-
-    {
-       27,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,
-    -2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,
-    -2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,
-    -2183,-2183,-2183, 2536,-2183,-2183,-2183,-2183,-2183,-2183,
-    -2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183,
-    -2183,-2183,-2183,-2183,-2183,-2183,-2183,-2183, 2536,-2183,
-    -2183,-2183,-2183,-2183,-2183
-    },
-
-    {
-       27,-2184, 2537, 2537,-2184,-2184,-2184,-2184,-2184,-2184,
-    -2184,-2184, 2538,-2184,-2184,-2184,-2184,-2184,-2184,-2184,
-
-    -2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,
-    -2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,
-    -2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,
-    -2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,-2184,
-    -2184,-2184,-2184,-2184,-2184
-    },
-
-    {
-       27,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,
-    -2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,
-    -2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,
-    -2185,-2185,-2185, 2539,-2185,-2185,-2185,-2185,-2185,-2185,
-    -2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185,
-
-    -2185,-2185,-2185,-2185,-2185,-2185,-2185,-2185, 2539,-2185,
-    -2185,-2185,-2185,-2185,-2185
-    },
-
-    {
-       27,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,
-    -2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,
-    -2186,-2186,-2186,-2186,-2186,-2186,-2186, 2540,-2186,-2186,
-    -2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,
-    -2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,-2186,
-    -2186,-2186, 2540,-2186,-2186,-2186,-2186,-2186,-2186,-2186,
-    -2186,-2186,-2186,-2186,-2186
-    },
-
-    {
-       27,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,  916,
-
-    -2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,
-    -2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,
-    -2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,
-    -2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,
-    -2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,-2187,
-    -2187,-2187,-2187,-2187,-2187
-    },
-
-    {
-       27,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,
-    -2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,
-    -2188,-2188,-2188,-2188,-2188,-2188,-2188, 2541,-2188,-2188,
-    -2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,
-
-    -2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,-2188,
-    -2188,-2188, 2541,-2188,-2188,-2188,-2188,-2188,-2188,-2188,
-    -2188,-2188,-2188,-2188,-2188
-    },
-
-    {
-       27,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,  919,
-    -2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,
-    -2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,
-    -2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,
-    -2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,
-    -2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,-2189,
-    -2189,-2189,-2189,-2189,-2189
-
-    },
-
-    {
-       27,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,
-    -2190,-2190,-2190, 2542,-2190,-2190,-2190,-2190,-2190,-2190,
-    -2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,
-    -2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,
-    -2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,
-    -2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,-2190,
-    -2190,-2190,-2190,-2190,-2190
-    },
-
-    {
-       27,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,
-    -2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,
-    -2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,
-
-    -2191,-2191, 2543,-2191,-2191,-2191,-2191,-2191,-2191,-2191,
-    -2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,-2191,
-    -2191,-2191,-2191,-2191,-2191,-2191,-2191, 2543,-2191,-2191,
-    -2191,-2191,-2191,-2191,-2191
-    },
-
-    {
-       27,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,
-    -2192,-2192,-2192, 2544,-2192,-2192,-2192,-2192,-2192,-2192,
-    -2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,
-    -2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,
-    -2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,
-    -2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,-2192,
-
-    -2192,-2192,-2192,-2192,-2192
-    },
-
-    {
-       27,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,
-    -2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,
-    -2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,
-    -2193,-2193, 2545,-2193,-2193,-2193,-2193,-2193,-2193,-2193,
-    -2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,-2193,
-    -2193,-2193,-2193,-2193,-2193,-2193,-2193, 2545,-2193,-2193,
-    -2193,-2193,-2193,-2193,-2193
-    },
-
-    {
-       27,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,
-    -2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194, 2546,-2194,
-
-    -2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,
-    -2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,
-    -2194,-2194,-2194,-2194, 2546,-2194,-2194,-2194,-2194,-2194,
-    -2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,-2194,
-    -2194,-2194,-2194,-2194,-2194
-    },
-
-    {
-       27,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,
-    -2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,
-    -2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,
-    -2195, 2547,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,
-    -2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,-2195,
-
-    -2195,-2195,-2195,-2195,-2195,-2195, 2547,-2195,-2195,-2195,
-    -2195,-2195,-2195,-2195,-2195
-    },
-
-    {
-       27,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,  923,
-    -2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,
-    -2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,
-    -2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,
-    -2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,
-    -2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,-2196,
-    -2196,-2196,-2196,-2196,-2196
-    },
-
-    {
-       27,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,
-
-    -2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,
-    -2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197, 2548,-2197,
-    -2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,
-    -2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,-2197,
-    -2197,-2197,-2197, 2548,-2197,-2197,-2197,-2197,-2197,-2197,
-    -2197,-2197,-2197,-2197,-2197
-    },
-
-    {
-       27,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,
-    -2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,
-    -2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,
-    -2198, 2549,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,
-
-    -2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,-2198,
-    -2198,-2198,-2198,-2198,-2198,-2198, 2549,-2198,-2198,-2198,
-    -2198,-2198,-2198,-2198,-2198
-    },
-
-    {
-       27,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199, 2550,
-    -2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,
-    -2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,
-    -2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199, 2551,
-    -2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,
-    -2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,-2199,
-    -2199,-2199,-2199,-2199,-2199
-
-    },
-
-    {
-       27,-2200, 2200, 2200,-2200,-2200,-2200,-2200,-2200,-2200,
-    -2200,-2200, 2201,-2200,-2200,-2200,-2200,-2200,-2200,-2200,
-    -2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,
-    -2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,
-    -2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,
-    -2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,-2200,
-    -2200,-2200,-2200,-2200,-2200
-    },
-
-    {
-       27,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,
-    -2201,-2201,-2201,-2201,-2201,-2201, 2552,-2201,-2201,-2201,
-    -2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,
-
-    -2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,
-    -2201,-2201, 2552,-2201,-2201,-2201,-2201,-2201,-2201,-2201,
-    -2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,-2201,
-    -2201,-2201,-2201,-2201,-2201
-    },
-
-    {
-       27,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,
-    -2202,-2202,-2202,-2202, 2553,-2202,-2202,-2202,-2202,-2202,
-    -2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,
-    -2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,
-     2553,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,
-    -2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,-2202,
-
-    -2202,-2202,-2202,-2202,-2202
-    },
-
-    {
-       27,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,
-    -2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,
-    -2203,-2203,-2203,-2203,-2203,-2203,-2203, 2554,-2203,-2203,
-    -2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,
-    -2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,-2203,
-    -2203,-2203, 2554,-2203,-2203,-2203,-2203,-2203,-2203,-2203,
-    -2203,-2203,-2203,-2203,-2203
-    },
-
-    {
-       27,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,
-    -2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,
-
-    -2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,
-    -2204, 2555,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,
-    -2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,-2204,
-    -2204,-2204,-2204,-2204,-2204,-2204, 2555,-2204,-2204,-2204,
-    -2204,-2204,-2204,-2204,-2204
-    },
-
-    {
-       27,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,  928,
-    -2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,
-    -2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,
-    -2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,
-    -2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,
-
-    -2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,-2205,
-    -2205,-2205,-2205,-2205,-2205
-    },
-
-    {
-       27,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,
-    -2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,
-    -2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,
-    -2206,-2206,-2206, 2556,-2206,-2206,-2206,-2206,-2206,-2206,
-    -2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206,
-    -2206,-2206,-2206,-2206,-2206,-2206,-2206,-2206, 2556,-2206,
-    -2206,-2206,-2206,-2206,-2206
-    },
-
-    {
-       27,-2207, 2557, 2557,-2207,-2207,-2207,-2207,-2207,-2207,
-
-    -2207,-2207, 2558,-2207,-2207,-2207,-2207,-2207,-2207,-2207,
-    -2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,
-    -2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,
-    -2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,
-    -2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,-2207,
-    -2207,-2207,-2207,-2207,-2207
-    },
-
-    {
-       27,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,
-    -2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,
-    -2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,
-    -2208,-2208,-2208, 2559,-2208,-2208,-2208,-2208,-2208,-2208,
-
-    -2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208,
-    -2208,-2208,-2208,-2208,-2208,-2208,-2208,-2208, 2559,-2208,
-    -2208,-2208,-2208,-2208,-2208
-    },
-
-    {
-       27,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,
-    -2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,
-    -2209,-2209,-2209,-2209,-2209,-2209,-2209, 2560,-2209,-2209,
-    -2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,
-    -2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,-2209,
-    -2209,-2209, 2560,-2209,-2209,-2209,-2209,-2209,-2209,-2209,
-    -2209,-2209,-2209,-2209,-2209
-
-    },
-
-    {
-       27,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,
-    -2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,
-    -2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,
-    -2210,-2210,-2210, 2561,-2210,-2210,-2210,-2210,-2210,-2210,
-    -2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210,
-    -2210,-2210,-2210,-2210,-2210,-2210,-2210,-2210, 2561,-2210,
-    -2210,-2210,-2210,-2210,-2210
-    },
-
-    {
-       27,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,
-    -2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,
-    -2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,
-
-    -2211,-2211, 2562,-2211,-2211,-2211,-2211,-2211,-2211,-2211,
-    -2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,-2211,
-    -2211,-2211,-2211,-2211,-2211,-2211,-2211, 2562,-2211,-2211,
-    -2211,-2211,-2211,-2211,-2211
-    },
-
-    {
-       27,-2212, 2212, 2212,-2212,-2212,-2212,-2212,-2212,-2212,
-    -2212,-2212, 2213,-2212,-2212,-2212,-2212,-2212,-2212,-2212,
-    -2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,
-    -2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,
-    -2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,
-    -2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,-2212,
-
-    -2212,-2212,-2212,-2212,-2212
-    },
-
-    {
-       27,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,
-    -2213,-2213,-2213,-2213,-2213,-2213, 2563,-2213,-2213,-2213,
-    -2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,
-    -2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,
-    -2213,-2213, 2563,-2213,-2213,-2213,-2213,-2213,-2213,-2213,
-    -2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,-2213,
-    -2213,-2213,-2213,-2213,-2213
-    },
-
-    {
-       27,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,
-    -2214,-2214,-2214,-2214, 2564,-2214,-2214,-2214,-2214,-2214,
-
-    -2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,
-    -2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,
-     2564,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,
-    -2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,-2214,
-    -2214,-2214,-2214,-2214,-2214
-    },
-
-    {
-       27,-2215, 2215, 2215,-2215,-2215,-2215,-2215,-2215,-2215,
-    -2215,-2215, 2216,-2215,-2215,-2215,-2215,-2215,-2215,-2215,
-    -2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,
-    -2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,
-    -2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,
-
-    -2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,-2215,
-    -2215,-2215,-2215,-2215,-2215
-    },
-
-    {
-       27,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,
-    -2216,-2216,-2216,-2216,-2216,-2216, 2565,-2216,-2216,-2216,
-    -2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,
-    -2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,
-    -2216,-2216, 2565,-2216,-2216,-2216,-2216,-2216,-2216,-2216,
-    -2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,-2216,
-    -2216,-2216,-2216,-2216,-2216
-    },
-
-    {
-       27,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,
-
-    -2217,-2217,-2217,-2217, 2566,-2217,-2217,-2217,-2217,-2217,
-    -2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,
-    -2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,
-     2566,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,
-    -2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,-2217,
-    -2217,-2217,-2217,-2217,-2217
-    },
-
-    {
-       27,-2218, 2218, 2218,-2218,-2218,-2218,-2218,-2218,-2218,
-    -2218,-2218, 2219,-2218,-2218,-2218,-2218,-2218,-2218,-2218,
-    -2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,
-    -2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,
-
-    -2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,
-    -2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,-2218,
-    -2218,-2218,-2218,-2218,-2218
-    },
-
-    {
-       27,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,
-    -2219,-2219,-2219,-2219,-2219,-2219, 2567,-2219,-2219,-2219,
-    -2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,
-    -2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,
-    -2219,-2219, 2567,-2219,-2219,-2219,-2219,-2219,-2219,-2219,
-    -2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,-2219,
-    -2219,-2219,-2219,-2219,-2219
-
-    },
-
-    {
-       27,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,
-    -2220,-2220,-2220,-2220, 2568,-2220,-2220,-2220,-2220,-2220,
-    -2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,
-    -2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,
-     2568,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,
-    -2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,-2220,
-    -2220,-2220,-2220,-2220,-2220
-    },
-
-    {
-       27,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,
-    -2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,
-    -2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221, 2569,-2221,
-
-    -2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,
-    -2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,-2221,
-    -2221,-2221,-2221, 2569,-2221,-2221,-2221,-2221,-2221,-2221,
-    -2221,-2221,-2221,-2221,-2221
-    },
-
-    {
-       27,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,
-    -2222,-2222,-2222,-2222, 2570,-2222,-2222,-2222,-2222,-2222,
-    -2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,
-    -2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,
-     2570,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,
-    -2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,-2222,
-
-    -2222,-2222,-2222,-2222,-2222
-    },
-
-    {
-       27,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,
-    -2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,
-    -2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,
-    -2223, 2571,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,
-    -2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,-2223,
-    -2223,-2223,-2223,-2223,-2223,-2223, 2571,-2223,-2223,-2223,
-    -2223,-2223,-2223,-2223,-2223
-    },
-
-    {
-       27,-2224,-2224,-2224,-2224,-2224,-2224,-2224, 2572,-2224,
-    -2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,
-
-    -2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,
-    -2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,
-    -2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,
-    -2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,-2224,
-    -2224,-2224,-2224,-2224,-2224
-    },
-
-    {
-       27,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,
-    -2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,
-    -2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225, 2573,-2225,
-    -2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,
-    -2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,-2225,
-
-    -2225,-2225,-2225, 2573,-2225,-2225,-2225,-2225,-2225,-2225,
-    -2225,-2225,-2225,-2225,-2225
-    },
-
-    {
-       27,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,
-    -2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,
-    -2226,-2226,-2226,-2226,-2226,-2226,-2226, 2574,-2226,-2226,
-    -2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,
-    -2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,-2226,
-    -2226,-2226, 2574,-2226,-2226,-2226,-2226,-2226,-2226,-2226,
-    -2226,-2226,-2226,-2226,-2226
-    },
-
-    {
-       27,-2227, 2575, 2575,-2227,-2227,-2227,-2227,-2227,-2227,
-
-    -2227,-2227, 2576,-2227,-2227,-2227,-2227,-2227,-2227,-2227,
-    -2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,
-    -2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,
-    -2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,
-    -2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,-2227,
-    -2227,-2227,-2227,-2227,-2227
-    },
-
-    {
-       27,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,
-    -2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,
-    -2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,
-    -2228,-2228,-2228, 2577,-2228,-2228,-2228,-2228,-2228,-2228,
-
-    -2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228,
-    -2228,-2228,-2228,-2228,-2228,-2228,-2228,-2228, 2577,-2228,
-    -2228,-2228,-2228,-2228,-2228
-    },
-
-    {
-       27,-2229, 2578, 2578,-2229,-2229,-2229,-2229,-2229,-2229,
-    -2229,-2229, 2579,-2229,-2229,-2229,-2229,-2229,-2229,-2229,
-    -2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,
-    -2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,
-    -2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,
-    -2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,-2229,
-    -2229,-2229,-2229,-2229,-2229
-
-    },
-
-    {
-       27,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,
-    -2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,
-    -2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,
-    -2230,-2230,-2230, 2580,-2230,-2230,-2230,-2230,-2230,-2230,
-    -2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230,
-    -2230,-2230,-2230,-2230,-2230,-2230,-2230,-2230, 2580,-2230,
-    -2230,-2230,-2230,-2230,-2230
-    },
-
-    {
-       27,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,
-    -2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,
-    -2231,-2231,-2231,-2231,-2231,-2231,-2231, 2581,-2231,-2231,
-
-    -2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,
-    -2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,-2231,
-    -2231,-2231, 2581,-2231,-2231,-2231,-2231,-2231,-2231,-2231,
-    -2231,-2231,-2231,-2231,-2231
-    },
-
-    {
-       27,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,  945,
-    -2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,
-    -2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,
-    -2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,
-    -2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,
-    -2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,-2232,
-
-    -2232,-2232,-2232,-2232,-2232
-    },
-
-    {
-       27,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,
-    -2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,
-    -2233,-2233,-2233,-2233,-2233,-2233,-2233, 2582,-2233,-2233,
-    -2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,
-    -2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,-2233,
-    -2233,-2233, 2582,-2233,-2233,-2233,-2233,-2233,-2233,-2233,
-    -2233,-2233,-2233,-2233,-2233
-    },
-
-    {
-       27,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,  948,
-    -2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,
-
-    -2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,
-    -2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,
-    -2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,
-    -2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,-2234,
-    -2234,-2234,-2234,-2234,-2234
-    },
-
-    {
-       27,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,
-    -2235,-2235,-2235, 2583,-2235,-2235,-2235,-2235,-2235,-2235,
-    -2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,
-    -2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,
-    -2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,
-
-    -2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,-2235,
-    -2235,-2235,-2235,-2235,-2235
-    },
-
-    {
-       27,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,
-    -2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,
-    -2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,
-    -2236,-2236, 2584,-2236,-2236,-2236,-2236,-2236,-2236,-2236,
-    -2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,-2236,
-    -2236,-2236,-2236,-2236,-2236,-2236,-2236, 2584,-2236,-2236,
-    -2236,-2236,-2236,-2236,-2236
-    },
-
-    {
-       27,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,
-
-    -2237,-2237,-2237, 2585,-2237,-2237,-2237,-2237,-2237,-2237,
-    -2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,
-    -2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,
-    -2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,
-    -2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,-2237,
-    -2237,-2237,-2237,-2237,-2237
-    },
-
-    {
-       27,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,
-    -2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,
-    -2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,
-    -2238,-2238, 2586,-2238,-2238,-2238,-2238,-2238,-2238,-2238,
-
-    -2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,-2238,
-    -2238,-2238,-2238,-2238,-2238,-2238,-2238, 2586,-2238,-2238,
-    -2238,-2238,-2238,-2238,-2238
-    },
-
-    {
-       27,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,
-    -2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239, 2587,-2239,
-    -2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,
-    -2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,
-    -2239,-2239,-2239,-2239, 2587,-2239,-2239,-2239,-2239,-2239,
-    -2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,-2239,
-    -2239,-2239,-2239,-2239,-2239
-
-    },
-
-    {
-       27,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,
-    -2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,
-    -2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,
-    -2240, 2588,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,
-    -2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,-2240,
-    -2240,-2240,-2240,-2240,-2240,-2240, 2588,-2240,-2240,-2240,
-    -2240,-2240,-2240,-2240,-2240
-    },
-
-    {
-       27,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,  952,
-    -2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,
-    -2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,
-
-    -2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,
-    -2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,
-    -2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,-2241,
-    -2241,-2241,-2241,-2241,-2241
-    },
-
-    {
-       27,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,
-    -2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,
-    -2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242, 2589,-2242,
-    -2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,
-    -2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,-2242,
-    -2242,-2242,-2242, 2589,-2242,-2242,-2242,-2242,-2242,-2242,
-
-    -2242,-2242,-2242,-2242,-2242
-    },
-
-    {
-       27,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,
-    -2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,
-    -2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,
-    -2243, 2590,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,
-    -2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,-2243,
-    -2243,-2243,-2243,-2243,-2243,-2243, 2590,-2243,-2243,-2243,
-    -2243,-2243,-2243,-2243,-2243
-    },
-
-    {
-       27,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244, 2591,
-    -2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,
-
-    -2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,
-    -2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244, 2592,
-    -2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,
-    -2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,-2244,
-    -2244,-2244,-2244,-2244,-2244
-    },
-
-    {
-       27,-2245, 2245, 2245,-2245,-2245,-2245,-2245,-2245,-2245,
-    -2245,-2245, 2246,-2245,-2245,-2245,-2245,-2245,-2245,-2245,
-    -2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,
-    -2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,
-    -2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,
-
-    -2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,-2245,
-    -2245,-2245,-2245,-2245,-2245
-    },
-
-    {
-       27,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,
-    -2246,-2246,-2246,-2246,-2246,-2246, 2593,-2246,-2246,-2246,
-    -2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,
-    -2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,
-    -2246,-2246, 2593,-2246,-2246,-2246,-2246,-2246,-2246,-2246,
-    -2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,-2246,
-    -2246,-2246,-2246,-2246,-2246
-    },
-
-    {
-       27,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,
-
-    -2247,-2247,-2247,-2247, 2594,-2247,-2247,-2247,-2247,-2247,
-    -2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,
-    -2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,
-     2594,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,
-    -2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,-2247,
-    -2247,-2247,-2247,-2247,-2247
-    },
-
-    {
-       27,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,
-    -2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,
-    -2248,-2248,-2248,-2248,-2248,-2248,-2248, 2595,-2248,-2248,
-    -2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,
-
-    -2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,-2248,
-    -2248,-2248, 2595,-2248,-2248,-2248,-2248,-2248,-2248,-2248,
-    -2248,-2248,-2248,-2248,-2248
-    },
-
-    {
-       27,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,
-    -2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,
-    -2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,
-    -2249, 2596,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,
-    -2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,-2249,
-    -2249,-2249,-2249,-2249,-2249,-2249, 2596,-2249,-2249,-2249,
-    -2249,-2249,-2249,-2249,-2249
-
-    },
-
-    {
-       27,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,  957,
-    -2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,
-    -2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,
-    -2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,
-    -2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,
-    -2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,-2250,
-    -2250,-2250,-2250,-2250,-2250
-    },
-
-    {
-       27,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,
-    -2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,
-    -2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,
-
-    -2251,-2251,-2251, 2597,-2251,-2251,-2251,-2251,-2251,-2251,
-    -2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251,
-    -2251,-2251,-2251,-2251,-2251,-2251,-2251,-2251, 2597,-2251,
-    -2251,-2251,-2251,-2251,-2251
-    },
-
-    {
-       27,-2252, 2598, 2598,-2252,-2252,-2252,-2252,-2252,-2252,
-    -2252,-2252, 2599,-2252,-2252,-2252,-2252,-2252,-2252,-2252,
-    -2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,
-    -2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,
-    -2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,
-    -2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,-2252,
-
-    -2252,-2252,-2252,-2252,-2252
-    },
-
-    {
-       27,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,
-    -2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,
-    -2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,
-    -2253,-2253,-2253, 2600,-2253,-2253,-2253,-2253,-2253,-2253,
-    -2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253,
-    -2253,-2253,-2253,-2253,-2253,-2253,-2253,-2253, 2600,-2253,
-    -2253,-2253,-2253,-2253,-2253
-    },
-
-    {
-       27,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,
-    -2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,
-
-    -2254,-2254,-2254,-2254,-2254,-2254,-2254, 2601,-2254,-2254,
-    -2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,
-    -2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,-2254,
-    -2254,-2254, 2601,-2254,-2254,-2254,-2254,-2254,-2254,-2254,
-    -2254,-2254,-2254,-2254,-2254
-    },
-
-    {
-       27,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,
-    -2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,
-    -2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,
-    -2255,-2255,-2255, 2602,-2255,-2255,-2255,-2255,-2255,-2255,
-    -2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255,
-
-    -2255,-2255,-2255,-2255,-2255,-2255,-2255,-2255, 2602,-2255,
-    -2255,-2255,-2255,-2255,-2255
-    },
-
-    {
-       27,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,
-    -2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,
-    -2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,
-    -2256,-2256, 2603,-2256,-2256,-2256,-2256,-2256,-2256,-2256,
-    -2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,-2256,
-    -2256,-2256,-2256,-2256,-2256,-2256,-2256, 2603,-2256,-2256,
-    -2256,-2256,-2256,-2256,-2256
-    },
-
-    {
-       27,-2257, 2257, 2257,-2257,-2257,-2257,-2257,-2257,-2257,
-
-    -2257,-2257, 2258,-2257,-2257,-2257,-2257,-2257,-2257,-2257,
-    -2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,
-    -2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,
-    -2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,
-    -2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,-2257,
-    -2257,-2257,-2257,-2257,-2257
-    },
-
-    {
-       27,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,
-    -2258,-2258,-2258,-2258,-2258,-2258, 2604,-2258,-2258,-2258,
-    -2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,
-    -2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,
-
-    -2258,-2258, 2604,-2258,-2258,-2258,-2258,-2258,-2258,-2258,
-    -2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,-2258,
-    -2258,-2258,-2258,-2258,-2258
-    },
-
-    {
-       27,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,
-    -2259,-2259,-2259,-2259, 2605,-2259,-2259,-2259,-2259,-2259,
-    -2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,
-    -2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,
-     2605,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,
-    -2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,-2259,
-    -2259,-2259,-2259,-2259,-2259
-
-    },
-
-    {
-       27,-2260, 2260, 2260,-2260,-2260,-2260,-2260,-2260,-2260,
-    -2260,-2260, 2261,-2260,-2260,-2260,-2260,-2260,-2260,-2260,
-    -2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,
-    -2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,
-    -2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,
-    -2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,-2260,
-    -2260,-2260,-2260,-2260,-2260
-    },
-
-    {
-       27,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,
-    -2261,-2261,-2261,-2261,-2261,-2261, 2606,-2261,-2261,-2261,
-    -2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,
-
-    -2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,
-    -2261,-2261, 2606,-2261,-2261,-2261,-2261,-2261,-2261,-2261,
-    -2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,-2261,
-    -2261,-2261,-2261,-2261,-2261
-    },
-
-    {
-       27,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,
-    -2262,-2262,-2262,-2262, 2607,-2262,-2262,-2262,-2262,-2262,
-    -2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,
-    -2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,
-     2607,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,
-    -2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,-2262,
-
-    -2262,-2262,-2262,-2262,-2262
-    },
-
-    {
-       27,-2263, 2263, 2263,-2263,-2263,-2263,-2263,-2263,-2263,
-    -2263,-2263, 2264,-2263,-2263,-2263,-2263,-2263,-2263,-2263,
-    -2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,
-    -2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,
-    -2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,
-    -2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,-2263,
-    -2263,-2263,-2263,-2263,-2263
-    },
-
-    {
-       27,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,
-    -2264,-2264,-2264,-2264,-2264,-2264, 2608,-2264,-2264,-2264,
-
-    -2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,
-    -2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,
-    -2264,-2264, 2608,-2264,-2264,-2264,-2264,-2264,-2264,-2264,
-    -2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,-2264,
-    -2264,-2264,-2264,-2264,-2264
-    },
-
-    {
-       27,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,
-    -2265,-2265,-2265,-2265, 2609,-2265,-2265,-2265,-2265,-2265,
-    -2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,
-    -2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,
-     2609,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,
-
-    -2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,-2265,
-    -2265,-2265,-2265,-2265,-2265
-    },
-
-    {
-       27,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,
-    -2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,
-    -2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266, 2610,-2266,
-    -2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,
-    -2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,-2266,
-    -2266,-2266,-2266, 2610,-2266,-2266,-2266,-2266,-2266,-2266,
-    -2266,-2266,-2266,-2266,-2266
-    },
-
-    {
-       27,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,
-
-    -2267,-2267,-2267,-2267, 2611,-2267,-2267,-2267,-2267,-2267,
-    -2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,
-    -2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,
-     2611,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,
-    -2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,-2267,
-    -2267,-2267,-2267,-2267,-2267
-    },
-
-    {
-       27,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,
-    -2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,
-    -2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,
-    -2268, 2612,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,
-
-    -2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,-2268,
-    -2268,-2268,-2268,-2268,-2268,-2268, 2612,-2268,-2268,-2268,
-    -2268,-2268,-2268,-2268,-2268
-    },
-
-    {
-       27,-2269,-2269,-2269,-2269,-2269,-2269,-2269, 2613,-2269,
-    -2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,
-    -2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,
-    -2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,
-    -2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,
-    -2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,-2269,
-    -2269,-2269,-2269,-2269,-2269
-
-    },
-
-    {
-       27,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,
-    -2270,-2270,-2270, 2614,-2270,-2270,-2270,-2270,-2270,-2270,
-    -2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,
-    -2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270, 2615,
-    -2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,
-    -2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,-2270,
-    -2270,-2270,-2270,-2270,-2270
-    },
-
-    {
-       27,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,
-    -2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,
-    -2271,-2271,-2271,-2271,-2271,-2271,-2271, 2616,-2271,-2271,
-
-    -2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,
-    -2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,-2271,
-    -2271,-2271, 2616,-2271,-2271,-2271,-2271,-2271,-2271,-2271,
-    -2271,-2271,-2271,-2271,-2271
-    },
-
-    {
-       27,-2272, 2617, 2617,-2272,-2272,-2272,-2272,-2272,-2272,
-    -2272,-2272, 2618,-2272,-2272,-2272,-2272,-2272,-2272,-2272,
-    -2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,
-    -2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,
-    -2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,
-    -2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,-2272,
-
-    -2272,-2272,-2272,-2272,-2272
-    },
-
-    {
-       27,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,
-    -2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,
-    -2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,
-    -2273,-2273,-2273, 2619,-2273,-2273,-2273,-2273,-2273,-2273,
-    -2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273,
-    -2273,-2273,-2273,-2273,-2273,-2273,-2273,-2273, 2619,-2273,
-    -2273,-2273,-2273,-2273,-2273
-    },
-
-    {
-       27,-2274, 2620, 2620,-2274,-2274,-2274,-2274,-2274,-2274,
-    -2274,-2274, 2621,-2274,-2274,-2274,-2274,-2274,-2274,-2274,
-
-    -2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,
-    -2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,
-    -2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,
-    -2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,-2274,
-    -2274,-2274,-2274,-2274,-2274
-    },
-
-    {
-       27,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,
-    -2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,
-    -2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,
-    -2275,-2275,-2275, 2622,-2275,-2275,-2275,-2275,-2275,-2275,
-    -2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275,
-
-    -2275,-2275,-2275,-2275,-2275,-2275,-2275,-2275, 2622,-2275,
-    -2275,-2275,-2275,-2275,-2275
-    },
-
-    {
-       27,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,
-    -2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,
-    -2276,-2276,-2276,-2276,-2276,-2276,-2276, 2623,-2276,-2276,
-    -2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,
-    -2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,-2276,
-    -2276,-2276, 2623,-2276,-2276,-2276,-2276,-2276,-2276,-2276,
-    -2276,-2276,-2276,-2276,-2276
-    },
-
-    {
-       27,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,  974,
-
-    -2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,
-    -2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,
-    -2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,
-    -2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,
-    -2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,-2277,
-    -2277,-2277,-2277,-2277,-2277
-    },
-
-    {
-       27,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,
-    -2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,
-    -2278,-2278,-2278,-2278,-2278,-2278,-2278, 2624,-2278,-2278,
-    -2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,
-
-    -2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,-2278,
-    -2278,-2278, 2624,-2278,-2278,-2278,-2278,-2278,-2278,-2278,
-    -2278,-2278,-2278,-2278,-2278
-    },
-
-    {
-       27,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,  977,
-    -2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,
-    -2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,
-    -2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,
-    -2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,
-    -2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,-2279,
-    -2279,-2279,-2279,-2279,-2279
-
-    },
-
-    {
-       27,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,
-    -2280,-2280,-2280, 2625,-2280,-2280,-2280,-2280,-2280,-2280,
-    -2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,
-    -2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,
-    -2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,
-    -2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,-2280,
-    -2280,-2280,-2280,-2280,-2280
-    },
-
-    {
-       27,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,
-    -2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,
-    -2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,
-
-    -2281,-2281, 2626,-2281,-2281,-2281,-2281,-2281,-2281,-2281,
-    -2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,-2281,
-    -2281,-2281,-2281,-2281,-2281,-2281,-2281, 2626,-2281,-2281,
-    -2281,-2281,-2281,-2281,-2281
-    },
-
-    {
-       27,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,
-    -2282,-2282,-2282, 2627,-2282,-2282,-2282,-2282,-2282,-2282,
-    -2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,
-    -2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,
-    -2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,
-    -2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,-2282,
-
-    -2282,-2282,-2282,-2282,-2282
-    },
-
-    {
-       27,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,
-    -2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,
-    -2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,
-    -2283,-2283, 2628,-2283,-2283,-2283,-2283,-2283,-2283,-2283,
-    -2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,-2283,
-    -2283,-2283,-2283,-2283,-2283,-2283,-2283, 2628,-2283,-2283,
-    -2283,-2283,-2283,-2283,-2283
-    },
-
-    {
-       27,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,
-    -2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284, 2629,-2284,
-
-    -2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,
-    -2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,
-    -2284,-2284,-2284,-2284, 2629,-2284,-2284,-2284,-2284,-2284,
-    -2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,-2284,
-    -2284,-2284,-2284,-2284,-2284
-    },
-
-    {
-       27,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,
-    -2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,
-    -2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,
-    -2285, 2630,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,
-    -2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,-2285,
-
-    -2285,-2285,-2285,-2285,-2285,-2285, 2630,-2285,-2285,-2285,
-    -2285,-2285,-2285,-2285,-2285
-    },
-
-    {
-       27,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,  981,
-    -2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,
-    -2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,
-    -2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,
-    -2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,
-    -2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,-2286,
-    -2286,-2286,-2286,-2286,-2286
-    },
-
-    {
-       27,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,
-
-    -2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,
-    -2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287, 2631,-2287,
-    -2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,
-    -2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,-2287,
-    -2287,-2287,-2287, 2631,-2287,-2287,-2287,-2287,-2287,-2287,
-    -2287,-2287,-2287,-2287,-2287
-    },
-
-    {
-       27,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,
-    -2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,
-    -2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,
-    -2288, 2632,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,
-
-    -2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,-2288,
-    -2288,-2288,-2288,-2288,-2288,-2288, 2632,-2288,-2288,-2288,
-    -2288,-2288,-2288,-2288,-2288
-    },
-
-    {
-       27,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289, 2633,
-    -2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,
-    -2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,
-    -2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289, 2634,
-    -2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,
-    -2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,-2289,
-    -2289,-2289,-2289,-2289,-2289
-
-    },
-
-    {
-       27,-2290, 2290, 2290,-2290,-2290,-2290,-2290,-2290,-2290,
-    -2290,-2290, 2291,-2290,-2290,-2290,-2290,-2290,-2290,-2290,
-    -2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,
-    -2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,
-    -2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,
-    -2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,-2290,
-    -2290,-2290,-2290,-2290,-2290
-    },
-
-    {
-       27,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,
-    -2291,-2291,-2291,-2291,-2291,-2291, 2635,-2291,-2291,-2291,
-    -2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,
-
-    -2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,
-    -2291,-2291, 2635,-2291,-2291,-2291,-2291,-2291,-2291,-2291,
-    -2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,-2291,
-    -2291,-2291,-2291,-2291,-2291
-    },
-
-    {
-       27,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,
-    -2292,-2292,-2292,-2292, 2636,-2292,-2292,-2292,-2292,-2292,
-    -2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,
-    -2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,
-     2636,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,
-    -2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,-2292,
-
-    -2292,-2292,-2292,-2292,-2292
-    },
-
-    {
-       27,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,
-    -2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,
-    -2293,-2293,-2293,-2293,-2293,-2293,-2293, 2637,-2293,-2293,
-    -2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,
-    -2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,-2293,
-    -2293,-2293, 2637,-2293,-2293,-2293,-2293,-2293,-2293,-2293,
-    -2293,-2293,-2293,-2293,-2293
-    },
-
-    {
-       27,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,
-    -2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,
-
-    -2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,
-    -2294, 2638,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,
-    -2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,-2294,
-    -2294,-2294,-2294,-2294,-2294,-2294, 2638,-2294,-2294,-2294,
-    -2294,-2294,-2294,-2294,-2294
-    },
-
-    {
-       27,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,  986,
-    -2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,
-    -2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,
-    -2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,
-    -2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,
-
-    -2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,-2295,
-    -2295,-2295,-2295,-2295,-2295
-    },
-
-    {
-       27,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,
-    -2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,
-    -2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,
-    -2296,-2296,-2296, 2639,-2296,-2296,-2296,-2296,-2296,-2296,
-    -2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296,
-    -2296,-2296,-2296,-2296,-2296,-2296,-2296,-2296, 2639,-2296,
-    -2296,-2296,-2296,-2296,-2296
-    },
-
-    {
-       27,-2297, 2640, 2640,-2297,-2297,-2297,-2297,-2297,-2297,
-
-    -2297,-2297, 2641,-2297,-2297,-2297,-2297,-2297,-2297,-2297,
-    -2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,
-    -2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,
-    -2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,
-    -2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,-2297,
-    -2297,-2297,-2297,-2297,-2297
-    },
-
-    {
-       27,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,
-    -2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,
-    -2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,
-    -2298,-2298,-2298, 2642,-2298,-2298,-2298,-2298,-2298,-2298,
-
-    -2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298,
-    -2298,-2298,-2298,-2298,-2298,-2298,-2298,-2298, 2642,-2298,
-    -2298,-2298,-2298,-2298,-2298
-    },
-
-    {
-       27,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,
-    -2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,
-    -2299,-2299,-2299,-2299,-2299,-2299,-2299, 2643,-2299,-2299,
-    -2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,
-    -2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,-2299,
-    -2299,-2299, 2643,-2299,-2299,-2299,-2299,-2299,-2299,-2299,
-    -2299,-2299,-2299,-2299,-2299
-
-    },
-
-    {
-       27,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,
-    -2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,
-    -2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,
-    -2300,-2300,-2300, 2644,-2300,-2300,-2300,-2300,-2300,-2300,
-    -2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300,
-    -2300,-2300,-2300,-2300,-2300,-2300,-2300,-2300, 2644,-2300,
-    -2300,-2300,-2300,-2300,-2300
-    },
-
-    {
-       27,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,
-    -2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,
-    -2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,
-
-    -2301,-2301, 2645,-2301,-2301,-2301,-2301,-2301,-2301,-2301,
-    -2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,-2301,
-    -2301,-2301,-2301,-2301,-2301,-2301,-2301, 2645,-2301,-2301,
-    -2301,-2301,-2301,-2301,-2301
-    },
-
-    {
-       27,-2302, 2302, 2302,-2302,-2302,-2302,-2302,-2302,-2302,
-    -2302,-2302, 2303,-2302,-2302,-2302,-2302,-2302,-2302,-2302,
-    -2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,
-    -2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,
-    -2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,
-    -2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,-2302,
-
-    -2302,-2302,-2302,-2302,-2302
-    },
-
-    {
-       27,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,
-    -2303,-2303,-2303,-2303,-2303,-2303, 2646,-2303,-2303,-2303,
-    -2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,
-    -2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,
-    -2303,-2303, 2646,-2303,-2303,-2303,-2303,-2303,-2303,-2303,
-    -2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,-2303,
-    -2303,-2303,-2303,-2303,-2303
-    },
-
-    {
-       27,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,
-    -2304,-2304,-2304,-2304, 2647,-2304,-2304,-2304,-2304,-2304,
-
-    -2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,
-    -2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,
-     2647,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,
-    -2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,-2304,
-    -2304,-2304,-2304,-2304,-2304
-    },
-
-    {
-       27,-2305, 2305, 2305,-2305,-2305,-2305,-2305,-2305,-2305,
-    -2305,-2305, 2306,-2305,-2305,-2305,-2305,-2305,-2305,-2305,
-    -2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,
-    -2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,
-    -2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,
-
-    -2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,-2305,
-    -2305,-2305,-2305,-2305,-2305
-    },
-
-    {
-       27,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,
-    -2306,-2306,-2306,-2306,-2306,-2306, 2648,-2306,-2306,-2306,
-    -2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,
-    -2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,
-    -2306,-2306, 2648,-2306,-2306,-2306,-2306,-2306,-2306,-2306,
-    -2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,-2306,
-    -2306,-2306,-2306,-2306,-2306
-    },
-
-    {
-       27,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,
-
-    -2307,-2307,-2307,-2307, 2649,-2307,-2307,-2307,-2307,-2307,
-    -2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,
-    -2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,
-     2649,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,
-    -2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,-2307,
-    -2307,-2307,-2307,-2307,-2307
-    },
-
-    {
-       27,-2308, 2308, 2308,-2308,-2308,-2308,-2308,-2308,-2308,
-    -2308,-2308, 2309,-2308,-2308,-2308,-2308,-2308,-2308,-2308,
-    -2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,
-    -2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,
-
-    -2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,
-    -2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,-2308,
-    -2308,-2308,-2308,-2308,-2308
-    },
-
-    {
-       27,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,
-    -2309,-2309,-2309,-2309,-2309,-2309, 2650,-2309,-2309,-2309,
-    -2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,
-    -2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,
-    -2309,-2309, 2650,-2309,-2309,-2309,-2309,-2309,-2309,-2309,
-    -2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,-2309,
-    -2309,-2309,-2309,-2309,-2309
-
-    },
-
-    {
-       27,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,
-    -2310,-2310,-2310,-2310, 2651,-2310,-2310,-2310,-2310,-2310,
-    -2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,
-    -2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,
-     2651,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,
-    -2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,-2310,
-    -2310,-2310,-2310,-2310,-2310
-    },
-
-    {
-       27,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,
-    -2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,
-    -2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311, 2652,-2311,
-
-    -2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,
-    -2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,-2311,
-    -2311,-2311,-2311, 2652,-2311,-2311,-2311,-2311,-2311,-2311,
-    -2311,-2311,-2311,-2311,-2311
-    },
-
-    {
-       27,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,
-    -2312,-2312,-2312,-2312, 2653,-2312,-2312,-2312,-2312,-2312,
-    -2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,
-    -2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,
-     2653,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,
-    -2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,-2312,
-
-    -2312,-2312,-2312,-2312,-2312
-    },
-
-    {
-       27,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,
-    -2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,
-    -2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,
-    -2313, 2654,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,
-    -2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,-2313,
-    -2313,-2313,-2313,-2313,-2313,-2313, 2654,-2313,-2313,-2313,
-    -2313,-2313,-2313,-2313,-2313
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366, 2655,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366, 2655,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,
-    -2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,
-    -2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,
-    -2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,
-    -2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,
-
-    -2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,-2315,
-    -2315,-2315,-2315,-2315,-2315
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 2656,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366, 2656,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,
-
-    -2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,
-    -2317,-2317,-2317,-2317,-2317,-2317,-2317, 2657,-2317,-2317,
-    -2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,
-    -2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,-2317,
-    -2317,-2317, 2657,-2317,-2317,-2317,-2317,-2317,-2317,-2317,
-    -2317,-2317,-2317,-2317,-2317
-    },
-
-    {
-       27,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,
-    -2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,
-    -2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,
-    -2318,-2318,-2318, 2658,-2318,-2318,-2318,-2318,-2318,-2318,
-
-    -2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318,
-    -2318,-2318,-2318,-2318,-2318,-2318,-2318,-2318, 2658,-2318,
-    -2318,-2318,-2318,-2318,-2318
-    },
-
-    {
-       27,-2319, 2319, 2319,-2319,-2319,-2319,-2319,-2319,-2319,
-    -2319,-2319, 2320,-2319,-2319,-2319,-2319,-2319,-2319,-2319,
-    -2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,
-    -2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,
-    -2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,
-    -2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,-2319,
-    -2319,-2319,-2319,-2319,-2319
-
-    },
-
-    {
-       27,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,
-    -2320,-2320,-2320,-2320,-2320,-2320, 2659,-2320,-2320,-2320,
-    -2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,
-    -2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,
-    -2320,-2320, 2659,-2320,-2320,-2320,-2320,-2320,-2320,-2320,
-    -2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,-2320,
-    -2320,-2320,-2320,-2320,-2320
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 2660,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2660,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2322, 2322, 2322,-2322,-2322,-2322,-2322,-2322,-2322,
-    -2322,-2322, 2323,-2322,-2322,-2322,-2322,-2322,-2322,-2322,
-    -2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,
-    -2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,
-    -2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,
-    -2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,-2322,
-
-    -2322,-2322,-2322,-2322,-2322
-    },
-
-    {
-       27,-2323,-2323,-2323,-2323,-2323,-2323,-2323,-2323,-2323,
-    -2323,-2323,-2323,-2323,-2323,-2323, 2661,-2323,-2323,-2323,
-    -2323,-2323,-2323,-2323,-2323,-2323,-2323,-2323,-2323, 2662,
-    -2323,-2323,-2323,-2323,-2323,-2323,-2323,-2323,-2323,-2323,
-    -2323,-2323, 2661,-2323,-2323,-2323,-2323,-2323,-2323,-2323,
-    -2323,-2323,-2323,-2323, 2662,-2323,-2323,-2323,-2323,-2323,
-    -2323,-2323,-2323,-2323,-2323
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 2663,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2663,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,
-    -2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,
-    -2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,
-    -2325,-2325,-2325, 2664,-2325,-2325,-2325,-2325,-2325,-2325,
-    -2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325,
-
-    -2325,-2325,-2325,-2325,-2325,-2325,-2325,-2325, 2664,-2325,
-    -2325,-2325,-2325,-2325,-2325
-    },
-
-    {
-       27,-2326, 2326, 2326,-2326,-2326,-2326,-2326,-2326,-2326,
-    -2326,-2326, 2327,-2326,-2326,-2326,-2326,-2326,-2326,-2326,
-    -2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,
-    -2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,
-    -2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,
-    -2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,-2326,
-    -2326,-2326,-2326,-2326,-2326
-    },
-
-    {
-       27,-2327,-2327,-2327,-2327,-2327,-2327,-2327,-2327,-2327,
-
-    -2327,-2327,-2327,-2327,-2327, 2665,-2327,-2327, 2666,-2327,
-    -2327,-2327,-2327,-2327,-2327,-2327,-2327,-2327,-2327,-2327,
-    -2327,-2327, 2667,-2327,-2327,-2327,-2327,-2327,-2327,-2327,
-    -2327, 2665,-2327,-2327, 2666,-2327,-2327,-2327,-2327,-2327,
-    -2327,-2327,-2327,-2327,-2327,-2327,-2327, 2667,-2327,-2327,
-    -2327,-2327,-2327,-2327,-2327
-    },
-
-    {
-       27,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,
-    -2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,
-    -2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,
-    -2328,-2328,-2328, 2668,-2328,-2328,-2328,-2328,-2328,-2328,
-
-    -2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328,
-    -2328,-2328,-2328,-2328,-2328,-2328,-2328,-2328, 2668,-2328,
-    -2328,-2328,-2328,-2328,-2328
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2669,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2669,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2670,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2670,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2331, 2671, 2671,-2331,-2331,-2331,-2331,-2331,-2331,
-    -2331,-2331, 2672,-2331,-2331,-2331,-2331,-2331,-2331,-2331,
-    -2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,
-
-    -2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,
-    -2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,
-    -2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,-2331,
-    -2331,-2331,-2331,-2331,-2331
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2673,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2673,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2333, 2674, 2674,-2333,-2333,-2333,-2333,-2333,-2333,
-    -2333,-2333, 2675,-2333,-2333,-2333,-2333,-2333,-2333,-2333,
-    -2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,
-    -2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,
-    -2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,
-    -2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,-2333,
-    -2333,-2333,-2333,-2333,-2333
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2676,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2676,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 2677,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 2678,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,
-    -2336,-2336,-2336,-2336, 2679,-2336,-2336,-2336,-2336,-2336,
-    -2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,
-    -2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,
-     2679,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,
-    -2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,-2336,
-    -2336,-2336,-2336,-2336,-2336
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185, 2680,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2680,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2681,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 2682,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2682,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,
-    -2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,
-    -2340,-2340,-2340,-2340,-2340,-2340,-2340, 2683,-2340,-2340,
-    -2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,
-    -2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,-2340,
-    -2340,-2340, 2683,-2340,-2340,-2340,-2340,-2340,-2340,-2340,
-    -2340,-2340,-2340,-2340,-2340
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1021,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 2684,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 2685,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 2685,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,
-    -2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,
-
-    -2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344, 2686,-2344,
-    -2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,
-    -2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,-2344,
-    -2344,-2344,-2344, 2686,-2344,-2344,-2344,-2344,-2344,-2344,
-    -2344,-2344,-2344,-2344,-2344
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 2687,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184, 2687,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,
-    -2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,
-    -2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,
-    -2346,-2346,-2346, 2688,-2346,-2346,-2346,-2346,-2346,-2346,
-    -2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346,
-    -2346,-2346,-2346,-2346,-2346,-2346,-2346,-2346, 2688,-2346,
-    -2346,-2346,-2346,-2346,-2346
-    },
-
-    {
-       27,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,
-
-    -2347,-2347,-2347,-2347, 2689,-2347,-2347,-2347,-2347,-2347,
-    -2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,
-    -2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,
-     2689,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,
-    -2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,-2347,
-    -2347,-2347,-2347,-2347,-2347
-    },
-
-    {
-       27,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,
-    -2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348, 2690,-2348,
-    -2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,
-    -2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,
-
-    -2348,-2348,-2348,-2348, 2690,-2348,-2348,-2348,-2348,-2348,
-    -2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,-2348,
-    -2348,-2348,-2348,-2348,-2348
-    },
-
-    {
-       27,-2349, 2349, 2349,-2349,-2349,-2349,-2349,-2349,-2349,
-    -2349,-2349, 2350,-2349,-2349,-2349,-2349,-2349,-2349,-2349,
-    -2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,
-    -2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,
-    -2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,
-    -2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,-2349,
-    -2349,-2349,-2349,-2349,-2349
-
-    },
-
-    {
-       27,-2350,-2350,-2350,-2350,-2350,-2350,-2350,-2350,-2350,
-    -2350,-2350,-2350,-2350,-2350,-2350, 2691,-2350,-2350,-2350,
-    -2350,-2350,-2350,-2350,-2350,-2350,-2350,-2350,-2350, 2692,
-    -2350,-2350,-2350,-2350,-2350,-2350,-2350,-2350,-2350,-2350,
-    -2350,-2350, 2691,-2350,-2350,-2350,-2350,-2350,-2350,-2350,
-    -2350,-2350,-2350,-2350, 2692,-2350,-2350,-2350,-2350,-2350,
-    -2350,-2350,-2350,-2350,-2350
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 2693,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     2693,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 2694,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 2695,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184, 2696,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 2696,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184, 2697,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 2698,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 2697,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 2698,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,
-    -2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,
-    -2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355, 2699,-2355,
-    -2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,
-    -2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,-2355,
-
-    -2355,-2355,-2355, 2699,-2355,-2355,-2355,-2355,-2355,-2355,
-    -2355,-2355,-2355,-2355,-2355
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 2700,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2700,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,
-
-    -2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,
-    -2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357, 2701,-2357,
-    -2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,
-    -2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,-2357,
-    -2357,-2357,-2357, 2701,-2357,-2357,-2357,-2357,-2357,-2357,
-    -2357,-2357,-2357,-2357,-2357
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 2702,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2702,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,
-    -2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,
-    -2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359, 2703,-2359,
-    -2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,
-    -2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,-2359,
-    -2359,-2359,-2359, 2703,-2359,-2359,-2359,-2359,-2359,-2359,
-    -2359,-2359,-2359,-2359,-2359
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 2704,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2704,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184, 2705,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 2705,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,
-    -2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,
-    -2362,-2362,-2362,-2362,-2362,-2362,-2362, 2706,-2362,-2362,
-    -2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,
-    -2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,-2362,
-    -2362,-2362, 2706,-2362,-2362,-2362,-2362,-2362,-2362,-2362,
-
-    -2362,-2362,-2362,-2362,-2362
-    },
-
-    {
-       27,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,
-    -2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,
-    -2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,
-    -2363, 2707,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,
-    -2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,-2363,
-    -2363,-2363,-2363,-2363,-2363,-2363, 2707,-2363,-2363,-2363,
-    -2363,-2363,-2363,-2363,-2363
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1038,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,
-    -2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,
-    -2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,
-    -2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,
-    -2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,
-
-    -2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,-2365,
-    -2365,-2365,-2365,-2365,-2365
-    },
-
-    {
-       27,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,
-    -2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,
-    -2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,
-    -2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,
-    -2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,
-    -2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,-2366,
-    -2366,-2366,-2366,-2366,-2366
-    },
-
-    {
-       27,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,
-
-    -2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,
-    -2367,-2367,-2367,-2367,-2367,-2367,-2367, 2708,-2367,-2367,
-    -2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,
-    -2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,-2367,
-    -2367,-2367, 2708,-2367,-2367,-2367,-2367,-2367,-2367,-2367,
-    -2367,-2367,-2367,-2367,-2367
-    },
-
-    {
-       27,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,
-    -2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,
-    -2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,
-    -2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,
-
-    -2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,
-    -2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,-2368,
-    -2368,-2368,-2368,-2368,-2368
-    },
-
-    {
-       27,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,
-    -2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,
-    -2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,
-    -2369,-2369,-2369, 2709,-2369,-2369,-2369,-2369,-2369,-2369,
-    -2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369,
-    -2369,-2369,-2369,-2369,-2369,-2369,-2369,-2369, 2709,-2369,
-    -2369,-2369,-2369,-2369,-2369
-
-    },
-
-    {
-       27,-2370, 2370, 2370,-2370,-2370,-2370,-2370,-2370,-2370,
-    -2370,-2370, 2371,-2370,-2370,-2370,-2370,-2370,-2370,-2370,
-    -2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,
-    -2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,
-    -2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,
-    -2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,-2370,
-    -2370,-2370,-2370,-2370,-2370
-    },
-
-    {
-       27,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,
-    -2371,-2371,-2371,-2371,-2371,-2371, 2710,-2371,-2371,-2371,
-    -2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,
-
-    -2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,
-    -2371,-2371, 2710,-2371,-2371,-2371,-2371,-2371,-2371,-2371,
-    -2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,-2371,
-    -2371,-2371,-2371,-2371,-2371
-    },
-
-    {
-       27,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,
-    -2372,-2372,-2372,-2372, 2711,-2372,-2372,-2372,-2372,-2372,
-    -2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,
-    -2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,
-     2711,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,
-    -2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,-2372,
-
-    -2372,-2372,-2372,-2372,-2372
-    },
-
-    {
-       27,-2373, 2373, 2373,-2373,-2373,-2373,-2373,-2373,-2373,
-    -2373,-2373, 2374,-2373,-2373,-2373,-2373,-2373,-2373,-2373,
-    -2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,
-    -2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,
-    -2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,
-    -2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,-2373,
-    -2373,-2373,-2373,-2373,-2373
-    },
-
-    {
-       27,-2374,-2374,-2374,-2374,-2374,-2374,-2374,-2374,-2374,
-    -2374,-2374,-2374,-2374,-2374,-2374, 2712,-2374,-2374,-2374,
-
-    -2374,-2374,-2374,-2374,-2374,-2374,-2374,-2374,-2374, 2713,
-    -2374,-2374,-2374,-2374,-2374,-2374,-2374,-2374,-2374,-2374,
-    -2374,-2374, 2712,-2374,-2374,-2374,-2374,-2374,-2374,-2374,
-    -2374,-2374,-2374,-2374, 2713,-2374,-2374,-2374,-2374,-2374,
-    -2374,-2374,-2374,-2374,-2374
-    },
-
-    {
-       27,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,
-    -2375,-2375,-2375,-2375, 2714,-2375,-2375,-2375,-2375,-2375,
-    -2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,
-    -2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,
-     2714,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,
-
-    -2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,-2375,
-    -2375,-2375,-2375,-2375,-2375
-    },
-
-    {
-       27,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,
-    -2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,
-    -2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,
-    -2376,-2376,-2376, 2715,-2376,-2376,-2376,-2376,-2376,-2376,
-    -2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376,
-    -2376,-2376,-2376,-2376,-2376,-2376,-2376,-2376, 2715,-2376,
-    -2376,-2376,-2376,-2376,-2376
-    },
-
-    {
-       27,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,
-
-    -2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,
-    -2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,
-    -2377,-2377,-2377, 2716,-2377,-2377,-2377,-2377,-2377,-2377,
-    -2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377,
-    -2377,-2377,-2377,-2377,-2377,-2377,-2377,-2377, 2716,-2377,
-    -2377,-2377,-2377,-2377,-2377
-    },
-
-    {
-       27,-2378, 2717, 2717,-2378,-2378,-2378,-2378,-2378,-2378,
-    -2378,-2378, 2718,-2378,-2378,-2378,-2378,-2378,-2378,-2378,
-    -2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,
-    -2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,
-
-    -2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,
-    -2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,-2378,
-    -2378,-2378,-2378,-2378,-2378
-    },
-
-    {
-       27,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,
-    -2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,
-    -2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,
-    -2379,-2379,-2379, 2719,-2379,-2379,-2379,-2379,-2379,-2379,
-    -2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379,
-    -2379,-2379,-2379,-2379,-2379,-2379,-2379,-2379, 2719,-2379,
-    -2379,-2379,-2379,-2379,-2379
-
-    },
-
-    {
-       27,-2380, 2720, 2720,-2380,-2380,-2380,-2380,-2380,-2380,
-    -2380,-2380, 2721,-2380,-2380,-2380,-2380,-2380,-2380,-2380,
-    -2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,
-    -2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,
-    -2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,
-    -2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,-2380,
-    -2380,-2380,-2380,-2380,-2380
-    },
-
-    {
-       27,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,
-    -2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,
-    -2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,
-
-    -2381,-2381,-2381, 2722,-2381,-2381,-2381,-2381,-2381,-2381,
-    -2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381,
-    -2381,-2381,-2381,-2381,-2381,-2381,-2381,-2381, 2722,-2381,
-    -2381,-2381,-2381,-2381,-2381
-    },
-
-    {
-       27,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382, 2723,
-    -2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,
-    -2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,
-    -2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382, 2724,
-    -2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,
-    -2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,-2382,
-
-    -2382,-2382,-2382,-2382,-2382
-    },
-
-    {
-       27,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,
-    -2383,-2383,-2383,-2383, 2725,-2383,-2383,-2383,-2383,-2383,
-    -2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,
-    -2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,
-     2725,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,
-    -2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,-2383,
-    -2383,-2383,-2383,-2383,-2383
-    },
-
-    {
-       27,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,
-    -2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,
-
-    -2384,-2384,-2384,-2384,-2384,-2384,-2384, 2726,-2384,-2384,
-    -2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,
-    -2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,-2384,
-    -2384,-2384, 2726,-2384,-2384,-2384,-2384,-2384,-2384,-2384,
-    -2384,-2384,-2384,-2384,-2384
-    },
-
-    {
-       27,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385, 1060,
-    -2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,
-    -2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,
-    -2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,
-    -2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,
-
-    -2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,-2385,
-    -2385,-2385,-2385,-2385,-2385
-    },
-
-    {
-       27,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,
-    -2386,-2386,-2386, 2727,-2386,-2386,-2386,-2386,-2386,-2386,
-    -2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,
-    -2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,
-    -2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,
-    -2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,-2386,
-    -2386,-2386,-2386,-2386,-2386
-    },
-
-    {
-       27,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,
-
-    -2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,
-    -2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,
-    -2387,-2387, 2728,-2387,-2387,-2387,-2387,-2387,-2387,-2387,
-    -2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,-2387,
-    -2387,-2387,-2387,-2387,-2387,-2387,-2387, 2728,-2387,-2387,
-    -2387,-2387,-2387,-2387,-2387
-    },
-
-    {
-       27,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,
-    -2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,
-    -2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388, 2729,-2388,
-    -2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,
-
-    -2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,-2388,
-    -2388,-2388,-2388, 2729,-2388,-2388,-2388,-2388,-2388,-2388,
-    -2388,-2388,-2388,-2388,-2388
-    },
-
-    {
-       27,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,
-    -2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,
-    -2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,
-    -2389, 2730,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,
-    -2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,-2389,
-    -2389,-2389,-2389,-2389,-2389,-2389, 2730,-2389,-2389,-2389,
-    -2389,-2389,-2389,-2389,-2389
-
-    },
-
-    {
-       27,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,
-    -2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,
-    -2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,
-    -2390,-2390,-2390, 2731,-2390,-2390,-2390,-2390,-2390,-2390,
-    -2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390,
-    -2390,-2390,-2390,-2390,-2390,-2390,-2390,-2390, 2731,-2390,
-    -2390,-2390,-2390,-2390,-2390
-    },
-
-    {
-       27,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,
-    -2391,-2391,-2391,-2391, 2732,-2391,-2391,-2391,-2391,-2391,
-    -2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,
-
-    -2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,
-     2732,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,
-    -2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,-2391,
-    -2391,-2391,-2391,-2391,-2391
-    },
-
-    {
-       27,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,
-    -2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392, 2733,-2392,
-    -2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,
-    -2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,
-    -2392,-2392,-2392,-2392, 2733,-2392,-2392,-2392,-2392,-2392,
-    -2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,-2392,
-
-    -2392,-2392,-2392,-2392,-2392
-    },
-
-    {
-       27,-2393, 2393, 2393,-2393,-2393,-2393,-2393,-2393,-2393,
-    -2393,-2393, 2394,-2393,-2393,-2393,-2393,-2393,-2393,-2393,
-    -2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,
-    -2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,
-    -2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,
-    -2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,-2393,
-    -2393,-2393,-2393,-2393,-2393
-    },
-
-    {
-       27,-2394,-2394,-2394,-2394,-2394,-2394,-2394,-2394,-2394,
-    -2394,-2394,-2394,-2394,-2394,-2394, 2734,-2394,-2394,-2394,
-
-    -2394,-2394,-2394,-2394,-2394,-2394,-2394,-2394,-2394, 2735,
-    -2394,-2394,-2394,-2394,-2394,-2394,-2394,-2394,-2394,-2394,
-    -2394,-2394, 2734,-2394,-2394,-2394,-2394,-2394,-2394,-2394,
-    -2394,-2394,-2394,-2394, 2735,-2394,-2394,-2394,-2394,-2394,
-    -2394,-2394,-2394,-2394,-2394
-    },
-
-    {
-       27,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,
-    -2395,-2395,-2395,-2395, 2736,-2395,-2395,-2395,-2395,-2395,
-    -2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,
-    -2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,
-     2736,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,
-
-    -2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,-2395,
-    -2395,-2395,-2395,-2395,-2395
-    },
-
-    {
-       27,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396, 2737,
-    -2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,
-    -2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,
-    -2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396, 2738,
-    -2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,
-    -2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,-2396,
-    -2396,-2396,-2396,-2396,-2396
-    },
-
-    {
-       27,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,
-
-    -2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,
-    -2397,-2397, 2739,-2397,-2397,-2397,-2397,-2397,-2397,-2397,
-    -2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,
-    -2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397, 2739,-2397,
-    -2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,-2397,
-    -2397,-2397,-2397,-2397,-2397
-    },
-
-    {
-       27,-2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398,
-    -2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398, 2740,-2398,
-    -2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398,
-    -2398,-2398,-2398,-2398, 2741,-2398,-2398,-2398,-2398,-2398,
-
-    -2398,-2398,-2398,-2398, 2740,-2398,-2398,-2398,-2398,-2398,
-    -2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398,-2398, 2741,
-    -2398,-2398,-2398,-2398,-2398
-    },
-
-    {
-       27,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,
-    -2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,
-    -2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399, 2742,-2399,
-    -2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,
-    -2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,-2399,
-    -2399,-2399,-2399, 2742,-2399,-2399,-2399,-2399,-2399,-2399,
-    -2399,-2399,-2399,-2399,-2399
-
-    },
-
-    {
-       27,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,
-    -2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,
-    -2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,
-    -2400, 2743,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,
-    -2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,-2400,
-    -2400,-2400,-2400,-2400,-2400,-2400, 2743,-2400,-2400,-2400,
-    -2400,-2400,-2400,-2400,-2400
-    },
-
-    {
-       27,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,
-    -2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,
-    -2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401, 2744,-2401,
-
-    -2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,
-    -2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,-2401,
-    -2401,-2401,-2401, 2744,-2401,-2401,-2401,-2401,-2401,-2401,
-    -2401,-2401,-2401,-2401,-2401
-    },
-
-    {
-       27,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,
-    -2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,
-    -2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,
-    -2402, 2745,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,
-    -2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,-2402,
-    -2402,-2402,-2402,-2402,-2402,-2402, 2745,-2402,-2402,-2402,
-
-    -2402,-2402,-2402,-2402,-2402
-    },
-
-    {
-       27,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,
-    -2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,
-    -2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403, 2746,-2403,
-    -2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,
-    -2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,-2403,
-    -2403,-2403,-2403, 2746,-2403,-2403,-2403,-2403,-2403,-2403,
-    -2403,-2403,-2403,-2403,-2403
-    },
-
-    {
-       27,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,
-    -2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,
-
-    -2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,
-    -2404, 2747,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,
-    -2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,-2404,
-    -2404,-2404,-2404,-2404,-2404,-2404, 2747,-2404,-2404,-2404,
-    -2404,-2404,-2404,-2404,-2404
-    },
-
-    {
-       27,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,
-    -2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,
-    -2405,-2405,-2405,-2405,-2405,-2405,-2405, 2748,-2405,-2405,
-    -2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,
-    -2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,-2405,
-
-    -2405,-2405, 2748,-2405,-2405,-2405,-2405,-2405,-2405,-2405,
-    -2405,-2405,-2405,-2405,-2405
-    },
-
-    {
-       27,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,
-    -2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,
-    -2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,
-    -2406, 2749,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,
-    -2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,-2406,
-    -2406,-2406,-2406,-2406,-2406,-2406, 2749,-2406,-2406,-2406,
-    -2406,-2406,-2406,-2406,-2406
-    },
-
-    {
-       27,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407, 1075,
-
-    -2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,
-    -2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,
-    -2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,
-    -2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,
-    -2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,-2407,
-    -2407,-2407,-2407,-2407,-2407
-    },
-
-    {
-       27,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,
-    -2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,
-    -2408,-2408,-2408,-2408,-2408,-2408,-2408, 2750,-2408,-2408,
-    -2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,
-
-    -2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,-2408,
-    -2408,-2408, 2750,-2408,-2408,-2408,-2408,-2408,-2408,-2408,
-    -2408,-2408,-2408,-2408,-2408
-    },
-
-    {
-       27,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,
-    -2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,
-    -2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,
-    -2409,-2409,-2409, 2751,-2409,-2409,-2409,-2409,-2409,-2409,
-    -2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409,
-    -2409,-2409,-2409,-2409,-2409,-2409,-2409,-2409, 2751,-2409,
-    -2409,-2409,-2409,-2409,-2409
-
-    },
-
-    {
-       27,-2410, 2410, 2410,-2410,-2410,-2410,-2410,-2410,-2410,
-    -2410,-2410, 2411,-2410,-2410,-2410,-2410,-2410,-2410,-2410,
-    -2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,
-    -2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,
-    -2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,
-    -2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,-2410,
-    -2410,-2410,-2410,-2410,-2410
-    },
-
-    {
-       27,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,
-    -2411,-2411,-2411,-2411,-2411,-2411, 2752,-2411,-2411,-2411,
-    -2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,
-
-    -2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,
-    -2411,-2411, 2752,-2411,-2411,-2411,-2411,-2411,-2411,-2411,
-    -2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,-2411,
-    -2411,-2411,-2411,-2411,-2411
-    },
-
-    {
-       27,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,
-    -2412,-2412,-2412,-2412, 2753,-2412,-2412,-2412,-2412,-2412,
-    -2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,
-    -2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,
-     2753,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,
-    -2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,-2412,
-
-    -2412,-2412,-2412,-2412,-2412
-    },
-
-    {
-       27,-2413, 2413, 2413,-2413,-2413,-2413,-2413,-2413,-2413,
-    -2413,-2413, 2414,-2413,-2413,-2413,-2413,-2413,-2413,-2413,
-    -2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,
-    -2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,
-    -2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,
-    -2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,-2413,
-    -2413,-2413,-2413,-2413,-2413
-    },
-
-    {
-       27,-2414,-2414,-2414,-2414,-2414,-2414,-2414,-2414,-2414,
-    -2414,-2414,-2414,-2414,-2414,-2414, 2754,-2414,-2414,-2414,
-
-    -2414,-2414,-2414,-2414,-2414,-2414,-2414,-2414,-2414, 2755,
-    -2414,-2414,-2414,-2414,-2414,-2414,-2414,-2414,-2414,-2414,
-    -2414,-2414, 2754,-2414,-2414,-2414,-2414,-2414,-2414,-2414,
-    -2414,-2414,-2414,-2414, 2755,-2414,-2414,-2414,-2414,-2414,
-    -2414,-2414,-2414,-2414,-2414
-    },
-
-    {
-       27,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,
-    -2415,-2415,-2415,-2415, 2756,-2415,-2415,-2415,-2415,-2415,
-    -2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,
-    -2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,
-     2756,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,
-
-    -2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,-2415,
-    -2415,-2415,-2415,-2415,-2415
-    },
-
-    {
-       27,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,
-    -2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,
-    -2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,
-    -2416,-2416,-2416, 2757,-2416,-2416,-2416,-2416,-2416,-2416,
-    -2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416,
-    -2416,-2416,-2416,-2416,-2416,-2416,-2416,-2416, 2757,-2416,
-    -2416,-2416,-2416,-2416,-2416
-    },
-
-    {
-       27,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,
-
-    -2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,
-    -2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,
-    -2417,-2417,-2417, 2758,-2417,-2417,-2417,-2417,-2417,-2417,
-    -2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417,
-    -2417,-2417,-2417,-2417,-2417,-2417,-2417,-2417, 2758,-2417,
-    -2417,-2417,-2417,-2417,-2417
-    },
-
-    {
-       27,-2418, 2759, 2759,-2418,-2418,-2418,-2418,-2418,-2418,
-    -2418,-2418, 2760,-2418,-2418,-2418,-2418,-2418,-2418,-2418,
-    -2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,
-    -2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,
-
-    -2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,
-    -2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,-2418,
-    -2418,-2418,-2418,-2418,-2418
-    },
-
-    {
-       27,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,
-    -2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,
-    -2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,
-    -2419,-2419,-2419, 2761,-2419,-2419,-2419,-2419,-2419,-2419,
-    -2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419,
-    -2419,-2419,-2419,-2419,-2419,-2419,-2419,-2419, 2761,-2419,
-    -2419,-2419,-2419,-2419,-2419
-
-    },
-
-    {
-       27,-2420, 2762, 2762,-2420,-2420,-2420,-2420,-2420,-2420,
-    -2420,-2420, 2763,-2420,-2420,-2420,-2420,-2420,-2420,-2420,
-    -2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,
-    -2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,
-    -2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,
-    -2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,-2420,
-    -2420,-2420,-2420,-2420,-2420
-    },
-
-    {
-       27,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,
-    -2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,
-    -2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,
-
-    -2421,-2421,-2421, 2764,-2421,-2421,-2421,-2421,-2421,-2421,
-    -2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421,
-    -2421,-2421,-2421,-2421,-2421,-2421,-2421,-2421, 2764,-2421,
-    -2421,-2421,-2421,-2421,-2421
-    },
-
-    {
-       27,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422, 2765,
-    -2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,
-    -2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,
-    -2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422, 2766,
-    -2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,
-    -2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,-2422,
-
-    -2422,-2422,-2422,-2422,-2422
-    },
-
-    {
-       27,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,
-    -2423,-2423,-2423,-2423, 2767,-2423,-2423,-2423,-2423,-2423,
-    -2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,
-    -2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,
-     2767,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,
-    -2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,-2423,
-    -2423,-2423,-2423,-2423,-2423
-    },
-
-    {
-       27,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,
-    -2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,
-
-    -2424,-2424,-2424,-2424,-2424,-2424,-2424, 2768,-2424,-2424,
-    -2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,
-    -2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,-2424,
-    -2424,-2424, 2768,-2424,-2424,-2424,-2424,-2424,-2424,-2424,
-    -2424,-2424,-2424,-2424,-2424
-    },
-
-    {
-       27,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425, 1092,
-    -2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,
-    -2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,
-    -2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,
-    -2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,
-
-    -2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,-2425,
-    -2425,-2425,-2425,-2425,-2425
-    },
-
-    {
-       27,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,
-    -2426,-2426,-2426, 2769,-2426,-2426,-2426,-2426,-2426,-2426,
-    -2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,
-    -2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,
-    -2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,
-    -2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,-2426,
-    -2426,-2426,-2426,-2426,-2426
-    },
-
-    {
-       27,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,
-
-    -2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,
-    -2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,
-    -2427,-2427, 2770,-2427,-2427,-2427,-2427,-2427,-2427,-2427,
-    -2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,-2427,
-    -2427,-2427,-2427,-2427,-2427,-2427,-2427, 2770,-2427,-2427,
-    -2427,-2427,-2427,-2427,-2427
-    },
-
-    {
-       27,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,
-    -2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,
-    -2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428, 2771,-2428,
-    -2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,
-
-    -2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,-2428,
-    -2428,-2428,-2428, 2771,-2428,-2428,-2428,-2428,-2428,-2428,
-    -2428,-2428,-2428,-2428,-2428
-    },
-
-    {
-       27,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,
-    -2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,
-    -2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,
-    -2429, 2772,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,
-    -2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,-2429,
-    -2429,-2429,-2429,-2429,-2429,-2429, 2772,-2429,-2429,-2429,
-    -2429,-2429,-2429,-2429,-2429
-
-    },
-
-    {
-       27,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,
-    -2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,
-    -2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,
-    -2430,-2430,-2430, 2773,-2430,-2430,-2430,-2430,-2430,-2430,
-    -2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430,
-    -2430,-2430,-2430,-2430,-2430,-2430,-2430,-2430, 2773,-2430,
-    -2430,-2430,-2430,-2430,-2430
-    },
-
-    {
-       27,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,
-    -2431,-2431,-2431,-2431, 2774,-2431,-2431,-2431,-2431,-2431,
-    -2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,
-
-    -2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,
-     2774,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,
-    -2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,-2431,
-    -2431,-2431,-2431,-2431,-2431
-    },
-
-    {
-       27,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,
-    -2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432, 2775,-2432,
-    -2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,
-    -2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,
-    -2432,-2432,-2432,-2432, 2775,-2432,-2432,-2432,-2432,-2432,
-    -2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,-2432,
-
-    -2432,-2432,-2432,-2432,-2432
-    },
-
-    {
-       27,-2433, 2433, 2433,-2433,-2433,-2433,-2433,-2433,-2433,
-    -2433,-2433, 2434,-2433,-2433,-2433,-2433,-2433,-2433,-2433,
-    -2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,
-    -2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,
-    -2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,
-    -2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,-2433,
-    -2433,-2433,-2433,-2433,-2433
-    },
-
-    {
-       27,-2434,-2434,-2434,-2434,-2434,-2434,-2434,-2434,-2434,
-    -2434,-2434,-2434,-2434,-2434,-2434, 2776,-2434,-2434,-2434,
-
-    -2434,-2434,-2434,-2434,-2434,-2434,-2434,-2434,-2434, 2777,
-    -2434,-2434,-2434,-2434,-2434,-2434,-2434,-2434,-2434,-2434,
-    -2434,-2434, 2776,-2434,-2434,-2434,-2434,-2434,-2434,-2434,
-    -2434,-2434,-2434,-2434, 2777,-2434,-2434,-2434,-2434,-2434,
-    -2434,-2434,-2434,-2434,-2434
-    },
-
-    {
-       27,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,
-    -2435,-2435,-2435,-2435, 2778,-2435,-2435,-2435,-2435,-2435,
-    -2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,
-    -2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,
-     2778,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,
-
-    -2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,-2435,
-    -2435,-2435,-2435,-2435,-2435
-    },
-
-    {
-       27,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436, 2779,
-    -2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,
-    -2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,
-    -2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436, 2780,
-    -2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,
-    -2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,-2436,
-    -2436,-2436,-2436,-2436,-2436
-    },
-
-    {
-       27,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,
-
-    -2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,
-    -2437,-2437, 2781,-2437,-2437,-2437,-2437,-2437,-2437,-2437,
-    -2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,
-    -2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437, 2781,-2437,
-    -2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,-2437,
-    -2437,-2437,-2437,-2437,-2437
-    },
-
-    {
-       27,-2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438,
-    -2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438, 2782,-2438,
-    -2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438,
-    -2438,-2438,-2438,-2438, 2783,-2438,-2438,-2438,-2438,-2438,
-
-    -2438,-2438,-2438,-2438, 2782,-2438,-2438,-2438,-2438,-2438,
-    -2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438,-2438, 2783,
-    -2438,-2438,-2438,-2438,-2438
-    },
-
-    {
-       27,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,
-    -2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,
-    -2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439, 2784,-2439,
-    -2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,
-    -2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,-2439,
-    -2439,-2439,-2439, 2784,-2439,-2439,-2439,-2439,-2439,-2439,
-    -2439,-2439,-2439,-2439,-2439
-
-    },
-
-    {
-       27,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,
-    -2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,
-    -2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,
-    -2440, 2785,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,
-    -2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,-2440,
-    -2440,-2440,-2440,-2440,-2440,-2440, 2785,-2440,-2440,-2440,
-    -2440,-2440,-2440,-2440,-2440
-    },
-
-    {
-       27,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,
-    -2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,
-    -2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441, 2786,-2441,
-
-    -2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,
-    -2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,-2441,
-    -2441,-2441,-2441, 2786,-2441,-2441,-2441,-2441,-2441,-2441,
-    -2441,-2441,-2441,-2441,-2441
-    },
-
-    {
-       27,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,
-    -2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,
-    -2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,
-    -2442, 2787,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,
-    -2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,-2442,
-    -2442,-2442,-2442,-2442,-2442,-2442, 2787,-2442,-2442,-2442,
-
-    -2442,-2442,-2442,-2442,-2442
-    },
-
-    {
-       27,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,
-    -2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,
-    -2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443, 2788,-2443,
-    -2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,
-    -2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,-2443,
-    -2443,-2443,-2443, 2788,-2443,-2443,-2443,-2443,-2443,-2443,
-    -2443,-2443,-2443,-2443,-2443
-    },
-
-    {
-       27,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,
-    -2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,
-
-    -2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,
-    -2444, 2789,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,
-    -2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,-2444,
-    -2444,-2444,-2444,-2444,-2444,-2444, 2789,-2444,-2444,-2444,
-    -2444,-2444,-2444,-2444,-2444
-    },
-
-    {
-       27,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,
-    -2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,
-    -2445,-2445,-2445,-2445,-2445,-2445,-2445, 2790,-2445,-2445,
-    -2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,
-    -2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,-2445,
-
-    -2445,-2445, 2790,-2445,-2445,-2445,-2445,-2445,-2445,-2445,
-    -2445,-2445,-2445,-2445,-2445
-    },
-
-    {
-       27,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,
-    -2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,
-    -2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,
-    -2446, 2791,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,
-    -2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,-2446,
-    -2446,-2446,-2446,-2446,-2446,-2446, 2791,-2446,-2446,-2446,
-    -2446,-2446,-2446,-2446,-2446
-    },
-
-    {
-       27,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447, 1107,
-
-    -2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,
-    -2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,
-    -2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,
-    -2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,
-    -2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,-2447,
-    -2447,-2447,-2447,-2447,-2447
-    },
-
-    {
-       27,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,
-    -2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,
-    -2448,-2448,-2448,-2448,-2448,-2448,-2448, 2792,-2448,-2448,
-    -2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,
-
-    -2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,-2448,
-    -2448,-2448, 2792,-2448,-2448,-2448,-2448,-2448,-2448,-2448,
-    -2448,-2448,-2448,-2448,-2448
-    },
-
-    {
-       27,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,
-    -2449,-2449,-2449,-2449, 2793,-2449,-2449,-2449,-2449,-2449,
-    -2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,
-    -2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,
-     2793,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,
-    -2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,-2449,
-    -2449,-2449,-2449,-2449,-2449
-
-    },
-
-    {
-       27,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,
-    -2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,
-    -2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,
-    -2450,-2450,-2450, 2794,-2450,-2450,-2450,-2450,-2450,-2450,
-    -2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450,
-    -2450,-2450,-2450,-2450,-2450,-2450,-2450,-2450, 2794,-2450,
-    -2450,-2450,-2450,-2450,-2450
-    },
-
-    {
-       27,-2451, 2451, 2451,-2451,-2451,-2451,-2451,-2451,-2451,
-    -2451,-2451, 2452,-2451,-2451,-2451,-2451,-2451,-2451,-2451,
-    -2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,
-
-    -2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,
-    -2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,
-    -2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,-2451,
-    -2451,-2451,-2451,-2451,-2451
-    },
-
-    {
-       27,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,
-    -2452,-2452,-2452,-2452,-2452,-2452, 2795,-2452,-2452,-2452,
-    -2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,
-    -2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,
-    -2452,-2452, 2795,-2452,-2452,-2452,-2452,-2452,-2452,-2452,
-    -2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,-2452,
-
-    -2452,-2452,-2452,-2452,-2452
-    },
-
-    {
-       27,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,
-    -2453,-2453,-2453,-2453, 2796,-2453,-2453,-2453,-2453,-2453,
-    -2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,
-    -2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,
-     2796,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,
-    -2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,-2453,
-    -2453,-2453,-2453,-2453,-2453
-    },
-
-    {
-       27,-2454, 2454, 2454,-2454,-2454,-2454,-2454,-2454,-2454,
-    -2454,-2454, 2455,-2454,-2454,-2454,-2454,-2454,-2454,-2454,
-
-    -2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,
-    -2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,
-    -2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,
-    -2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,-2454,
-    -2454,-2454,-2454,-2454,-2454
-    },
-
-    {
-       27,-2455,-2455,-2455,-2455,-2455,-2455,-2455,-2455,-2455,
-    -2455,-2455,-2455,-2455,-2455,-2455, 2797,-2455,-2455,-2455,
-    -2455,-2455,-2455,-2455,-2455,-2455,-2455,-2455,-2455, 2798,
-    -2455,-2455,-2455,-2455,-2455,-2455,-2455,-2455,-2455,-2455,
-    -2455,-2455, 2797,-2455,-2455,-2455,-2455,-2455,-2455,-2455,
-
-    -2455,-2455,-2455,-2455, 2798,-2455,-2455,-2455,-2455,-2455,
-    -2455,-2455,-2455,-2455,-2455
-    },
-
-    {
-       27,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,
-    -2456,-2456,-2456,-2456, 2799,-2456,-2456,-2456,-2456,-2456,
-    -2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,
-    -2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,
-     2799,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,
-    -2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,-2456,
-    -2456,-2456,-2456,-2456,-2456
-    },
-
-    {
-       27,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,
-
-    -2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,
-    -2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,
-    -2457,-2457,-2457, 2800,-2457,-2457,-2457,-2457,-2457,-2457,
-    -2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457,
-    -2457,-2457,-2457,-2457,-2457,-2457,-2457,-2457, 2800,-2457,
-    -2457,-2457,-2457,-2457,-2457
-    },
-
-    {
-       27,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,
-    -2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,
-    -2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,
-    -2458,-2458,-2458, 2801,-2458,-2458,-2458,-2458,-2458,-2458,
-
-    -2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458,
-    -2458,-2458,-2458,-2458,-2458,-2458,-2458,-2458, 2801,-2458,
-    -2458,-2458,-2458,-2458,-2458
-    },
-
-    {
-       27,-2459, 2802, 2802,-2459,-2459,-2459,-2459,-2459,-2459,
-    -2459,-2459, 2803,-2459,-2459,-2459,-2459,-2459,-2459,-2459,
-    -2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,
-    -2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,
-    -2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,
-    -2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,-2459,
-    -2459,-2459,-2459,-2459,-2459
-
-    },
-
-    {
-       27,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,
-    -2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,
-    -2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,
-    -2460,-2460,-2460, 2804,-2460,-2460,-2460,-2460,-2460,-2460,
-    -2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460,
-    -2460,-2460,-2460,-2460,-2460,-2460,-2460,-2460, 2804,-2460,
-    -2460,-2460,-2460,-2460,-2460
-    },
-
-    {
-       27,-2461, 2805, 2805,-2461,-2461,-2461,-2461,-2461,-2461,
-    -2461,-2461, 2806,-2461,-2461,-2461,-2461,-2461,-2461,-2461,
-    -2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,
-
-    -2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,
-    -2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,
-    -2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,-2461,
-    -2461,-2461,-2461,-2461,-2461
-    },
-
-    {
-       27,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,
-    -2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,
-    -2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,
-    -2462,-2462,-2462, 2807,-2462,-2462,-2462,-2462,-2462,-2462,
-    -2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462,
-    -2462,-2462,-2462,-2462,-2462,-2462,-2462,-2462, 2807,-2462,
-
-    -2462,-2462,-2462,-2462,-2462
-    },
-
-    {
-       27,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463, 2808,
-    -2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,
-    -2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,
-    -2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463, 2809,
-    -2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,
-    -2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,-2463,
-    -2463,-2463,-2463,-2463,-2463
-    },
-
-    {
-       27,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,
-    -2464,-2464,-2464,-2464, 2810,-2464,-2464,-2464,-2464,-2464,
-
-    -2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,
-    -2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,
-     2810,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,
-    -2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,-2464,
-    -2464,-2464,-2464,-2464,-2464
-    },
-
-    {
-       27,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,
-    -2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,
-    -2465,-2465,-2465,-2465,-2465,-2465,-2465, 2811,-2465,-2465,
-    -2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,
-    -2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,-2465,
-
-    -2465,-2465, 2811,-2465,-2465,-2465,-2465,-2465,-2465,-2465,
-    -2465,-2465,-2465,-2465,-2465
-    },
-
-    {
-       27,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466, 1124,
-    -2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,
-    -2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,
-    -2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,
-    -2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,
-    -2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,-2466,
-    -2466,-2466,-2466,-2466,-2466
-    },
-
-    {
-       27,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,
-
-    -2467,-2467,-2467, 2812,-2467,-2467,-2467,-2467,-2467,-2467,
-    -2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,
-    -2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,
-    -2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,
-    -2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,-2467,
-    -2467,-2467,-2467,-2467,-2467
-    },
-
-    {
-       27,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,
-    -2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,
-    -2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,
-    -2468,-2468, 2813,-2468,-2468,-2468,-2468,-2468,-2468,-2468,
-
-    -2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,-2468,
-    -2468,-2468,-2468,-2468,-2468,-2468,-2468, 2813,-2468,-2468,
-    -2468,-2468,-2468,-2468,-2468
-    },
-
-    {
-       27,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,
-    -2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,
-    -2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469, 2814,-2469,
-    -2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,
-    -2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,-2469,
-    -2469,-2469,-2469, 2814,-2469,-2469,-2469,-2469,-2469,-2469,
-    -2469,-2469,-2469,-2469,-2469
-
-    },
-
-    {
-       27,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,
-    -2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,
-    -2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,
-    -2470, 2815,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,
-    -2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,-2470,
-    -2470,-2470,-2470,-2470,-2470,-2470, 2815,-2470,-2470,-2470,
-    -2470,-2470,-2470,-2470,-2470
-    },
-
-    {
-       27,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,
-    -2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,
-    -2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,
-
-    -2471,-2471,-2471, 2816,-2471,-2471,-2471,-2471,-2471,-2471,
-    -2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471,
-    -2471,-2471,-2471,-2471,-2471,-2471,-2471,-2471, 2816,-2471,
-    -2471,-2471,-2471,-2471,-2471
-    },
-
-    {
-       27,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,
-    -2472,-2472,-2472,-2472, 2817,-2472,-2472,-2472,-2472,-2472,
-    -2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,
-    -2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,
-     2817,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,
-    -2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,-2472,
-
-    -2472,-2472,-2472,-2472,-2472
-    },
-
-    {
-       27,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,
-    -2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473, 2818,-2473,
-    -2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,
-    -2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,
-    -2473,-2473,-2473,-2473, 2818,-2473,-2473,-2473,-2473,-2473,
-    -2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,-2473,
-    -2473,-2473,-2473,-2473,-2473
-    },
-
-    {
-       27,-2474, 2474, 2474,-2474,-2474,-2474,-2474,-2474,-2474,
-    -2474,-2474, 2475,-2474,-2474,-2474,-2474,-2474,-2474,-2474,
-
-    -2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,
-    -2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,
-    -2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,
-    -2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,-2474,
-    -2474,-2474,-2474,-2474,-2474
-    },
-
-    {
-       27,-2475,-2475,-2475,-2475,-2475,-2475,-2475,-2475,-2475,
-    -2475,-2475,-2475,-2475,-2475,-2475, 2819,-2475,-2475,-2475,
-    -2475,-2475,-2475,-2475,-2475,-2475,-2475,-2475,-2475, 2820,
-    -2475,-2475,-2475,-2475,-2475,-2475,-2475,-2475,-2475,-2475,
-    -2475,-2475, 2819,-2475,-2475,-2475,-2475,-2475,-2475,-2475,
-
-    -2475,-2475,-2475,-2475, 2820,-2475,-2475,-2475,-2475,-2475,
-    -2475,-2475,-2475,-2475,-2475
-    },
-
-    {
-       27,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,
-    -2476,-2476,-2476,-2476, 2821,-2476,-2476,-2476,-2476,-2476,
-    -2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,
-    -2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,
-     2821,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,
-    -2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,-2476,
-    -2476,-2476,-2476,-2476,-2476
-    },
-
-    {
-       27,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477, 2822,
-
-    -2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,
-    -2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,
-    -2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477, 2823,
-    -2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,
-    -2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,-2477,
-    -2477,-2477,-2477,-2477,-2477
-    },
-
-    {
-       27,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,
-    -2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,
-    -2478,-2478, 2824,-2478,-2478,-2478,-2478,-2478,-2478,-2478,
-    -2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,
-
-    -2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478, 2824,-2478,
-    -2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,-2478,
-    -2478,-2478,-2478,-2478,-2478
-    },
-
-    {
-       27,-2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479,
-    -2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479, 2825,-2479,
-    -2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479,
-    -2479,-2479,-2479,-2479, 2826,-2479,-2479,-2479,-2479,-2479,
-    -2479,-2479,-2479,-2479, 2825,-2479,-2479,-2479,-2479,-2479,
-    -2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479,-2479, 2826,
-    -2479,-2479,-2479,-2479,-2479
-
-    },
-
-    {
-       27,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,
-    -2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,
-    -2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480, 2827,-2480,
-    -2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,
-    -2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,-2480,
-    -2480,-2480,-2480, 2827,-2480,-2480,-2480,-2480,-2480,-2480,
-    -2480,-2480,-2480,-2480,-2480
-    },
-
-    {
-       27,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,
-    -2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,
-    -2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,
-
-    -2481, 2828,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,
-    -2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,-2481,
-    -2481,-2481,-2481,-2481,-2481,-2481, 2828,-2481,-2481,-2481,
-    -2481,-2481,-2481,-2481,-2481
-    },
-
-    {
-       27,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,
-    -2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,
-    -2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482, 2829,-2482,
-    -2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,
-    -2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,-2482,
-    -2482,-2482,-2482, 2829,-2482,-2482,-2482,-2482,-2482,-2482,
-
-    -2482,-2482,-2482,-2482,-2482
-    },
-
-    {
-       27,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,
-    -2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,
-    -2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,
-    -2483, 2830,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,
-    -2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,-2483,
-    -2483,-2483,-2483,-2483,-2483,-2483, 2830,-2483,-2483,-2483,
-    -2483,-2483,-2483,-2483,-2483
-    },
-
-    {
-       27,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,
-    -2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,
-
-    -2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484, 2831,-2484,
-    -2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,
-    -2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,-2484,
-    -2484,-2484,-2484, 2831,-2484,-2484,-2484,-2484,-2484,-2484,
-    -2484,-2484,-2484,-2484,-2484
-    },
-
-    {
-       27,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,
-    -2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,
-    -2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,
-    -2485, 2832,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,
-    -2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,-2485,
-
-    -2485,-2485,-2485,-2485,-2485,-2485, 2832,-2485,-2485,-2485,
-    -2485,-2485,-2485,-2485,-2485
-    },
-
-    {
-       27,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,
-    -2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,
-    -2486,-2486,-2486,-2486,-2486,-2486,-2486, 2833,-2486,-2486,
-    -2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,
-    -2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,-2486,
-    -2486,-2486, 2833,-2486,-2486,-2486,-2486,-2486,-2486,-2486,
-    -2486,-2486,-2486,-2486,-2486
-    },
-
-    {
-       27,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,
-
-    -2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,
-    -2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,
-    -2487, 2834,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,
-    -2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,-2487,
-    -2487,-2487,-2487,-2487,-2487,-2487, 2834,-2487,-2487,-2487,
-    -2487,-2487,-2487,-2487,-2487
-    },
-
-    {
-       27,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488, 1139,
-    -2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,
-    -2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,
-    -2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,
-
-    -2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,
-    -2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,-2488,
-    -2488,-2488,-2488,-2488,-2488
-    },
-
-    {
-       27,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,
-    -2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,
-    -2489,-2489,-2489,-2489,-2489,-2489,-2489, 2835,-2489,-2489,
-    -2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,
-    -2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,-2489,
-    -2489,-2489, 2835,-2489,-2489,-2489,-2489,-2489,-2489,-2489,
-    -2489,-2489,-2489,-2489,-2489
-
-    },
-
-    {
-       27,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,
-    -2490,-2490,-2490,-2490, 2836,-2490,-2490,-2490,-2490,-2490,
-    -2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,
-    -2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,
-     2836,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,
-    -2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,-2490,
-    -2490,-2490,-2490,-2490,-2490
-    },
-
-    {
-       27,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,
-    -2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,
-    -2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,
-
-    -2491,-2491,-2491, 2837,-2491,-2491,-2491,-2491,-2491,-2491,
-    -2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491,
-    -2491,-2491,-2491,-2491,-2491,-2491,-2491,-2491, 2837,-2491,
-    -2491,-2491,-2491,-2491,-2491
-    },
-
-    {
-       27,-2492, 2492, 2492,-2492,-2492,-2492,-2492,-2492,-2492,
-    -2492,-2492, 2493,-2492,-2492,-2492,-2492,-2492,-2492,-2492,
-    -2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,
-    -2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,
-    -2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,
-    -2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,-2492,
-
-    -2492,-2492,-2492,-2492,-2492
-    },
-
-    {
-       27,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,
-    -2493,-2493,-2493,-2493,-2493,-2493, 2838,-2493,-2493,-2493,
-    -2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,
-    -2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,
-    -2493,-2493, 2838,-2493,-2493,-2493,-2493,-2493,-2493,-2493,
-    -2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,-2493,
-    -2493,-2493,-2493,-2493,-2493
-    },
-
-    {
-       27,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,
-    -2494,-2494,-2494,-2494, 2839,-2494,-2494,-2494,-2494,-2494,
-
-    -2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,
-    -2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,
-     2839,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,
-    -2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,-2494,
-    -2494,-2494,-2494,-2494,-2494
-    },
-
-    {
-       27,-2495, 2495, 2495,-2495,-2495,-2495,-2495,-2495,-2495,
-    -2495,-2495, 2496,-2495,-2495,-2495,-2495,-2495,-2495,-2495,
-    -2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,
-    -2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,
-    -2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,
-
-    -2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,-2495,
-    -2495,-2495,-2495,-2495,-2495
-    },
-
-    {
-       27,-2496,-2496,-2496,-2496,-2496,-2496,-2496,-2496,-2496,
-    -2496,-2496,-2496,-2496,-2496,-2496, 2840,-2496,-2496,-2496,
-    -2496,-2496,-2496,-2496,-2496,-2496,-2496,-2496,-2496, 2841,
-    -2496,-2496,-2496,-2496,-2496,-2496,-2496,-2496,-2496,-2496,
-    -2496,-2496, 2840,-2496,-2496,-2496,-2496,-2496,-2496,-2496,
-    -2496,-2496,-2496,-2496, 2841,-2496,-2496,-2496,-2496,-2496,
-    -2496,-2496,-2496,-2496,-2496
-    },
-
-    {
-       27,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,
-
-    -2497,-2497,-2497,-2497, 2842,-2497,-2497,-2497,-2497,-2497,
-    -2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,
-    -2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,
-     2842,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,
-    -2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,-2497,
-    -2497,-2497,-2497,-2497,-2497
-    },
-
-    {
-       27,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,
-    -2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,
-    -2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,
-    -2498,-2498,-2498, 2843,-2498,-2498,-2498,-2498,-2498,-2498,
-
-    -2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498,
-    -2498,-2498,-2498,-2498,-2498,-2498,-2498,-2498, 2843,-2498,
-    -2498,-2498,-2498,-2498,-2498
-    },
-
-    {
-       27,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,
-    -2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,
-    -2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,
-    -2499,-2499,-2499, 2844,-2499,-2499,-2499,-2499,-2499,-2499,
-    -2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499,
-    -2499,-2499,-2499,-2499,-2499,-2499,-2499,-2499, 2844,-2499,
-    -2499,-2499,-2499,-2499,-2499
-
-    },
-
-    {
-       27,-2500, 2845, 2845,-2500,-2500,-2500,-2500,-2500,-2500,
-    -2500,-2500, 2846,-2500,-2500,-2500,-2500,-2500,-2500,-2500,
-    -2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,
-    -2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,
-    -2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,
-    -2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,-2500,
-    -2500,-2500,-2500,-2500,-2500
-    },
-
-    {
-       27,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,
-    -2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,
-    -2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,
-
-    -2501,-2501,-2501, 2847,-2501,-2501,-2501,-2501,-2501,-2501,
-    -2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501,
-    -2501,-2501,-2501,-2501,-2501,-2501,-2501,-2501, 2847,-2501,
-    -2501,-2501,-2501,-2501,-2501
-    },
-
-    {
-       27,-2502, 2848, 2848,-2502,-2502,-2502,-2502,-2502,-2502,
-    -2502,-2502, 2849,-2502,-2502,-2502,-2502,-2502,-2502,-2502,
-    -2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,
-    -2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,
-    -2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,
-    -2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,-2502,
-
-    -2502,-2502,-2502,-2502,-2502
-    },
-
-    {
-       27,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,
-    -2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,
-    -2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,
-    -2503,-2503,-2503, 2850,-2503,-2503,-2503,-2503,-2503,-2503,
-    -2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503,
-    -2503,-2503,-2503,-2503,-2503,-2503,-2503,-2503, 2850,-2503,
-    -2503,-2503,-2503,-2503,-2503
-    },
-
-    {
-       27,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504, 2851,
-    -2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,
-
-    -2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,
-    -2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504, 2852,
-    -2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,
-    -2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,-2504,
-    -2504,-2504,-2504,-2504,-2504
-    },
-
-    {
-       27,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,
-    -2505,-2505,-2505,-2505, 2853,-2505,-2505,-2505,-2505,-2505,
-    -2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,
-    -2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,
-     2853,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,
-
-    -2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,-2505,
-    -2505,-2505,-2505,-2505,-2505
-    },
-
-    {
-       27,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,
-    -2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,
-    -2506,-2506,-2506,-2506,-2506,-2506,-2506, 2854,-2506,-2506,
-    -2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,
-    -2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,-2506,
-    -2506,-2506, 2854,-2506,-2506,-2506,-2506,-2506,-2506,-2506,
-    -2506,-2506,-2506,-2506,-2506
-    },
-
-    {
-       27,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507, 1156,
-
-    -2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,
-    -2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,
-    -2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,
-    -2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,
-    -2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,-2507,
-    -2507,-2507,-2507,-2507,-2507
-    },
-
-    {
-       27,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,
-    -2508,-2508,-2508, 2855,-2508,-2508,-2508,-2508,-2508,-2508,
-    -2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,
-    -2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,
-
-    -2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,
-    -2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,-2508,
-    -2508,-2508,-2508,-2508,-2508
-    },
-
-    {
-       27,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,
-    -2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,
-    -2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,
-    -2509,-2509, 2856,-2509,-2509,-2509,-2509,-2509,-2509,-2509,
-    -2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,-2509,
-    -2509,-2509,-2509,-2509,-2509,-2509,-2509, 2856,-2509,-2509,
-    -2509,-2509,-2509,-2509,-2509
-
-    },
-
-    {
-       27,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,
-    -2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,
-    -2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510, 2857,-2510,
-    -2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,
-    -2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,-2510,
-    -2510,-2510,-2510, 2857,-2510,-2510,-2510,-2510,-2510,-2510,
-    -2510,-2510,-2510,-2510,-2510
-    },
-
-    {
-       27,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,
-    -2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,
-    -2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,
-
-    -2511, 2858,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,
-    -2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,-2511,
-    -2511,-2511,-2511,-2511,-2511,-2511, 2858,-2511,-2511,-2511,
-    -2511,-2511,-2511,-2511,-2511
-    },
-
-    {
-       27,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,
-    -2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,
-    -2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,
-    -2512,-2512,-2512, 2859,-2512,-2512,-2512,-2512,-2512,-2512,
-    -2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512,
-    -2512,-2512,-2512,-2512,-2512,-2512,-2512,-2512, 2859,-2512,
-
-    -2512,-2512,-2512,-2512,-2512
-    },
-
-    {
-       27,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,
-    -2513,-2513,-2513,-2513, 2860,-2513,-2513,-2513,-2513,-2513,
-    -2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,
-    -2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,
-     2860,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,
-    -2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,-2513,
-    -2513,-2513,-2513,-2513,-2513
-    },
-
-    {
-       27,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,
-    -2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514, 2861,-2514,
-
-    -2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,
-    -2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,
-    -2514,-2514,-2514,-2514, 2861,-2514,-2514,-2514,-2514,-2514,
-    -2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,-2514,
-    -2514,-2514,-2514,-2514,-2514
-    },
-
-    {
-       27,-2515, 2515, 2515,-2515,-2515,-2515,-2515,-2515,-2515,
-    -2515,-2515, 2516,-2515,-2515,-2515,-2515,-2515,-2515,-2515,
-    -2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,
-    -2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,
-    -2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,
-
-    -2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,-2515,
-    -2515,-2515,-2515,-2515,-2515
-    },
-
-    {
-       27,-2516,-2516,-2516,-2516,-2516,-2516,-2516,-2516,-2516,
-    -2516,-2516,-2516,-2516,-2516,-2516, 2862,-2516,-2516,-2516,
-    -2516,-2516,-2516,-2516,-2516,-2516,-2516,-2516,-2516, 2863,
-    -2516,-2516,-2516,-2516,-2516,-2516,-2516,-2516,-2516,-2516,
-    -2516,-2516, 2862,-2516,-2516,-2516,-2516,-2516,-2516,-2516,
-    -2516,-2516,-2516,-2516, 2863,-2516,-2516,-2516,-2516,-2516,
-    -2516,-2516,-2516,-2516,-2516
-    },
-
-    {
-       27,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,
-
-    -2517,-2517,-2517,-2517, 2864,-2517,-2517,-2517,-2517,-2517,
-    -2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,
-    -2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,
-     2864,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,
-    -2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,-2517,
-    -2517,-2517,-2517,-2517,-2517
-    },
-
-    {
-       27,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518, 2865,
-    -2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,
-    -2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,
-    -2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518, 2866,
-
-    -2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,
-    -2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,-2518,
-    -2518,-2518,-2518,-2518,-2518
-    },
-
-    {
-       27,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,
-    -2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,
-    -2519,-2519, 2867,-2519,-2519,-2519,-2519,-2519,-2519,-2519,
-    -2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,
-    -2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519, 2867,-2519,
-    -2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,-2519,
-    -2519,-2519,-2519,-2519,-2519
-
-    },
-
-    {
-       27,-2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520,
-    -2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520, 2868,-2520,
-    -2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520,
-    -2520,-2520,-2520,-2520, 2869,-2520,-2520,-2520,-2520,-2520,
-    -2520,-2520,-2520,-2520, 2868,-2520,-2520,-2520,-2520,-2520,
-    -2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520,-2520, 2869,
-    -2520,-2520,-2520,-2520,-2520
-    },
-
-    {
-       27,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,
-    -2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,
-    -2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521, 2870,-2521,
-
-    -2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,
-    -2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,-2521,
-    -2521,-2521,-2521, 2870,-2521,-2521,-2521,-2521,-2521,-2521,
-    -2521,-2521,-2521,-2521,-2521
-    },
-
-    {
-       27,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,
-    -2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,
-    -2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,
-    -2522, 2871,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,
-    -2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,-2522,
-    -2522,-2522,-2522,-2522,-2522,-2522, 2871,-2522,-2522,-2522,
-
-    -2522,-2522,-2522,-2522,-2522
-    },
-
-    {
-       27,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,
-    -2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,
-    -2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523, 2872,-2523,
-    -2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,
-    -2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,-2523,
-    -2523,-2523,-2523, 2872,-2523,-2523,-2523,-2523,-2523,-2523,
-    -2523,-2523,-2523,-2523,-2523
-    },
-
-    {
-       27,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,
-    -2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,
-
-    -2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,
-    -2524, 2873,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,
-    -2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,-2524,
-    -2524,-2524,-2524,-2524,-2524,-2524, 2873,-2524,-2524,-2524,
-    -2524,-2524,-2524,-2524,-2524
-    },
-
-    {
-       27,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,
-    -2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,
-    -2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525, 2874,-2525,
-    -2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,
-    -2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,-2525,
-
-    -2525,-2525,-2525, 2874,-2525,-2525,-2525,-2525,-2525,-2525,
-    -2525,-2525,-2525,-2525,-2525
-    },
-
-    {
-       27,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,
-    -2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,
-    -2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,
-    -2526, 2875,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,
-    -2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,-2526,
-    -2526,-2526,-2526,-2526,-2526,-2526, 2875,-2526,-2526,-2526,
-    -2526,-2526,-2526,-2526,-2526
-    },
-
-    {
-       27,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,
-
-    -2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,
-    -2527,-2527,-2527,-2527,-2527,-2527,-2527, 2876,-2527,-2527,
-    -2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,
-    -2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,-2527,
-    -2527,-2527, 2876,-2527,-2527,-2527,-2527,-2527,-2527,-2527,
-    -2527,-2527,-2527,-2527,-2527
-    },
-
-    {
-       27,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,
-    -2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,
-    -2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,
-    -2528, 2877,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,
-
-    -2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,-2528,
-    -2528,-2528,-2528,-2528,-2528,-2528, 2877,-2528,-2528,-2528,
-    -2528,-2528,-2528,-2528,-2528
-    },
-
-    {
-       27,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529, 1171,
-    -2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,
-    -2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,
-    -2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,
-    -2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,
-    -2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,-2529,
-    -2529,-2529,-2529,-2529,-2529
-
-    },
-
-    {
-       27,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,
-    -2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,
-    -2530,-2530,-2530,-2530,-2530,-2530,-2530, 2878,-2530,-2530,
-    -2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,
-    -2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,-2530,
-    -2530,-2530, 2878,-2530,-2530,-2530,-2530,-2530,-2530,-2530,
-    -2530,-2530,-2530,-2530,-2530
-    },
-
-    {
-       27,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,
-    -2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,
-    -2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,
-
-    -2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,
-    -2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,
-    -2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,-2531,
-    -2531,-2531,-2531,-2531,-2531
-    },
-
-    {
-       27,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,
-    -2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,
-    -2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,
-    -2532,-2532, 2879,-2532,-2532,-2532,-2532,-2532,-2532,-2532,
-    -2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,-2532,
-    -2532,-2532,-2532,-2532,-2532,-2532,-2532, 2879,-2532,-2532,
-
-    -2532,-2532,-2532,-2532,-2532
-    },
-
-    {
-       27,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,
-    -2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,
-    -2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,
-    -2533,-2533,-2533, 2880,-2533,-2533,-2533,-2533,-2533,-2533,
-    -2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533,
-    -2533,-2533,-2533,-2533,-2533,-2533,-2533,-2533, 2880,-2533,
-    -2533,-2533,-2533,-2533,-2533
-    },
-
-    {
-       27,-2534, 2534, 2534,-2534,-2534,-2534,-2534,-2534,-2534,
-    -2534,-2534, 2535,-2534,-2534,-2534,-2534,-2534,-2534,-2534,
-
-    -2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,
-    -2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,
-    -2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,
-    -2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,-2534,
-    -2534,-2534,-2534,-2534,-2534
-    },
-
-    {
-       27,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,
-    -2535,-2535,-2535,-2535,-2535,-2535, 2881,-2535,-2535,-2535,
-    -2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,
-    -2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,
-    -2535,-2535, 2881,-2535,-2535,-2535,-2535,-2535,-2535,-2535,
-
-    -2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,-2535,
-    -2535,-2535,-2535,-2535,-2535
-    },
-
-    {
-       27,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,
-    -2536,-2536,-2536,-2536, 2882,-2536,-2536,-2536,-2536,-2536,
-    -2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,
-    -2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,
-     2882,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,
-    -2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,-2536,
-    -2536,-2536,-2536,-2536,-2536
-    },
-
-    {
-       27,-2537, 2537, 2537,-2537,-2537,-2537,-2537,-2537,-2537,
-
-    -2537,-2537, 2538,-2537,-2537,-2537,-2537,-2537,-2537,-2537,
-    -2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,
-    -2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,
-    -2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,
-    -2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,-2537,
-    -2537,-2537,-2537,-2537,-2537
-    },
-
-    {
-       27,-2538,-2538,-2538,-2538,-2538,-2538,-2538,-2538,-2538,
-    -2538,-2538,-2538,-2538,-2538,-2538, 2883,-2538,-2538,-2538,
-    -2538,-2538,-2538,-2538,-2538,-2538,-2538,-2538,-2538, 2884,
-    -2538,-2538,-2538,-2538,-2538,-2538,-2538,-2538,-2538,-2538,
-
-    -2538,-2538, 2883,-2538,-2538,-2538,-2538,-2538,-2538,-2538,
-    -2538,-2538,-2538,-2538, 2884,-2538,-2538,-2538,-2538,-2538,
-    -2538,-2538,-2538,-2538,-2538
-    },
-
-    {
-       27,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,
-    -2539,-2539,-2539,-2539, 2885,-2539,-2539,-2539,-2539,-2539,
-    -2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,
-    -2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,
-     2885,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,
-    -2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,-2539,
-    -2539,-2539,-2539,-2539,-2539
-
-    },
-
-    {
-       27,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,
-    -2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,
-    -2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,
-    -2540,-2540,-2540, 2886,-2540,-2540,-2540,-2540,-2540,-2540,
-    -2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540,
-    -2540,-2540,-2540,-2540,-2540,-2540,-2540,-2540, 2886,-2540,
-    -2540,-2540,-2540,-2540,-2540
-    },
-
-    {
-       27,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,
-    -2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,
-    -2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,
-
-    -2541,-2541,-2541, 2887,-2541,-2541,-2541,-2541,-2541,-2541,
-    -2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541,
-    -2541,-2541,-2541,-2541,-2541,-2541,-2541,-2541, 2887,-2541,
-    -2541,-2541,-2541,-2541,-2541
-    },
-
-    {
-       27,-2542, 2888, 2888,-2542,-2542,-2542,-2542,-2542,-2542,
-    -2542,-2542, 2889,-2542,-2542,-2542,-2542,-2542,-2542,-2542,
-    -2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,
-    -2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,
-    -2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,
-    -2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,-2542,
-
-    -2542,-2542,-2542,-2542,-2542
-    },
-
-    {
-       27,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,
-    -2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,
-    -2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,
-    -2543,-2543,-2543, 2890,-2543,-2543,-2543,-2543,-2543,-2543,
-    -2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543,
-    -2543,-2543,-2543,-2543,-2543,-2543,-2543,-2543, 2890,-2543,
-    -2543,-2543,-2543,-2543,-2543
-    },
-
-    {
-       27,-2544, 2891, 2891,-2544,-2544,-2544,-2544,-2544,-2544,
-    -2544,-2544, 2892,-2544,-2544,-2544,-2544,-2544,-2544,-2544,
-
-    -2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,
-    -2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,
-    -2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,
-    -2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,-2544,
-    -2544,-2544,-2544,-2544,-2544
-    },
-
-    {
-       27,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,
-    -2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,
-    -2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,
-    -2545,-2545,-2545, 2893,-2545,-2545,-2545,-2545,-2545,-2545,
-    -2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545,
-
-    -2545,-2545,-2545,-2545,-2545,-2545,-2545,-2545, 2893,-2545,
-    -2545,-2545,-2545,-2545,-2545
-    },
-
-    {
-       27,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546, 2894,
-    -2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,
-    -2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,
-    -2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546, 2895,
-    -2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,
-    -2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,-2546,
-    -2546,-2546,-2546,-2546,-2546
-    },
-
-    {
-       27,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,
-
-    -2547,-2547,-2547,-2547, 2896,-2547,-2547,-2547,-2547,-2547,
-    -2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,
-    -2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,
-     2896,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,
-    -2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,-2547,
-    -2547,-2547,-2547,-2547,-2547
-    },
-
-    {
-       27,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,
-    -2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,
-    -2548,-2548,-2548,-2548,-2548,-2548,-2548, 2897,-2548,-2548,
-    -2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,
-
-    -2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,-2548,
-    -2548,-2548, 2897,-2548,-2548,-2548,-2548,-2548,-2548,-2548,
-    -2548,-2548,-2548,-2548,-2548
-    },
-
-    {
-       27,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549, 1188,
-    -2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,
-    -2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,
-    -2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,
-    -2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,
-    -2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,-2549,
-    -2549,-2549,-2549,-2549,-2549
-
-    },
-
-    {
-       27,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,
-    -2550,-2550,-2550, 2898,-2550,-2550,-2550,-2550,-2550,-2550,
-    -2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,
-    -2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,
-    -2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,
-    -2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,-2550,
-    -2550,-2550,-2550,-2550,-2550
-    },
-
-    {
-       27,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,
-    -2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,
-    -2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,
-
-    -2551,-2551, 2899,-2551,-2551,-2551,-2551,-2551,-2551,-2551,
-    -2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,-2551,
-    -2551,-2551,-2551,-2551,-2551,-2551,-2551, 2899,-2551,-2551,
-    -2551,-2551,-2551,-2551,-2551
-    },
-
-    {
-       27,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,
-    -2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,
-    -2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552, 2900,-2552,
-    -2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,
-    -2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,-2552,
-    -2552,-2552,-2552, 2900,-2552,-2552,-2552,-2552,-2552,-2552,
-
-    -2552,-2552,-2552,-2552,-2552
-    },
-
-    {
-       27,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,
-    -2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,
-    -2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,
-    -2553, 2901,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,
-    -2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,-2553,
-    -2553,-2553,-2553,-2553,-2553,-2553, 2901,-2553,-2553,-2553,
-    -2553,-2553,-2553,-2553,-2553
-    },
-
-    {
-       27,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,
-    -2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,
-
-    -2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,
-    -2554,-2554,-2554, 2902,-2554,-2554,-2554,-2554,-2554,-2554,
-    -2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554,
-    -2554,-2554,-2554,-2554,-2554,-2554,-2554,-2554, 2902,-2554,
-    -2554,-2554,-2554,-2554,-2554
-    },
-
-    {
-       27,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,
-    -2555,-2555,-2555,-2555, 2903,-2555,-2555,-2555,-2555,-2555,
-    -2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,
-    -2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,
-     2903,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,
-
-    -2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,-2555,
-    -2555,-2555,-2555,-2555,-2555
-    },
-
-    {
-       27,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,
-    -2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556, 2904,-2556,
-    -2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,
-    -2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,
-    -2556,-2556,-2556,-2556, 2904,-2556,-2556,-2556,-2556,-2556,
-    -2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,-2556,
-    -2556,-2556,-2556,-2556,-2556
-    },
-
-    {
-       27,-2557, 2557, 2557,-2557,-2557,-2557,-2557,-2557,-2557,
-
-    -2557,-2557, 2558,-2557,-2557,-2557,-2557,-2557,-2557,-2557,
-    -2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,
-    -2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,
-    -2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,
-    -2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,-2557,
-    -2557,-2557,-2557,-2557,-2557
-    },
-
-    {
-       27,-2558,-2558,-2558,-2558,-2558,-2558,-2558,-2558,-2558,
-    -2558,-2558,-2558,-2558,-2558,-2558, 2905,-2558,-2558,-2558,
-    -2558,-2558,-2558,-2558,-2558,-2558,-2558,-2558,-2558, 2906,
-    -2558,-2558,-2558,-2558,-2558,-2558,-2558,-2558,-2558,-2558,
-
-    -2558,-2558, 2905,-2558,-2558,-2558,-2558,-2558,-2558,-2558,
-    -2558,-2558,-2558,-2558, 2906,-2558,-2558,-2558,-2558,-2558,
-    -2558,-2558,-2558,-2558,-2558
-    },
-
-    {
-       27,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,
-    -2559,-2559,-2559,-2559, 2907,-2559,-2559,-2559,-2559,-2559,
-    -2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,
-    -2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,
-     2907,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,
-    -2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,-2559,
-    -2559,-2559,-2559,-2559,-2559
-
-    },
-
-    {
-       27,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560, 2908,
-    -2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,
-    -2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,
-    -2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560, 2909,
-    -2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,
-    -2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,-2560,
-    -2560,-2560,-2560,-2560,-2560
-    },
-
-    {
-       27,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,
-    -2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,
-    -2561,-2561, 2910,-2561,-2561,-2561,-2561,-2561,-2561,-2561,
-
-    -2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,
-    -2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561, 2910,-2561,
-    -2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,-2561,
-    -2561,-2561,-2561,-2561,-2561
-    },
-
-    {
-       27,-2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562,
-    -2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562, 2911,-2562,
-    -2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562,
-    -2562,-2562,-2562,-2562, 2912,-2562,-2562,-2562,-2562,-2562,
-    -2562,-2562,-2562,-2562, 2911,-2562,-2562,-2562,-2562,-2562,
-    -2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562,-2562, 2912,
-
-    -2562,-2562,-2562,-2562,-2562
-    },
-
-    {
-       27,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,
-    -2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,
-    -2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563, 2913,-2563,
-    -2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,
-    -2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,-2563,
-    -2563,-2563,-2563, 2913,-2563,-2563,-2563,-2563,-2563,-2563,
-    -2563,-2563,-2563,-2563,-2563
-    },
-
-    {
-       27,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,
-    -2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,
-
-    -2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,
-    -2564, 2914,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,
-    -2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,-2564,
-    -2564,-2564,-2564,-2564,-2564,-2564, 2914,-2564,-2564,-2564,
-    -2564,-2564,-2564,-2564,-2564
-    },
-
-    {
-       27,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,
-    -2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,
-    -2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565, 2915,-2565,
-    -2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,
-    -2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,-2565,
-
-    -2565,-2565,-2565, 2915,-2565,-2565,-2565,-2565,-2565,-2565,
-    -2565,-2565,-2565,-2565,-2565
-    },
-
-    {
-       27,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,
-    -2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,
-    -2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,
-    -2566, 2916,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,
-    -2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,-2566,
-    -2566,-2566,-2566,-2566,-2566,-2566, 2916,-2566,-2566,-2566,
-    -2566,-2566,-2566,-2566,-2566
-    },
-
-    {
-       27,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,
-
-    -2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,
-    -2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567, 2917,-2567,
-    -2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,
-    -2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,-2567,
-    -2567,-2567,-2567, 2917,-2567,-2567,-2567,-2567,-2567,-2567,
-    -2567,-2567,-2567,-2567,-2567
-    },
-
-    {
-       27,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,
-    -2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,
-    -2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,
-    -2568, 2918,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,
-
-    -2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,-2568,
-    -2568,-2568,-2568,-2568,-2568,-2568, 2918,-2568,-2568,-2568,
-    -2568,-2568,-2568,-2568,-2568
-    },
-
-    {
-       27,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,
-    -2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,
-    -2569,-2569,-2569,-2569,-2569,-2569,-2569, 2919,-2569,-2569,
-    -2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,
-    -2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,-2569,
-    -2569,-2569, 2919,-2569,-2569,-2569,-2569,-2569,-2569,-2569,
-    -2569,-2569,-2569,-2569,-2569
-
-    },
-
-    {
-       27,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,
-    -2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,
-    -2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,
-    -2570, 2920,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,
-    -2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,-2570,
-    -2570,-2570,-2570,-2570,-2570,-2570, 2920,-2570,-2570,-2570,
-    -2570,-2570,-2570,-2570,-2570
-    },
-
-    {
-       27,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571, 1203,
-    -2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,
-    -2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,
-
-    -2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,
-    -2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,
-    -2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,-2571,
-    -2571,-2571,-2571,-2571,-2571
-    },
-
-    {
-       27,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,
-    -2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,
-    -2572,-2572,-2572,-2572,-2572,-2572,-2572, 2921,-2572,-2572,
-    -2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,
-    -2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,-2572,
-    -2572,-2572, 2921,-2572,-2572,-2572,-2572,-2572,-2572,-2572,
-
-    -2572,-2572,-2572,-2572,-2572
-    },
-
-    {
-       27,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,
-    -2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,
-     2922,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,
-    -2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,
-    -2573,-2573,-2573,-2573,-2573,-2573, 2922,-2573,-2573,-2573,
-    -2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,-2573,
-    -2573,-2573,-2573,-2573,-2573
-    },
-
-    {
-       27,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,
-    -2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,
-
-    -2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,
-    -2574,-2574,-2574, 2923,-2574,-2574,-2574,-2574,-2574,-2574,
-    -2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574,
-    -2574,-2574,-2574,-2574,-2574,-2574,-2574,-2574, 2923,-2574,
-    -2574,-2574,-2574,-2574,-2574
-    },
-
-    {
-       27,-2575, 2575, 2575,-2575,-2575,-2575,-2575,-2575,-2575,
-    -2575,-2575, 2576,-2575,-2575,-2575,-2575,-2575,-2575,-2575,
-    -2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,
-    -2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,
-    -2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,
-
-    -2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,-2575,
-    -2575,-2575,-2575,-2575,-2575
-    },
-
-    {
-       27,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,
-    -2576,-2576,-2576,-2576,-2576,-2576, 2924,-2576,-2576,-2576,
-    -2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,
-    -2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,
-    -2576,-2576, 2924,-2576,-2576,-2576,-2576,-2576,-2576,-2576,
-    -2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,-2576,
-    -2576,-2576,-2576,-2576,-2576
-    },
-
-    {
-       27,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,
-
-    -2577,-2577,-2577,-2577, 2925,-2577,-2577,-2577,-2577,-2577,
-    -2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,
-    -2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,
-     2925,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,
-    -2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,-2577,
-    -2577,-2577,-2577,-2577,-2577
-    },
-
-    {
-       27,-2578, 2578, 2578,-2578,-2578,-2578,-2578,-2578,-2578,
-    -2578,-2578, 2579,-2578,-2578,-2578,-2578,-2578,-2578,-2578,
-    -2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,
-    -2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,
-
-    -2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,
-    -2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,-2578,
-    -2578,-2578,-2578,-2578,-2578
-    },
-
-    {
-       27,-2579,-2579,-2579,-2579,-2579,-2579,-2579,-2579,-2579,
-    -2579,-2579,-2579,-2579,-2579,-2579, 2926,-2579,-2579,-2579,
-    -2579,-2579,-2579,-2579,-2579,-2579,-2579,-2579,-2579, 2927,
-    -2579,-2579,-2579,-2579,-2579,-2579,-2579,-2579,-2579,-2579,
-    -2579,-2579, 2926,-2579,-2579,-2579,-2579,-2579,-2579,-2579,
-    -2579,-2579,-2579,-2579, 2927,-2579,-2579,-2579,-2579,-2579,
-    -2579,-2579,-2579,-2579,-2579
-
-    },
-
-    {
-       27,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,
-    -2580,-2580,-2580,-2580, 2928,-2580,-2580,-2580,-2580,-2580,
-    -2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,
-    -2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,
-     2928,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,
-    -2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,-2580,
-    -2580,-2580,-2580,-2580,-2580
-    },
-
-    {
-       27,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,
-    -2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,
-    -2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,
-
-    -2581,-2581,-2581, 2929,-2581,-2581,-2581,-2581,-2581,-2581,
-    -2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581,
-    -2581,-2581,-2581,-2581,-2581,-2581,-2581,-2581, 2929,-2581,
-    -2581,-2581,-2581,-2581,-2581
-    },
-
-    {
-       27,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,
-    -2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,
-    -2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,
-    -2582,-2582,-2582, 2930,-2582,-2582,-2582,-2582,-2582,-2582,
-    -2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582,
-    -2582,-2582,-2582,-2582,-2582,-2582,-2582,-2582, 2930,-2582,
-
-    -2582,-2582,-2582,-2582,-2582
-    },
-
-    {
-       27,-2583, 2931, 2931,-2583,-2583,-2583,-2583,-2583,-2583,
-    -2583,-2583, 2932,-2583,-2583,-2583,-2583,-2583,-2583,-2583,
-    -2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,
-    -2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,
-    -2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,
-    -2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,-2583,
-    -2583,-2583,-2583,-2583,-2583
-    },
-
-    {
-       27,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,
-    -2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,
-
-    -2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,
-    -2584,-2584,-2584, 2933,-2584,-2584,-2584,-2584,-2584,-2584,
-    -2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584,
-    -2584,-2584,-2584,-2584,-2584,-2584,-2584,-2584, 2933,-2584,
-    -2584,-2584,-2584,-2584,-2584
-    },
-
-    {
-       27,-2585, 2934, 2934,-2585,-2585,-2585,-2585,-2585,-2585,
-    -2585,-2585, 2935,-2585,-2585,-2585,-2585,-2585,-2585,-2585,
-    -2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,
-    -2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,
-    -2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,
-
-    -2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,-2585,
-    -2585,-2585,-2585,-2585,-2585
-    },
-
-    {
-       27,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,
-    -2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,
-    -2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,
-    -2586,-2586,-2586, 2936,-2586,-2586,-2586,-2586,-2586,-2586,
-    -2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586,
-    -2586,-2586,-2586,-2586,-2586,-2586,-2586,-2586, 2936,-2586,
-    -2586,-2586,-2586,-2586,-2586
-    },
-
-    {
-       27,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587, 2937,
-
-    -2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,
-    -2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,
-    -2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587, 2938,
-    -2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,
-    -2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,-2587,
-    -2587,-2587,-2587,-2587,-2587
-    },
-
-    {
-       27,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,
-    -2588,-2588,-2588,-2588, 2939,-2588,-2588,-2588,-2588,-2588,
-    -2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,
-    -2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,
-
-     2939,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,
-    -2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,-2588,
-    -2588,-2588,-2588,-2588,-2588
-    },
-
-    {
-       27,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,
-    -2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,
-    -2589,-2589,-2589,-2589,-2589,-2589,-2589, 2940,-2589,-2589,
-    -2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,
-    -2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,-2589,
-    -2589,-2589, 2940,-2589,-2589,-2589,-2589,-2589,-2589,-2589,
-    -2589,-2589,-2589,-2589,-2589
-
-    },
-
-    {
-       27,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590, 1220,
-    -2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,
-    -2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,
-    -2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,
-    -2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,
-    -2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,-2590,
-    -2590,-2590,-2590,-2590,-2590
-    },
-
-    {
-       27,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,
-    -2591,-2591,-2591, 2941,-2591,-2591,-2591,-2591,-2591,-2591,
-    -2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,
-
-    -2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,
-    -2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,
-    -2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,-2591,
-    -2591,-2591,-2591,-2591,-2591
-    },
-
-    {
-       27,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,
-    -2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,
-    -2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,
-    -2592,-2592, 2942,-2592,-2592,-2592,-2592,-2592,-2592,-2592,
-    -2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,-2592,
-    -2592,-2592,-2592,-2592,-2592,-2592,-2592, 2942,-2592,-2592,
-
-    -2592,-2592,-2592,-2592,-2592
-    },
-
-    {
-       27,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,
-    -2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,
-    -2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593, 2943,-2593,
-    -2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,
-    -2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,-2593,
-    -2593,-2593,-2593, 2943,-2593,-2593,-2593,-2593,-2593,-2593,
-    -2593,-2593,-2593,-2593,-2593
-    },
-
-    {
-       27,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,
-    -2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,
-
-    -2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,
-    -2594, 2944,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,
-    -2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,-2594,
-    -2594,-2594,-2594,-2594,-2594,-2594, 2944,-2594,-2594,-2594,
-    -2594,-2594,-2594,-2594,-2594
-    },
-
-    {
-       27,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,
-    -2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,
-    -2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,
-    -2595,-2595,-2595, 2945,-2595,-2595,-2595,-2595,-2595,-2595,
-    -2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595,
-
-    -2595,-2595,-2595,-2595,-2595,-2595,-2595,-2595, 2945,-2595,
-    -2595,-2595,-2595,-2595,-2595
-    },
-
-    {
-       27,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,
-    -2596,-2596,-2596,-2596, 2946,-2596,-2596,-2596,-2596,-2596,
-    -2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,
-    -2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,
-     2946,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,
-    -2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,-2596,
-    -2596,-2596,-2596,-2596,-2596
-    },
-
-    {
-       27,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,
-
-    -2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597, 2947,-2597,
-    -2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,
-    -2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,
-    -2597,-2597,-2597,-2597, 2947,-2597,-2597,-2597,-2597,-2597,
-    -2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,-2597,
-    -2597,-2597,-2597,-2597,-2597
-    },
-
-    {
-       27,-2598, 2598, 2598,-2598,-2598,-2598,-2598,-2598,-2598,
-    -2598,-2598, 2599,-2598,-2598,-2598,-2598,-2598,-2598,-2598,
-    -2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,
-    -2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,
-
-    -2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,
-    -2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,-2598,
-    -2598,-2598,-2598,-2598,-2598
-    },
-
-    {
-       27,-2599,-2599,-2599,-2599,-2599,-2599,-2599,-2599,-2599,
-    -2599,-2599,-2599,-2599,-2599,-2599, 2948,-2599,-2599,-2599,
-    -2599,-2599,-2599,-2599,-2599,-2599,-2599,-2599,-2599, 2949,
-    -2599,-2599,-2599,-2599,-2599,-2599,-2599,-2599,-2599,-2599,
-    -2599,-2599, 2948,-2599,-2599,-2599,-2599,-2599,-2599,-2599,
-    -2599,-2599,-2599,-2599, 2949,-2599,-2599,-2599,-2599,-2599,
-    -2599,-2599,-2599,-2599,-2599
-
-    },
-
-    {
-       27,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,
-    -2600,-2600,-2600,-2600, 2950,-2600,-2600,-2600,-2600,-2600,
-    -2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,
-    -2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,
-     2950,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,
-    -2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,-2600,
-    -2600,-2600,-2600,-2600,-2600
-    },
-
-    {
-       27,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601, 2951,
-    -2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,
-    -2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,
-
-    -2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601, 2952,
-    -2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,
-    -2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,-2601,
-    -2601,-2601,-2601,-2601,-2601
-    },
-
-    {
-       27,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,
-    -2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,
-    -2602,-2602, 2953,-2602,-2602,-2602,-2602,-2602,-2602,-2602,
-    -2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,
-    -2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602, 2953,-2602,
-    -2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,-2602,
-
-    -2602,-2602,-2602,-2602,-2602
-    },
-
-    {
-       27,-2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603,
-    -2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603, 2954,-2603,
-    -2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603,
-    -2603,-2603,-2603,-2603, 2955,-2603,-2603,-2603,-2603,-2603,
-    -2603,-2603,-2603,-2603, 2954,-2603,-2603,-2603,-2603,-2603,
-    -2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603,-2603, 2955,
-    -2603,-2603,-2603,-2603,-2603
-    },
-
-    {
-       27,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,
-    -2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,
-
-    -2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604, 2956,-2604,
-    -2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,
-    -2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,-2604,
-    -2604,-2604,-2604, 2956,-2604,-2604,-2604,-2604,-2604,-2604,
-    -2604,-2604,-2604,-2604,-2604
-    },
-
-    {
-       27,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,
-    -2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,
-    -2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,
-    -2605, 2957,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,
-    -2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,-2605,
-
-    -2605,-2605,-2605,-2605,-2605,-2605, 2957,-2605,-2605,-2605,
-    -2605,-2605,-2605,-2605,-2605
-    },
-
-    {
-       27,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,
-    -2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,
-    -2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606, 2958,-2606,
-    -2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,
-    -2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,-2606,
-    -2606,-2606,-2606, 2958,-2606,-2606,-2606,-2606,-2606,-2606,
-    -2606,-2606,-2606,-2606,-2606
-    },
-
-    {
-       27,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,
-
-    -2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,
-    -2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,
-    -2607, 2959,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,
-    -2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,-2607,
-    -2607,-2607,-2607,-2607,-2607,-2607, 2959,-2607,-2607,-2607,
-    -2607,-2607,-2607,-2607,-2607
-    },
-
-    {
-       27,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,
-    -2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,
-    -2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608, 2960,-2608,
-    -2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,
-
-    -2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,-2608,
-    -2608,-2608,-2608, 2960,-2608,-2608,-2608,-2608,-2608,-2608,
-    -2608,-2608,-2608,-2608,-2608
-    },
-
-    {
-       27,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,
-    -2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,
-    -2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,
-    -2609, 2961,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,
-    -2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,-2609,
-    -2609,-2609,-2609,-2609,-2609,-2609, 2961,-2609,-2609,-2609,
-    -2609,-2609,-2609,-2609,-2609
-
-    },
-
-    {
-       27,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,
-    -2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,
-    -2610,-2610,-2610,-2610,-2610,-2610,-2610, 2962,-2610,-2610,
-    -2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,
-    -2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,-2610,
-    -2610,-2610, 2962,-2610,-2610,-2610,-2610,-2610,-2610,-2610,
-    -2610,-2610,-2610,-2610,-2610
-    },
-
-    {
-       27,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,
-    -2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,
-    -2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,
-
-    -2611, 2963,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,
-    -2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,-2611,
-    -2611,-2611,-2611,-2611,-2611,-2611, 2963,-2611,-2611,-2611,
-    -2611,-2611,-2611,-2611,-2611
-    },
-
-    {
-       27,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612, 1235,
-    -2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,
-    -2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,
-    -2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,
-    -2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,
-    -2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,-2612,
-
-    -2612,-2612,-2612,-2612,-2612
-    },
-
-    {
-       27,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,
-    -2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,
-    -2613,-2613,-2613,-2613,-2613,-2613,-2613, 2964,-2613,-2613,
-    -2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,
-    -2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,-2613,
-    -2613,-2613, 2964,-2613,-2613,-2613,-2613,-2613,-2613,-2613,
-    -2613,-2613,-2613,-2613,-2613
-    },
-
-    {
-       27,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,
-    -2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,
-
-    -2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,
-    -2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,
-    -2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,
-    -2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,-2614,
-    -2614,-2614,-2614,-2614,-2614
-    },
-
-    {
-       27,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,
-    -2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,
-    -2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,
-    -2615,-2615, 2965,-2615,-2615,-2615,-2615,-2615,-2615,-2615,
-    -2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,-2615,
-
-    -2615,-2615,-2615,-2615,-2615,-2615,-2615, 2965,-2615,-2615,
-    -2615,-2615,-2615,-2615,-2615
-    },
-
-    {
-       27,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,
-    -2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,
-    -2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,
-    -2616,-2616,-2616, 2966,-2616,-2616,-2616,-2616,-2616,-2616,
-    -2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616,
-    -2616,-2616,-2616,-2616,-2616,-2616,-2616,-2616, 2966,-2616,
-    -2616,-2616,-2616,-2616,-2616
-    },
-
-    {
-       27,-2617, 2617, 2617,-2617,-2617,-2617,-2617,-2617,-2617,
-
-    -2617,-2617, 2618,-2617,-2617,-2617,-2617,-2617,-2617,-2617,
-    -2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,
-    -2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,
-    -2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,
-    -2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,-2617,
-    -2617,-2617,-2617,-2617,-2617
-    },
-
-    {
-       27,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,
-    -2618,-2618,-2618,-2618,-2618,-2618, 2967,-2618,-2618,-2618,
-    -2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,
-    -2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,
-
-    -2618,-2618, 2967,-2618,-2618,-2618,-2618,-2618,-2618,-2618,
-    -2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,-2618,
-    -2618,-2618,-2618,-2618,-2618
-    },
-
-    {
-       27,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,
-    -2619,-2619,-2619,-2619, 2968,-2619,-2619,-2619,-2619,-2619,
-    -2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,
-    -2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,
-     2968,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,
-    -2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,-2619,
-    -2619,-2619,-2619,-2619,-2619
-
-    },
-
-    {
-       27,-2620, 2620, 2620,-2620,-2620,-2620,-2620,-2620,-2620,
-    -2620,-2620, 2621,-2620,-2620,-2620,-2620,-2620,-2620,-2620,
-    -2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,
-    -2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,
-    -2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,
-    -2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,-2620,
-    -2620,-2620,-2620,-2620,-2620
-    },
-
-    {
-       27,-2621,-2621,-2621,-2621,-2621,-2621,-2621,-2621,-2621,
-    -2621,-2621,-2621,-2621,-2621,-2621, 2969,-2621,-2621,-2621,
-    -2621,-2621,-2621,-2621,-2621,-2621,-2621,-2621,-2621, 2970,
-
-    -2621,-2621,-2621,-2621,-2621,-2621,-2621,-2621,-2621,-2621,
-    -2621,-2621, 2969,-2621,-2621,-2621,-2621,-2621,-2621,-2621,
-    -2621,-2621,-2621,-2621, 2970,-2621,-2621,-2621,-2621,-2621,
-    -2621,-2621,-2621,-2621,-2621
-    },
-
-    {
-       27,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,
-    -2622,-2622,-2622,-2622, 2971,-2622,-2622,-2622,-2622,-2622,
-    -2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,
-    -2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,
-     2971,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,
-    -2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,-2622,
-
-    -2622,-2622,-2622,-2622,-2622
-    },
-
-    {
-       27,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,
-    -2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,
-    -2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,
-    -2623,-2623,-2623, 2972,-2623,-2623,-2623,-2623,-2623,-2623,
-    -2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623,
-    -2623,-2623,-2623,-2623,-2623,-2623,-2623,-2623, 2972,-2623,
-    -2623,-2623,-2623,-2623,-2623
-    },
-
-    {
-       27,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,
-    -2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,
-
-    -2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,
-    -2624,-2624,-2624, 2973,-2624,-2624,-2624,-2624,-2624,-2624,
-    -2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624,
-    -2624,-2624,-2624,-2624,-2624,-2624,-2624,-2624, 2973,-2624,
-    -2624,-2624,-2624,-2624,-2624
-    },
-
-    {
-       27,-2625, 2974, 2974,-2625,-2625,-2625,-2625,-2625,-2625,
-    -2625,-2625, 2975,-2625,-2625,-2625,-2625,-2625,-2625,-2625,
-    -2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,
-    -2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,
-    -2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,
-
-    -2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,-2625,
-    -2625,-2625,-2625,-2625,-2625
-    },
-
-    {
-       27,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,
-    -2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,
-    -2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,
-    -2626,-2626,-2626, 2976,-2626,-2626,-2626,-2626,-2626,-2626,
-    -2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626,
-    -2626,-2626,-2626,-2626,-2626,-2626,-2626,-2626, 2976,-2626,
-    -2626,-2626,-2626,-2626,-2626
-    },
-
-    {
-       27,-2627, 2977, 2977,-2627,-2627,-2627,-2627,-2627,-2627,
-
-    -2627,-2627, 2978,-2627,-2627,-2627,-2627,-2627,-2627,-2627,
-    -2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,
-    -2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,
-    -2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,
-    -2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,-2627,
-    -2627,-2627,-2627,-2627,-2627
-    },
-
-    {
-       27,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,
-    -2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,
-    -2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,
-    -2628,-2628,-2628, 2979,-2628,-2628,-2628,-2628,-2628,-2628,
-
-    -2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628,
-    -2628,-2628,-2628,-2628,-2628,-2628,-2628,-2628, 2979,-2628,
-    -2628,-2628,-2628,-2628,-2628
-    },
-
-    {
-       27,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629, 2980,
-    -2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,
-    -2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,
-    -2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629, 2981,
-    -2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,
-    -2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,-2629,
-    -2629,-2629,-2629,-2629,-2629
-
-    },
-
-    {
-       27,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,
-    -2630,-2630,-2630,-2630, 2982,-2630,-2630,-2630,-2630,-2630,
-    -2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,
-    -2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,
-     2982,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,
-    -2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,-2630,
-    -2630,-2630,-2630,-2630,-2630
-    },
-
-    {
-       27,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,
-    -2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,
-    -2631,-2631,-2631,-2631,-2631,-2631,-2631, 2983,-2631,-2631,
-
-    -2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,
-    -2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,-2631,
-    -2631,-2631, 2983,-2631,-2631,-2631,-2631,-2631,-2631,-2631,
-    -2631,-2631,-2631,-2631,-2631
-    },
-
-    {
-       27,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632, 1252,
-    -2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,
-    -2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,
-    -2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,
-    -2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,
-    -2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,-2632,
-
-    -2632,-2632,-2632,-2632,-2632
-    },
-
-    {
-       27,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,
-    -2633,-2633,-2633, 2984,-2633,-2633,-2633,-2633,-2633,-2633,
-    -2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,
-    -2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,
-    -2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,
-    -2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,-2633,
-    -2633,-2633,-2633,-2633,-2633
-    },
-
-    {
-       27,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,
-    -2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,
-
-    -2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,
-    -2634,-2634, 2985,-2634,-2634,-2634,-2634,-2634,-2634,-2634,
-    -2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,-2634,
-    -2634,-2634,-2634,-2634,-2634,-2634,-2634, 2985,-2634,-2634,
-    -2634,-2634,-2634,-2634,-2634
-    },
-
-    {
-       27,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,
-    -2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,
-    -2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635, 2986,-2635,
-    -2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,
-    -2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,-2635,
-
-    -2635,-2635,-2635, 2986,-2635,-2635,-2635,-2635,-2635,-2635,
-    -2635,-2635,-2635,-2635,-2635
-    },
-
-    {
-       27,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,
-    -2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,
-    -2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,
-    -2636, 2987,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,
-    -2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,-2636,
-    -2636,-2636,-2636,-2636,-2636,-2636, 2987,-2636,-2636,-2636,
-    -2636,-2636,-2636,-2636,-2636
-    },
-
-    {
-       27,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,
-
-    -2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,
-    -2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,
-    -2637,-2637,-2637, 2988,-2637,-2637,-2637,-2637,-2637,-2637,
-    -2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637,
-    -2637,-2637,-2637,-2637,-2637,-2637,-2637,-2637, 2988,-2637,
-    -2637,-2637,-2637,-2637,-2637
-    },
-
-    {
-       27,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,
-    -2638,-2638,-2638,-2638, 2989,-2638,-2638,-2638,-2638,-2638,
-    -2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,
-    -2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,
-
-     2989,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,
-    -2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,-2638,
-    -2638,-2638,-2638,-2638,-2638
-    },
-
-    {
-       27,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,
-    -2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639, 2990,-2639,
-    -2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,
-    -2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,
-    -2639,-2639,-2639,-2639, 2990,-2639,-2639,-2639,-2639,-2639,
-    -2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,-2639,
-    -2639,-2639,-2639,-2639,-2639
-
-    },
-
-    {
-       27,-2640, 2640, 2640,-2640,-2640,-2640,-2640,-2640,-2640,
-    -2640,-2640, 2641,-2640,-2640,-2640,-2640,-2640,-2640,-2640,
-    -2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,
-    -2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,
-    -2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,
-    -2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,-2640,
-    -2640,-2640,-2640,-2640,-2640
-    },
-
-    {
-       27,-2641,-2641,-2641,-2641,-2641,-2641,-2641,-2641,-2641,
-    -2641,-2641,-2641,-2641,-2641,-2641, 2991,-2641,-2641,-2641,
-    -2641,-2641,-2641,-2641,-2641,-2641,-2641,-2641,-2641, 2992,
-
-    -2641,-2641,-2641,-2641,-2641,-2641,-2641,-2641,-2641,-2641,
-    -2641,-2641, 2991,-2641,-2641,-2641,-2641,-2641,-2641,-2641,
-    -2641,-2641,-2641,-2641, 2992,-2641,-2641,-2641,-2641,-2641,
-    -2641,-2641,-2641,-2641,-2641
-    },
-
-    {
-       27,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,
-    -2642,-2642,-2642,-2642, 2993,-2642,-2642,-2642,-2642,-2642,
-    -2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,
-    -2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,
-     2993,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,
-    -2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,-2642,
-
-    -2642,-2642,-2642,-2642,-2642
-    },
-
-    {
-       27,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643, 2994,
-    -2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,
-    -2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,
-    -2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643, 2995,
-    -2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,
-    -2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,-2643,
-    -2643,-2643,-2643,-2643,-2643
-    },
-
-    {
-       27,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,
-    -2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,
-
-    -2644,-2644, 2996,-2644,-2644,-2644,-2644,-2644,-2644,-2644,
-    -2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,
-    -2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644, 2996,-2644,
-    -2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,-2644,
-    -2644,-2644,-2644,-2644,-2644
-    },
-
-    {
-       27,-2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645,
-    -2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645, 2997,-2645,
-    -2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645,
-    -2645,-2645,-2645,-2645, 2998,-2645,-2645,-2645,-2645,-2645,
-    -2645,-2645,-2645,-2645, 2997,-2645,-2645,-2645,-2645,-2645,
-
-    -2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645,-2645, 2998,
-    -2645,-2645,-2645,-2645,-2645
-    },
-
-    {
-       27,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,
-    -2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,
-    -2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646, 2999,-2646,
-    -2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,
-    -2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,-2646,
-    -2646,-2646,-2646, 2999,-2646,-2646,-2646,-2646,-2646,-2646,
-    -2646,-2646,-2646,-2646,-2646
-    },
-
-    {
-       27,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,
-
-    -2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,
-    -2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,
-    -2647, 3000,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,
-    -2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,-2647,
-    -2647,-2647,-2647,-2647,-2647,-2647, 3000,-2647,-2647,-2647,
-    -2647,-2647,-2647,-2647,-2647
-    },
-
-    {
-       27,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,
-    -2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,
-    -2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648, 3001,-2648,
-    -2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,
-
-    -2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,-2648,
-    -2648,-2648,-2648, 3001,-2648,-2648,-2648,-2648,-2648,-2648,
-    -2648,-2648,-2648,-2648,-2648
-    },
-
-    {
-       27,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,
-    -2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,
-    -2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,
-    -2649, 3002,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,
-    -2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,-2649,
-    -2649,-2649,-2649,-2649,-2649,-2649, 3002,-2649,-2649,-2649,
-    -2649,-2649,-2649,-2649,-2649
-
-    },
-
-    {
-       27,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,
-    -2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,
-    -2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650, 3003,-2650,
-    -2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,
-    -2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,-2650,
-    -2650,-2650,-2650, 3003,-2650,-2650,-2650,-2650,-2650,-2650,
-    -2650,-2650,-2650,-2650,-2650
-    },
-
-    {
-       27,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,
-    -2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,
-    -2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,
-
-    -2651, 3004,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,
-    -2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,-2651,
-    -2651,-2651,-2651,-2651,-2651,-2651, 3004,-2651,-2651,-2651,
-    -2651,-2651,-2651,-2651,-2651
-    },
-
-    {
-       27,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,
-    -2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,
-    -2652,-2652,-2652,-2652,-2652,-2652,-2652, 3005,-2652,-2652,
-    -2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,
-    -2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,-2652,
-    -2652,-2652, 3005,-2652,-2652,-2652,-2652,-2652,-2652,-2652,
-
-    -2652,-2652,-2652,-2652,-2652
-    },
-
-    {
-       27,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,
-    -2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,
-    -2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,
-    -2653, 3006,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,
-    -2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,-2653,
-    -2653,-2653,-2653,-2653,-2653,-2653, 3006,-2653,-2653,-2653,
-    -2653,-2653,-2653,-2653,-2653
-    },
-
-    {
-       27,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654, 1267,
-    -2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,
-
-    -2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,
-    -2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,
-    -2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,
-    -2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,-2654,
-    -2654,-2654,-2654,-2654,-2654
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366, 3007,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366, 3007,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367, 3008,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-     3008,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,
-
-    -2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,
-    -2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,
-    -2657,-2657,-2657, 3009,-2657,-2657,-2657,-2657,-2657,-2657,
-    -2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657,
-    -2657,-2657,-2657,-2657,-2657,-2657,-2657,-2657, 3009,-2657,
-    -2657,-2657,-2657,-2657,-2657
-    },
-
-    {
-       27,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,
-    -2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658, 3010,-2658,
-    -2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,
-    -2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,
-
-    -2658,-2658,-2658,-2658, 3010,-2658,-2658,-2658,-2658,-2658,
-    -2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,-2658,
-    -2658,-2658,-2658,-2658,-2658
-    },
-
-    {
-       27,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,
-    -2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,
-    -2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659, 3011,-2659,
-    -2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,
-    -2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,-2659,
-    -2659,-2659,-2659, 3011,-2659,-2659,-2659,-2659,-2659,-2659,
-    -2659,-2659,-2659,-2659,-2659
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3012,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3012,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,
-    -2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,
-    -2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661, 3013,-2661,
-
-    -2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,
-    -2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,-2661,
-    -2661,-2661,-2661, 3013,-2661,-2661,-2661,-2661,-2661,-2661,
-    -2661,-2661,-2661,-2661,-2661
-    },
-
-    {
-       27,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,
-    -2662,-2662,-2662,-2662, 3014,-2662,-2662,-2662,-2662,-2662,
-    -2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,
-    -2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,
-     3014,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,
-    -2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,-2662,
-
-    -2662,-2662,-2662,-2662,-2662
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3015,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3015,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,
-    -2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664, 3016,-2664,
-
-    -2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,
-    -2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,
-    -2664,-2664,-2664,-2664, 3016,-2664,-2664,-2664,-2664,-2664,
-    -2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,-2664,
-    -2664,-2664,-2664,-2664,-2664
-    },
-
-    {
-       27,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,
-    -2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665, 3017,
-    -2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,
-    -2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,
-    -2665,-2665,-2665,-2665,-2665, 3017,-2665,-2665,-2665,-2665,
-
-    -2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,-2665,
-    -2665,-2665,-2665,-2665,-2665
-    },
-
-    {
-       27,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,
-    -2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,
-    -2666,-2666,-2666,-2666,-2666,-2666, 3018,-2666,-2666,-2666,
-    -2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,
-    -2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,
-    -2666, 3018,-2666,-2666,-2666,-2666,-2666,-2666,-2666,-2666,
-    -2666,-2666,-2666,-2666,-2666
-    },
-
-    {
-       27,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,
-
-    -2667,-2667,-2667,-2667,-2667,-2667, 3019,-2667,-2667, 3020,
-    -2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,
-    -2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,
-    -2667,-2667, 3019,-2667,-2667, 3020,-2667,-2667,-2667,-2667,
-    -2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,-2667,
-    -2667,-2667,-2667,-2667,-2667
-    },
-
-    {
-       27,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,
-    -2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668, 3021,-2668,
-    -2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,
-    -2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,
-
-    -2668,-2668,-2668,-2668, 3021,-2668,-2668,-2668,-2668,-2668,
-    -2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,-2668,
-    -2668,-2668,-2668,-2668,-2668
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 3022,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3022,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 3023,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3023,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2671, 2671, 2671,-2671,-2671,-2671,-2671,-2671,-2671,
-    -2671,-2671, 2672,-2671,-2671,-2671,-2671,-2671,-2671,-2671,
-    -2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,
-
-    -2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,
-    -2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,
-    -2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,-2671,
-    -2671,-2671,-2671,-2671,-2671
-    },
-
-    {
-       27,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,
-    -2672,-2672,-2672,-2672,-2672,-2672, 3024,-2672,-2672,-2672,
-    -2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,
-    -2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,
-    -2672,-2672, 3024,-2672,-2672,-2672,-2672,-2672,-2672,-2672,
-    -2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,-2672,
-
-    -2672,-2672,-2672,-2672,-2672
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 3025,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3025,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2674, 2674, 2674,-2674,-2674,-2674,-2674,-2674,-2674,
-    -2674,-2674, 2675,-2674,-2674,-2674,-2674,-2674,-2674,-2674,
-
-    -2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,
-    -2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,
-    -2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,
-    -2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,-2674,
-    -2674,-2674,-2674,-2674,-2674
-    },
-
-    {
-       27,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,
-    -2675,-2675,-2675,-2675,-2675,-2675, 3026,-2675,-2675,-2675,
-    -2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,
-    -2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,
-    -2675,-2675, 3026,-2675,-2675,-2675,-2675,-2675,-2675,-2675,
-
-    -2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,-2675,
-    -2675,-2675,-2675,-2675,-2675
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 3027,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3027,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 3028,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3029,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 3029,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,
-    -2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,
-    -2679,-2679,-2679,-2679,-2679,-2679, 3030,-2679,-2679,-2679,
-    -2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,
-    -2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,
-    -2679, 3030,-2679,-2679,-2679,-2679,-2679,-2679,-2679,-2679,
-    -2679,-2679,-2679,-2679,-2679
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3031,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3031,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,
-    -2681,-2681, 1290,-2681,-2681,-2681,-2681,-2681,-2681,-2681,
-    -2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,
-
-    -2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,
-    -2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,
-    -2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,-2681,
-    -2681,-2681,-2681,-2681,-2681
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3032,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3033,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 3033,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,
-    -2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,
-    -2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,
-    -2683,-2683,-2683, 3034,-2683,-2683,-2683,-2683,-2683,-2683,
-    -2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683,
-    -2683,-2683,-2683,-2683,-2683,-2683,-2683,-2683, 3034,-2683,
-    -2683,-2683,-2683,-2683,-2683
-    },
-
-    {
-       27,-2684, 3035, 3035,-2684,-2684,-2684,-2684,-2684,-2684,
-    -2684,-2684, 3036,-2684,-2684,-2684,-2684,-2684,-2684,-2684,
-
-    -2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,
-    -2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,
-    -2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,
-    -2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,-2684,
-    -2684,-2684,-2684,-2684,-2684
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3037,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184, 3037,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,
-    -2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,
-    -2686,-2686,-2686,-2686,-2686,-2686,-2686, 3038,-2686,-2686,
-    -2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,
-    -2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,-2686,
-    -2686,-2686, 3038,-2686,-2686,-2686,-2686,-2686,-2686,-2686,
-    -2686,-2686,-2686,-2686,-2686
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1297,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,
-    -2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688, 3039,-2688,
-    -2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,
-    -2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,
-
-    -2688,-2688,-2688,-2688, 3039,-2688,-2688,-2688,-2688,-2688,
-    -2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,-2688,
-    -2688,-2688,-2688,-2688,-2688
-    },
-
-    {
-       27,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,
-    -2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,
-    -2689,-2689,-2689,-2689,-2689,-2689, 3040,-2689,-2689,-2689,
-    -2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,
-    -2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,
-    -2689, 3040,-2689,-2689,-2689,-2689,-2689,-2689,-2689,-2689,
-    -2689,-2689,-2689,-2689,-2689
-
-    },
-
-    {
-       27,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,
-    -2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,
-    -2690,-2690,-2690,-2690,-2690,-2690,-2690, 3041,-2690,-2690,
-    -2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,
-    -2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,-2690,
-    -2690,-2690, 3041,-2690,-2690,-2690,-2690,-2690,-2690,-2690,
-    -2690,-2690,-2690,-2690,-2690
-    },
-
-    {
-       27,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,
-    -2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,
-    -2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691, 3042,-2691,
-
-    -2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,
-    -2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,-2691,
-    -2691,-2691,-2691, 3042,-2691,-2691,-2691,-2691,-2691,-2691,
-    -2691,-2691,-2691,-2691,-2691
-    },
-
-    {
-       27,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,
-    -2692,-2692,-2692,-2692, 3043,-2692,-2692,-2692,-2692,-2692,
-    -2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,
-    -2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,
-     3043,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,
-    -2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,-2692,
-
-    -2692,-2692,-2692,-2692,-2692
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3044,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3044,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3045,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3046,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184, 3046,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 3047,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3047,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184, 3048,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3048,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184, 3049,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184, 3049,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,
-    -2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,
-    -2699,-2699,-2699,-2699,-2699,-2699,-2699, 3050,-2699,-2699,
-    -2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,
-    -2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,-2699,
-    -2699,-2699, 3050,-2699,-2699,-2699,-2699,-2699,-2699,-2699,
-    -2699,-2699,-2699,-2699,-2699
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1307,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,
-    -2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,
-    -2701,-2701,-2701,-2701,-2701,-2701,-2701, 3051,-2701,-2701,
-
-    -2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,
-    -2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,-2701,
-    -2701,-2701, 3051,-2701,-2701,-2701,-2701,-2701,-2701,-2701,
-    -2701,-2701,-2701,-2701,-2701
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1309,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,
-    -2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,
-    -2703,-2703,-2703,-2703,-2703,-2703,-2703, 3052,-2703,-2703,
-    -2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,
-    -2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,-2703,
-    -2703,-2703, 3052,-2703,-2703,-2703,-2703,-2703,-2703,-2703,
-    -2703,-2703,-2703,-2703,-2703
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1311,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 3053,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3053,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,
-    -2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,
-    -2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,
-    -2706,-2706,-2706, 3054,-2706,-2706,-2706,-2706,-2706,-2706,
-    -2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706,
-    -2706,-2706,-2706,-2706,-2706,-2706,-2706,-2706, 3054,-2706,
-    -2706,-2706,-2706,-2706,-2706
-    },
-
-    {
-       27,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,
-
-    -2707,-2707,-2707,-2707, 3055,-2707,-2707,-2707,-2707,-2707,
-    -2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,
-    -2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,
-     3055,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,
-    -2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,-2707,
-    -2707,-2707,-2707,-2707,-2707
-    },
-
-    {
-       27,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,
-    -2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,
-    -2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708, 3056,-2708,
-    -2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,
-
-    -2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,-2708,
-    -2708,-2708,-2708, 3056,-2708,-2708,-2708,-2708,-2708,-2708,
-    -2708,-2708,-2708,-2708,-2708
-    },
-
-    {
-       27,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,
-    -2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709, 3057,-2709,
-    -2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,
-    -2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,
-    -2709,-2709,-2709,-2709, 3057,-2709,-2709,-2709,-2709,-2709,
-    -2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,-2709,
-    -2709,-2709,-2709,-2709,-2709
-
-    },
-
-    {
-       27,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,
-    -2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,
-    -2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710, 3058,-2710,
-    -2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,
-    -2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,-2710,
-    -2710,-2710,-2710, 3058,-2710,-2710,-2710,-2710,-2710,-2710,
-    -2710,-2710,-2710,-2710,-2710
-    },
-
-    {
-       27,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,
-    -2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,
-    -2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,
-
-    -2711, 3059,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,
-    -2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,-2711,
-    -2711,-2711,-2711,-2711,-2711,-2711, 3059,-2711,-2711,-2711,
-    -2711,-2711,-2711,-2711,-2711
-    },
-
-    {
-       27,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,
-    -2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,
-    -2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712, 3060,-2712,
-    -2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,
-    -2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,-2712,
-    -2712,-2712,-2712, 3060,-2712,-2712,-2712,-2712,-2712,-2712,
-
-    -2712,-2712,-2712,-2712,-2712
-    },
-
-    {
-       27,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,
-    -2713,-2713,-2713,-2713, 3061,-2713,-2713,-2713,-2713,-2713,
-    -2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,
-    -2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,
-     3061,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,
-    -2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,-2713,
-    -2713,-2713,-2713,-2713,-2713
-    },
-
-    {
-       27,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,
-    -2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,
-
-    -2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,
-    -2714, 3062,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,
-    -2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,-2714,
-    -2714,-2714,-2714,-2714,-2714,-2714, 3062,-2714,-2714,-2714,
-    -2714,-2714,-2714,-2714,-2714
-    },
-
-    {
-       27,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,
-    -2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715, 3063,-2715,
-    -2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,
-    -2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,
-    -2715,-2715,-2715,-2715, 3063,-2715,-2715,-2715,-2715,-2715,
-
-    -2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,-2715,
-    -2715,-2715,-2715,-2715,-2715
-    },
-
-    {
-       27,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,
-    -2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716, 3064,-2716,
-    -2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,
-    -2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,
-    -2716,-2716,-2716,-2716, 3064,-2716,-2716,-2716,-2716,-2716,
-    -2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,-2716,
-    -2716,-2716,-2716,-2716,-2716
-    },
-
-    {
-       27,-2717, 2717, 2717,-2717,-2717,-2717,-2717,-2717,-2717,
-
-    -2717,-2717, 2718,-2717,-2717,-2717,-2717,-2717,-2717,-2717,
-    -2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,
-    -2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,
-    -2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,
-    -2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,-2717,
-    -2717,-2717,-2717,-2717,-2717
-    },
-
-    {
-       27,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,
-    -2718,-2718,-2718,-2718,-2718,-2718, 3065,-2718,-2718,-2718,
-    -2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,
-    -2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,
-
-    -2718,-2718, 3065,-2718,-2718,-2718,-2718,-2718,-2718,-2718,
-    -2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,-2718,
-    -2718,-2718,-2718,-2718,-2718
-    },
-
-    {
-       27,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,
-    -2719,-2719,-2719,-2719, 3066,-2719,-2719,-2719,-2719,-2719,
-    -2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,
-    -2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,
-     3066,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,
-    -2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,-2719,
-    -2719,-2719,-2719,-2719,-2719
-
-    },
-
-    {
-       27,-2720, 2720, 2720,-2720,-2720,-2720,-2720,-2720,-2720,
-    -2720,-2720, 2721,-2720,-2720,-2720,-2720,-2720,-2720,-2720,
-    -2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,
-    -2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,
-    -2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,
-    -2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,-2720,
-    -2720,-2720,-2720,-2720,-2720
-    },
-
-    {
-       27,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,
-    -2721,-2721,-2721,-2721,-2721,-2721, 3067,-2721,-2721,-2721,
-    -2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,
-
-    -2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,
-    -2721,-2721, 3067,-2721,-2721,-2721,-2721,-2721,-2721,-2721,
-    -2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,-2721,
-    -2721,-2721,-2721,-2721,-2721
-    },
-
-    {
-       27,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,
-    -2722,-2722,-2722,-2722, 3068,-2722,-2722,-2722,-2722,-2722,
-    -2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,
-    -2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,
-     3068,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,
-    -2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,-2722,
-
-    -2722,-2722,-2722,-2722,-2722
-    },
-
-    {
-       27,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,
-    -2723,-2723,-2723, 3069,-2723,-2723,-2723,-2723,-2723,-2723,
-    -2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,
-    -2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,
-    -2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,
-    -2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,-2723,
-    -2723,-2723,-2723,-2723,-2723
-    },
-
-    {
-       27,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,
-    -2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,
-
-    -2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,
-    -2724,-2724, 3070,-2724,-2724,-2724,-2724,-2724,-2724,-2724,
-    -2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,-2724,
-    -2724,-2724,-2724,-2724,-2724,-2724,-2724, 3070,-2724,-2724,
-    -2724,-2724,-2724,-2724,-2724
-    },
-
-    {
-       27,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,
-    -2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,
-    -2725,-2725,-2725,-2725,-2725,-2725, 3071,-2725,-2725,-2725,
-    -2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,
-    -2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,
-
-    -2725, 3071,-2725,-2725,-2725,-2725,-2725,-2725,-2725,-2725,
-    -2725,-2725,-2725,-2725,-2725
-    },
-
-    {
-       27,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,
-    -2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,
-    -2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,
-    -2726,-2726,-2726, 3072,-2726,-2726,-2726,-2726,-2726,-2726,
-    -2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726,
-    -2726,-2726,-2726,-2726,-2726,-2726,-2726,-2726, 3072,-2726,
-    -2726,-2726,-2726,-2726,-2726
-    },
-
-    {
-       27,-2727, 3073, 3073,-2727,-2727,-2727,-2727,-2727,-2727,
-
-    -2727,-2727, 3074,-2727,-2727,-2727,-2727,-2727,-2727,-2727,
-    -2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,
-    -2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,
-    -2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,
-    -2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,-2727,
-    -2727,-2727,-2727,-2727,-2727
-    },
-
-    {
-       27,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,
-    -2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,
-    -2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,
-    -2728,-2728,-2728, 3075,-2728,-2728,-2728,-2728,-2728,-2728,
-
-    -2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728,
-    -2728,-2728,-2728,-2728,-2728,-2728,-2728,-2728, 3075,-2728,
-    -2728,-2728,-2728,-2728,-2728
-    },
-
-    {
-       27,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,
-    -2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,
-    -2729,-2729,-2729,-2729,-2729,-2729,-2729, 3076,-2729,-2729,
-    -2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,
-    -2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,-2729,
-    -2729,-2729, 3076,-2729,-2729,-2729,-2729,-2729,-2729,-2729,
-    -2729,-2729,-2729,-2729,-2729
-
-    },
-
-    {
-       27,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730, 1341,
-    -2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,
-    -2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,
-    -2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,
-    -2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,
-    -2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,-2730,
-    -2730,-2730,-2730,-2730,-2730
-    },
-
-    {
-       27,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,
-    -2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731, 3077,-2731,
-    -2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,
-
-    -2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,
-    -2731,-2731,-2731,-2731, 3077,-2731,-2731,-2731,-2731,-2731,
-    -2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,-2731,
-    -2731,-2731,-2731,-2731,-2731
-    },
-
-    {
-       27,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,
-    -2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,
-    -2732,-2732,-2732,-2732,-2732,-2732, 3078,-2732,-2732,-2732,
-    -2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,
-    -2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,
-    -2732, 3078,-2732,-2732,-2732,-2732,-2732,-2732,-2732,-2732,
-
-    -2732,-2732,-2732,-2732,-2732
-    },
-
-    {
-       27,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,
-    -2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,
-    -2733,-2733,-2733,-2733,-2733,-2733,-2733, 3079,-2733,-2733,
-    -2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,
-    -2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,-2733,
-    -2733,-2733, 3079,-2733,-2733,-2733,-2733,-2733,-2733,-2733,
-    -2733,-2733,-2733,-2733,-2733
-    },
-
-    {
-       27,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,
-    -2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,
-
-    -2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734, 3080,-2734,
-    -2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,
-    -2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,-2734,
-    -2734,-2734,-2734, 3080,-2734,-2734,-2734,-2734,-2734,-2734,
-    -2734,-2734,-2734,-2734,-2734
-    },
-
-    {
-       27,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,
-    -2735,-2735,-2735,-2735, 3081,-2735,-2735,-2735,-2735,-2735,
-    -2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,
-    -2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,
-     3081,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,
-
-    -2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,-2735,
-    -2735,-2735,-2735,-2735,-2735
-    },
-
-    {
-       27,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,
-    -2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,
-    -2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,
-    -2736, 3082,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,
-    -2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,-2736,
-    -2736,-2736,-2736,-2736,-2736,-2736, 3082,-2736,-2736,-2736,
-    -2736,-2736,-2736,-2736,-2736
-    },
-
-    {
-       27,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,
-
-    -2737,-2737,-2737, 3083,-2737,-2737,-2737,-2737,-2737,-2737,
-    -2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,
-    -2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,
-    -2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,
-    -2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,-2737,
-    -2737,-2737,-2737,-2737,-2737
-    },
-
-    {
-       27,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,
-    -2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,
-    -2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,
-    -2738,-2738, 3084,-2738,-2738,-2738,-2738,-2738,-2738,-2738,
-
-    -2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,-2738,
-    -2738,-2738,-2738,-2738,-2738,-2738,-2738, 3084,-2738,-2738,
-    -2738,-2738,-2738,-2738,-2738
-    },
-
-    {
-       27,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,
-    -2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,
-    -2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739, 3085,-2739,
-    -2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,
-    -2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,-2739,
-    -2739,-2739,-2739, 3085,-2739,-2739,-2739,-2739,-2739,-2739,
-    -2739,-2739,-2739,-2739,-2739
-
-    },
-
-    {
-       27,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,
-    -2740,-2740,-2740,-2740,-2740,-2740, 3086,-2740,-2740,-2740,
-    -2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,
-    -2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,
-    -2740,-2740, 3086,-2740,-2740,-2740,-2740,-2740,-2740,-2740,
-    -2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,-2740,
-    -2740,-2740,-2740,-2740,-2740
-    },
-
-    {
-       27,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,
-    -2741,-2741,-2741,-2741,-2741, 3087,-2741,-2741,-2741,-2741,
-    -2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,
-
-    -2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,
-    -2741, 3087,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,
-    -2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,-2741,
-    -2741,-2741,-2741,-2741,-2741
-    },
-
-    {
-       27,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,
-    -2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,
-    -2742,-2742,-2742,-2742,-2742,-2742,-2742, 3088,-2742,-2742,
-    -2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,
-    -2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,-2742,
-    -2742,-2742, 3088,-2742,-2742,-2742,-2742,-2742,-2742,-2742,
-
-    -2742,-2742,-2742,-2742,-2742
-    },
-
-    {
-       27,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743, 1351,
-    -2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,
-    -2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,
-    -2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,
-    -2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,
-    -2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,-2743,
-    -2743,-2743,-2743,-2743,-2743
-    },
-
-    {
-       27,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,
-    -2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,
-
-    -2744,-2744,-2744,-2744,-2744,-2744,-2744, 3089,-2744,-2744,
-    -2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,
-    -2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,-2744,
-    -2744,-2744, 3089,-2744,-2744,-2744,-2744,-2744,-2744,-2744,
-    -2744,-2744,-2744,-2744,-2744
-    },
-
-    {
-       27,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745, 1353,
-    -2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,
-    -2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,
-    -2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,
-    -2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,
-
-    -2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,-2745,
-    -2745,-2745,-2745,-2745,-2745
-    },
-
-    {
-       27,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,
-    -2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,
-    -2746,-2746,-2746,-2746,-2746,-2746,-2746, 3090,-2746,-2746,
-    -2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,
-    -2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,-2746,
-    -2746,-2746, 3090,-2746,-2746,-2746,-2746,-2746,-2746,-2746,
-    -2746,-2746,-2746,-2746,-2746
-    },
-
-    {
-       27,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747, 1355,
-
-    -2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,
-    -2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,
-    -2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,
-    -2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,
-    -2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,-2747,
-    -2747,-2747,-2747,-2747,-2747
-    },
-
-    {
-       27,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,
-    -2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,
-    -2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,
-    -2748,-2748,-2748, 3091,-2748,-2748,-2748,-2748,-2748,-2748,
-
-    -2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748,
-    -2748,-2748,-2748,-2748,-2748,-2748,-2748,-2748, 3091,-2748,
-    -2748,-2748,-2748,-2748,-2748
-    },
-
-    {
-       27,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,
-    -2749,-2749,-2749,-2749, 3092,-2749,-2749,-2749,-2749,-2749,
-    -2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,
-    -2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,
-     3092,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,
-    -2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,-2749,
-    -2749,-2749,-2749,-2749,-2749
-
-    },
-
-    {
-       27,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,
-    -2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,
-    -2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750, 3093,-2750,
-    -2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,
-    -2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,-2750,
-    -2750,-2750,-2750, 3093,-2750,-2750,-2750,-2750,-2750,-2750,
-    -2750,-2750,-2750,-2750,-2750
-    },
-
-    {
-       27,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,
-    -2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751, 3094,-2751,
-    -2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,
-
-    -2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,
-    -2751,-2751,-2751,-2751, 3094,-2751,-2751,-2751,-2751,-2751,
-    -2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,-2751,
-    -2751,-2751,-2751,-2751,-2751
-    },
-
-    {
-       27,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,
-    -2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,
-    -2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752, 3095,-2752,
-    -2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,
-    -2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,-2752,
-    -2752,-2752,-2752, 3095,-2752,-2752,-2752,-2752,-2752,-2752,
-
-    -2752,-2752,-2752,-2752,-2752
-    },
-
-    {
-       27,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,
-    -2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,
-    -2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,
-    -2753, 3096,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,
-    -2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,-2753,
-    -2753,-2753,-2753,-2753,-2753,-2753, 3096,-2753,-2753,-2753,
-    -2753,-2753,-2753,-2753,-2753
-    },
-
-    {
-       27,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,
-    -2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,
-
-    -2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754, 3097,-2754,
-    -2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,
-    -2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,-2754,
-    -2754,-2754,-2754, 3097,-2754,-2754,-2754,-2754,-2754,-2754,
-    -2754,-2754,-2754,-2754,-2754
-    },
-
-    {
-       27,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,
-    -2755,-2755,-2755,-2755, 3098,-2755,-2755,-2755,-2755,-2755,
-    -2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,
-    -2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,
-     3098,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,
-
-    -2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,-2755,
-    -2755,-2755,-2755,-2755,-2755
-    },
-
-    {
-       27,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,
-    -2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,
-    -2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,
-    -2756, 3099,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,
-    -2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,-2756,
-    -2756,-2756,-2756,-2756,-2756,-2756, 3099,-2756,-2756,-2756,
-    -2756,-2756,-2756,-2756,-2756
-    },
-
-    {
-       27,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,
-
-    -2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757, 3100,-2757,
-    -2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,
-    -2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,
-    -2757,-2757,-2757,-2757, 3100,-2757,-2757,-2757,-2757,-2757,
-    -2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,-2757,
-    -2757,-2757,-2757,-2757,-2757
-    },
-
-    {
-       27,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,
-    -2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758, 3101,-2758,
-    -2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,
-    -2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,
-
-    -2758,-2758,-2758,-2758, 3101,-2758,-2758,-2758,-2758,-2758,
-    -2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,-2758,
-    -2758,-2758,-2758,-2758,-2758
-    },
-
-    {
-       27,-2759, 2759, 2759,-2759,-2759,-2759,-2759,-2759,-2759,
-    -2759,-2759, 2760,-2759,-2759,-2759,-2759,-2759,-2759,-2759,
-    -2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,
-    -2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,
-    -2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,
-    -2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,-2759,
-    -2759,-2759,-2759,-2759,-2759
-
-    },
-
-    {
-       27,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,
-    -2760,-2760,-2760,-2760,-2760,-2760, 3102,-2760,-2760,-2760,
-    -2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,
-    -2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,
-    -2760,-2760, 3102,-2760,-2760,-2760,-2760,-2760,-2760,-2760,
-    -2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,-2760,
-    -2760,-2760,-2760,-2760,-2760
-    },
-
-    {
-       27,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,
-    -2761,-2761,-2761,-2761, 3103,-2761,-2761,-2761,-2761,-2761,
-    -2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,
-
-    -2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,
-     3103,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,
-    -2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,-2761,
-    -2761,-2761,-2761,-2761,-2761
-    },
-
-    {
-       27,-2762, 2762, 2762,-2762,-2762,-2762,-2762,-2762,-2762,
-    -2762,-2762, 2763,-2762,-2762,-2762,-2762,-2762,-2762,-2762,
-    -2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,
-    -2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,
-    -2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,
-    -2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,-2762,
-
-    -2762,-2762,-2762,-2762,-2762
-    },
-
-    {
-       27,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,
-    -2763,-2763,-2763,-2763,-2763,-2763, 3104,-2763,-2763,-2763,
-    -2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,
-    -2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,
-    -2763,-2763, 3104,-2763,-2763,-2763,-2763,-2763,-2763,-2763,
-    -2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,-2763,
-    -2763,-2763,-2763,-2763,-2763
-    },
-
-    {
-       27,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,
-    -2764,-2764,-2764,-2764, 3105,-2764,-2764,-2764,-2764,-2764,
-
-    -2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,
-    -2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,
-     3105,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,
-    -2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,-2764,
-    -2764,-2764,-2764,-2764,-2764
-    },
-
-    {
-       27,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,
-    -2765,-2765,-2765, 3106,-2765,-2765,-2765,-2765,-2765,-2765,
-    -2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,
-    -2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,
-    -2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,
-
-    -2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,-2765,
-    -2765,-2765,-2765,-2765,-2765
-    },
-
-    {
-       27,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,
-    -2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,
-    -2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,
-    -2766,-2766, 3107,-2766,-2766,-2766,-2766,-2766,-2766,-2766,
-    -2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,-2766,
-    -2766,-2766,-2766,-2766,-2766,-2766,-2766, 3107,-2766,-2766,
-    -2766,-2766,-2766,-2766,-2766
-    },
-
-    {
-       27,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,
-
-    -2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,
-    -2767,-2767,-2767,-2767,-2767,-2767, 3108,-2767,-2767,-2767,
-    -2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,
-    -2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,
-    -2767, 3108,-2767,-2767,-2767,-2767,-2767,-2767,-2767,-2767,
-    -2767,-2767,-2767,-2767,-2767
-    },
-
-    {
-       27,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,
-    -2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,
-    -2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,
-    -2768,-2768,-2768, 3109,-2768,-2768,-2768,-2768,-2768,-2768,
-
-    -2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768,
-    -2768,-2768,-2768,-2768,-2768,-2768,-2768,-2768, 3109,-2768,
-    -2768,-2768,-2768,-2768,-2768
-    },
-
-    {
-       27,-2769, 3110, 3110,-2769,-2769,-2769,-2769,-2769,-2769,
-    -2769,-2769, 3111,-2769,-2769,-2769,-2769,-2769,-2769,-2769,
-    -2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,
-    -2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,
-    -2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,
-    -2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,-2769,
-    -2769,-2769,-2769,-2769,-2769
-
-    },
-
-    {
-       27,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,
-    -2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,
-    -2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,
-    -2770,-2770,-2770, 3112,-2770,-2770,-2770,-2770,-2770,-2770,
-    -2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770,
-    -2770,-2770,-2770,-2770,-2770,-2770,-2770,-2770, 3112,-2770,
-    -2770,-2770,-2770,-2770,-2770
-    },
-
-    {
-       27,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,
-    -2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,
-    -2771,-2771,-2771,-2771,-2771,-2771,-2771, 3113,-2771,-2771,
-
-    -2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,
-    -2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,-2771,
-    -2771,-2771, 3113,-2771,-2771,-2771,-2771,-2771,-2771,-2771,
-    -2771,-2771,-2771,-2771,-2771
-    },
-
-    {
-       27,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772, 1380,
-    -2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,
-    -2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,
-    -2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,
-    -2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,
-    -2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,-2772,
-
-    -2772,-2772,-2772,-2772,-2772
-    },
-
-    {
-       27,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,
-    -2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773, 3114,-2773,
-    -2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,
-    -2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,
-    -2773,-2773,-2773,-2773, 3114,-2773,-2773,-2773,-2773,-2773,
-    -2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,-2773,
-    -2773,-2773,-2773,-2773,-2773
-    },
-
-    {
-       27,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,
-    -2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,
-
-    -2774,-2774,-2774,-2774,-2774,-2774, 3115,-2774,-2774,-2774,
-    -2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,
-    -2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,
-    -2774, 3115,-2774,-2774,-2774,-2774,-2774,-2774,-2774,-2774,
-    -2774,-2774,-2774,-2774,-2774
-    },
-
-    {
-       27,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,
-    -2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,
-    -2775,-2775,-2775,-2775,-2775,-2775,-2775, 3116,-2775,-2775,
-    -2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,
-    -2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,-2775,
-
-    -2775,-2775, 3116,-2775,-2775,-2775,-2775,-2775,-2775,-2775,
-    -2775,-2775,-2775,-2775,-2775
-    },
-
-    {
-       27,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,
-    -2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,
-    -2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776, 3117,-2776,
-    -2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,
-    -2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,-2776,
-    -2776,-2776,-2776, 3117,-2776,-2776,-2776,-2776,-2776,-2776,
-    -2776,-2776,-2776,-2776,-2776
-    },
-
-    {
-       27,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,
-
-    -2777,-2777,-2777,-2777, 3118,-2777,-2777,-2777,-2777,-2777,
-    -2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,
-    -2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,
-     3118,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,
-    -2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,-2777,
-    -2777,-2777,-2777,-2777,-2777
-    },
-
-    {
-       27,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,
-    -2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,
-    -2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,
-    -2778, 3119,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,
-
-    -2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,-2778,
-    -2778,-2778,-2778,-2778,-2778,-2778, 3119,-2778,-2778,-2778,
-    -2778,-2778,-2778,-2778,-2778
-    },
-
-    {
-       27,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,
-    -2779,-2779,-2779, 3120,-2779,-2779,-2779,-2779,-2779,-2779,
-    -2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,
-    -2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,
-    -2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,
-    -2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,-2779,
-    -2779,-2779,-2779,-2779,-2779
-
-    },
-
-    {
-       27,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,
-    -2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,
-    -2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,
-    -2780,-2780, 3121,-2780,-2780,-2780,-2780,-2780,-2780,-2780,
-    -2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,-2780,
-    -2780,-2780,-2780,-2780,-2780,-2780,-2780, 3121,-2780,-2780,
-    -2780,-2780,-2780,-2780,-2780
-    },
-
-    {
-       27,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,
-    -2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,
-    -2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781, 3122,-2781,
-
-    -2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,
-    -2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,-2781,
-    -2781,-2781,-2781, 3122,-2781,-2781,-2781,-2781,-2781,-2781,
-    -2781,-2781,-2781,-2781,-2781
-    },
-
-    {
-       27,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,
-    -2782,-2782,-2782,-2782,-2782,-2782, 3123,-2782,-2782,-2782,
-    -2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,
-    -2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,
-    -2782,-2782, 3123,-2782,-2782,-2782,-2782,-2782,-2782,-2782,
-    -2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,-2782,
-
-    -2782,-2782,-2782,-2782,-2782
-    },
-
-    {
-       27,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,
-    -2783,-2783,-2783,-2783,-2783, 3124,-2783,-2783,-2783,-2783,
-    -2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,
-    -2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,
-    -2783, 3124,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,
-    -2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,-2783,
-    -2783,-2783,-2783,-2783,-2783
-    },
-
-    {
-       27,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,
-    -2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,
-
-    -2784,-2784,-2784,-2784,-2784,-2784,-2784, 3125,-2784,-2784,
-    -2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,
-    -2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,-2784,
-    -2784,-2784, 3125,-2784,-2784,-2784,-2784,-2784,-2784,-2784,
-    -2784,-2784,-2784,-2784,-2784
-    },
-
-    {
-       27,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785, 1390,
-    -2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,
-    -2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,
-    -2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,
-    -2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,
-
-    -2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,-2785,
-    -2785,-2785,-2785,-2785,-2785
-    },
-
-    {
-       27,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,
-    -2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,
-    -2786,-2786,-2786,-2786,-2786,-2786,-2786, 3126,-2786,-2786,
-    -2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,
-    -2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,-2786,
-    -2786,-2786, 3126,-2786,-2786,-2786,-2786,-2786,-2786,-2786,
-    -2786,-2786,-2786,-2786,-2786
-    },
-
-    {
-       27,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787, 1392,
-
-    -2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,
-    -2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,
-    -2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,
-    -2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,
-    -2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,-2787,
-    -2787,-2787,-2787,-2787,-2787
-    },
-
-    {
-       27,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,
-    -2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,
-    -2788,-2788,-2788,-2788,-2788,-2788,-2788, 3127,-2788,-2788,
-    -2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,
-
-    -2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,-2788,
-    -2788,-2788, 3127,-2788,-2788,-2788,-2788,-2788,-2788,-2788,
-    -2788,-2788,-2788,-2788,-2788
-    },
-
-    {
-       27,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789, 1394,
-    -2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,
-    -2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,
-    -2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,
-    -2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,
-    -2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,-2789,
-    -2789,-2789,-2789,-2789,-2789
-
-    },
-
-    {
-       27,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,
-    -2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,
-    -2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,
-    -2790,-2790,-2790, 3128,-2790,-2790,-2790,-2790,-2790,-2790,
-    -2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790,
-    -2790,-2790,-2790,-2790,-2790,-2790,-2790,-2790, 3128,-2790,
-    -2790,-2790,-2790,-2790,-2790
-    },
-
-    {
-       27,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,
-    -2791,-2791,-2791,-2791, 3129,-2791,-2791,-2791,-2791,-2791,
-    -2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,
-
-    -2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,
-     3129,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,
-    -2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,-2791,
-    -2791,-2791,-2791,-2791,-2791
-    },
-
-    {
-       27,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,
-    -2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,
-    -2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792, 3130,-2792,
-    -2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,
-    -2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,-2792,
-    -2792,-2792,-2792, 3130,-2792,-2792,-2792,-2792,-2792,-2792,
-
-    -2792,-2792,-2792,-2792,-2792
-    },
-
-    {
-       27,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,
-    -2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,
-    -2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,
-    -2793, 3131,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,
-    -2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,-2793,
-    -2793,-2793,-2793,-2793,-2793,-2793, 3131,-2793,-2793,-2793,
-    -2793,-2793,-2793,-2793,-2793
-    },
-
-    {
-       27,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,
-    -2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794, 3132,-2794,
-
-    -2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,
-    -2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,
-    -2794,-2794,-2794,-2794, 3132,-2794,-2794,-2794,-2794,-2794,
-    -2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,-2794,
-    -2794,-2794,-2794,-2794,-2794
-    },
-
-    {
-       27,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,
-    -2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,
-    -2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795, 3133,-2795,
-    -2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,
-    -2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,-2795,
-
-    -2795,-2795,-2795, 3133,-2795,-2795,-2795,-2795,-2795,-2795,
-    -2795,-2795,-2795,-2795,-2795
-    },
-
-    {
-       27,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,
-    -2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,
-    -2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,
-    -2796, 3134,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,
-    -2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,-2796,
-    -2796,-2796,-2796,-2796,-2796,-2796, 3134,-2796,-2796,-2796,
-    -2796,-2796,-2796,-2796,-2796
-    },
-
-    {
-       27,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,
-
-    -2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,
-    -2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797, 3135,-2797,
-    -2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,
-    -2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,-2797,
-    -2797,-2797,-2797, 3135,-2797,-2797,-2797,-2797,-2797,-2797,
-    -2797,-2797,-2797,-2797,-2797
-    },
-
-    {
-       27,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,
-    -2798,-2798,-2798,-2798, 3136,-2798,-2798,-2798,-2798,-2798,
-    -2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,
-    -2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,
-
-     3136,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,
-    -2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,-2798,
-    -2798,-2798,-2798,-2798,-2798
-    },
-
-    {
-       27,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,
-    -2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,
-    -2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,
-    -2799, 3137,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,
-    -2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,-2799,
-    -2799,-2799,-2799,-2799,-2799,-2799, 3137,-2799,-2799,-2799,
-    -2799,-2799,-2799,-2799,-2799
-
-    },
-
-    {
-       27,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,
-    -2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800, 3138,-2800,
-    -2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,
-    -2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,
-    -2800,-2800,-2800,-2800, 3138,-2800,-2800,-2800,-2800,-2800,
-    -2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,-2800,
-    -2800,-2800,-2800,-2800,-2800
-    },
-
-    {
-       27,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,
-    -2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801, 3139,-2801,
-    -2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,
-
-    -2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,
-    -2801,-2801,-2801,-2801, 3139,-2801,-2801,-2801,-2801,-2801,
-    -2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,-2801,
-    -2801,-2801,-2801,-2801,-2801
-    },
-
-    {
-       27,-2802, 2802, 2802,-2802,-2802,-2802,-2802,-2802,-2802,
-    -2802,-2802, 2803,-2802,-2802,-2802,-2802,-2802,-2802,-2802,
-    -2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,
-    -2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,
-    -2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,
-    -2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,-2802,
-
-    -2802,-2802,-2802,-2802,-2802
-    },
-
-    {
-       27,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,
-    -2803,-2803,-2803,-2803,-2803,-2803, 3140,-2803,-2803,-2803,
-    -2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,
-    -2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,
-    -2803,-2803, 3140,-2803,-2803,-2803,-2803,-2803,-2803,-2803,
-    -2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,-2803,
-    -2803,-2803,-2803,-2803,-2803
-    },
-
-    {
-       27,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,
-    -2804,-2804,-2804,-2804, 3141,-2804,-2804,-2804,-2804,-2804,
-
-    -2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,
-    -2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,
-     3141,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,
-    -2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,-2804,
-    -2804,-2804,-2804,-2804,-2804
-    },
-
-    {
-       27,-2805, 2805, 2805,-2805,-2805,-2805,-2805,-2805,-2805,
-    -2805,-2805, 2806,-2805,-2805,-2805,-2805,-2805,-2805,-2805,
-    -2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,
-    -2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,
-    -2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,
-
-    -2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,-2805,
-    -2805,-2805,-2805,-2805,-2805
-    },
-
-    {
-       27,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,
-    -2806,-2806,-2806,-2806,-2806,-2806, 3142,-2806,-2806,-2806,
-    -2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,
-    -2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,
-    -2806,-2806, 3142,-2806,-2806,-2806,-2806,-2806,-2806,-2806,
-    -2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,-2806,
-    -2806,-2806,-2806,-2806,-2806
-    },
-
-    {
-       27,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,
-
-    -2807,-2807,-2807,-2807, 3143,-2807,-2807,-2807,-2807,-2807,
-    -2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,
-    -2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,
-     3143,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,
-    -2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,-2807,
-    -2807,-2807,-2807,-2807,-2807
-    },
-
-    {
-       27,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,
-    -2808,-2808,-2808, 3144,-2808,-2808,-2808,-2808,-2808,-2808,
-    -2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,
-    -2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,
-
-    -2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,
-    -2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,-2808,
-    -2808,-2808,-2808,-2808,-2808
-    },
-
-    {
-       27,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,
-    -2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,
-    -2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,
-    -2809,-2809, 3145,-2809,-2809,-2809,-2809,-2809,-2809,-2809,
-    -2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,-2809,
-    -2809,-2809,-2809,-2809,-2809,-2809,-2809, 3145,-2809,-2809,
-    -2809,-2809,-2809,-2809,-2809
-
-    },
-
-    {
-       27,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,
-    -2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,
-    -2810,-2810,-2810,-2810,-2810,-2810, 3146,-2810,-2810,-2810,
-    -2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,
-    -2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,
-    -2810, 3146,-2810,-2810,-2810,-2810,-2810,-2810,-2810,-2810,
-    -2810,-2810,-2810,-2810,-2810
-    },
-
-    {
-       27,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,
-    -2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,
-    -2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,
-
-    -2811,-2811,-2811, 3147,-2811,-2811,-2811,-2811,-2811,-2811,
-    -2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811,
-    -2811,-2811,-2811,-2811,-2811,-2811,-2811,-2811, 3147,-2811,
-    -2811,-2811,-2811,-2811,-2811
-    },
-
-    {
-       27,-2812, 3148, 3148,-2812,-2812,-2812,-2812,-2812,-2812,
-    -2812,-2812, 3149,-2812,-2812,-2812,-2812,-2812,-2812,-2812,
-    -2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,
-    -2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,
-    -2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,
-    -2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,-2812,
-
-    -2812,-2812,-2812,-2812,-2812
-    },
-
-    {
-       27,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,
-    -2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,
-    -2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,
-    -2813,-2813,-2813, 3150,-2813,-2813,-2813,-2813,-2813,-2813,
-    -2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813,
-    -2813,-2813,-2813,-2813,-2813,-2813,-2813,-2813, 3150,-2813,
-    -2813,-2813,-2813,-2813,-2813
-    },
-
-    {
-       27,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,
-    -2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,
-
-    -2814,-2814,-2814,-2814,-2814,-2814,-2814, 3151,-2814,-2814,
-    -2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,
-    -2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,-2814,
-    -2814,-2814, 3151,-2814,-2814,-2814,-2814,-2814,-2814,-2814,
-    -2814,-2814,-2814,-2814,-2814
-    },
-
-    {
-       27,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815, 1419,
-    -2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,
-    -2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,
-    -2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,
-    -2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,
-
-    -2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,-2815,
-    -2815,-2815,-2815,-2815,-2815
-    },
-
-    {
-       27,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,
-    -2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816, 3152,-2816,
-    -2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,
-    -2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,
-    -2816,-2816,-2816,-2816, 3152,-2816,-2816,-2816,-2816,-2816,
-    -2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,-2816,
-    -2816,-2816,-2816,-2816,-2816
-    },
-
-    {
-       27,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,
-
-    -2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,
-    -2817,-2817,-2817,-2817,-2817,-2817, 3153,-2817,-2817,-2817,
-    -2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,
-    -2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,
-    -2817, 3153,-2817,-2817,-2817,-2817,-2817,-2817,-2817,-2817,
-    -2817,-2817,-2817,-2817,-2817
-    },
-
-    {
-       27,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,
-    -2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,
-    -2818,-2818,-2818,-2818,-2818,-2818,-2818, 3154,-2818,-2818,
-    -2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,
-
-    -2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,-2818,
-    -2818,-2818, 3154,-2818,-2818,-2818,-2818,-2818,-2818,-2818,
-    -2818,-2818,-2818,-2818,-2818
-    },
-
-    {
-       27,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,
-    -2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,
-    -2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819, 3155,-2819,
-    -2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,
-    -2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,-2819,
-    -2819,-2819,-2819, 3155,-2819,-2819,-2819,-2819,-2819,-2819,
-    -2819,-2819,-2819,-2819,-2819
-
-    },
-
-    {
-       27,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,
-    -2820,-2820,-2820,-2820, 3156,-2820,-2820,-2820,-2820,-2820,
-    -2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,
-    -2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,
-     3156,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,
-    -2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,-2820,
-    -2820,-2820,-2820,-2820,-2820
-    },
-
-    {
-       27,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,
-    -2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,
-    -2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,
-
-    -2821, 3157,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,
-    -2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,-2821,
-    -2821,-2821,-2821,-2821,-2821,-2821, 3157,-2821,-2821,-2821,
-    -2821,-2821,-2821,-2821,-2821
-    },
-
-    {
-       27,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,
-    -2822,-2822,-2822, 3158,-2822,-2822,-2822,-2822,-2822,-2822,
-    -2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,
-    -2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,
-    -2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,
-    -2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,-2822,
-
-    -2822,-2822,-2822,-2822,-2822
-    },
-
-    {
-       27,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,
-    -2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,
-    -2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,
-    -2823,-2823, 3159,-2823,-2823,-2823,-2823,-2823,-2823,-2823,
-    -2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,-2823,
-    -2823,-2823,-2823,-2823,-2823,-2823,-2823, 3159,-2823,-2823,
-    -2823,-2823,-2823,-2823,-2823
-    },
-
-    {
-       27,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,
-    -2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,
-
-    -2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824, 3160,-2824,
-    -2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,
-    -2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,-2824,
-    -2824,-2824,-2824, 3160,-2824,-2824,-2824,-2824,-2824,-2824,
-    -2824,-2824,-2824,-2824,-2824
-    },
-
-    {
-       27,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,
-    -2825,-2825,-2825,-2825,-2825,-2825, 3161,-2825,-2825,-2825,
-    -2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,
-    -2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,
-    -2825,-2825, 3161,-2825,-2825,-2825,-2825,-2825,-2825,-2825,
-
-    -2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,-2825,
-    -2825,-2825,-2825,-2825,-2825
-    },
-
-    {
-       27,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,
-    -2826,-2826,-2826,-2826,-2826, 3162,-2826,-2826,-2826,-2826,
-    -2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,
-    -2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,
-    -2826, 3162,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,
-    -2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,-2826,
-    -2826,-2826,-2826,-2826,-2826
-    },
-
-    {
-       27,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,
-
-    -2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,
-    -2827,-2827,-2827,-2827,-2827,-2827,-2827, 3163,-2827,-2827,
-    -2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,
-    -2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,-2827,
-    -2827,-2827, 3163,-2827,-2827,-2827,-2827,-2827,-2827,-2827,
-    -2827,-2827,-2827,-2827,-2827
-    },
-
-    {
-       27,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828, 1429,
-    -2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,
-    -2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,
-    -2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,
-
-    -2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,
-    -2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,-2828,
-    -2828,-2828,-2828,-2828,-2828
-    },
-
-    {
-       27,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,
-    -2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,
-    -2829,-2829,-2829,-2829,-2829,-2829,-2829, 3164,-2829,-2829,
-    -2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,
-    -2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,-2829,
-    -2829,-2829, 3164,-2829,-2829,-2829,-2829,-2829,-2829,-2829,
-    -2829,-2829,-2829,-2829,-2829
-
-    },
-
-    {
-       27,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830, 1431,
-    -2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,
-    -2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,
-    -2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,
-    -2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,
-    -2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,-2830,
-    -2830,-2830,-2830,-2830,-2830
-    },
-
-    {
-       27,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,
-    -2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,
-    -2831,-2831,-2831,-2831,-2831,-2831,-2831, 3165,-2831,-2831,
-
-    -2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,
-    -2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,-2831,
-    -2831,-2831, 3165,-2831,-2831,-2831,-2831,-2831,-2831,-2831,
-    -2831,-2831,-2831,-2831,-2831
-    },
-
-    {
-       27,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832, 1433,
-    -2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,
-    -2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,
-    -2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,
-    -2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,
-    -2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,-2832,
-
-    -2832,-2832,-2832,-2832,-2832
-    },
-
-    {
-       27,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,
-    -2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,
-    -2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,
-    -2833,-2833,-2833, 3166,-2833,-2833,-2833,-2833,-2833,-2833,
-    -2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833,
-    -2833,-2833,-2833,-2833,-2833,-2833,-2833,-2833, 3166,-2833,
-    -2833,-2833,-2833,-2833,-2833
-    },
-
-    {
-       27,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,
-    -2834,-2834,-2834,-2834, 3167,-2834,-2834,-2834,-2834,-2834,
-
-    -2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,
-    -2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,
-     3167,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,
-    -2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,-2834,
-    -2834,-2834,-2834,-2834,-2834
-    },
-
-    {
-       27,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,
-    -2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,
-    -2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835, 3168,-2835,
-    -2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,
-    -2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,-2835,
-
-    -2835,-2835,-2835, 3168,-2835,-2835,-2835,-2835,-2835,-2835,
-    -2835,-2835,-2835,-2835,-2835
-    },
-
-    {
-       27,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,
-    -2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,
-    -2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,
-    -2836, 3169,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,
-    -2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,-2836,
-    -2836,-2836,-2836,-2836,-2836,-2836, 3169,-2836,-2836,-2836,
-    -2836,-2836,-2836,-2836,-2836
-    },
-
-    {
-       27,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,
-
-    -2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837, 3170,-2837,
-    -2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,
-    -2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,
-    -2837,-2837,-2837,-2837, 3170,-2837,-2837,-2837,-2837,-2837,
-    -2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,-2837,
-    -2837,-2837,-2837,-2837,-2837
-    },
-
-    {
-       27,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,
-    -2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,
-    -2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838, 3171,-2838,
-    -2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,
-
-    -2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,-2838,
-    -2838,-2838,-2838, 3171,-2838,-2838,-2838,-2838,-2838,-2838,
-    -2838,-2838,-2838,-2838,-2838
-    },
-
-    {
-       27,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,
-    -2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,
-    -2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,
-    -2839, 3172,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,
-    -2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,-2839,
-    -2839,-2839,-2839,-2839,-2839,-2839, 3172,-2839,-2839,-2839,
-    -2839,-2839,-2839,-2839,-2839
-
-    },
-
-    {
-       27,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,
-    -2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,
-    -2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840, 3173,-2840,
-    -2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,
-    -2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,-2840,
-    -2840,-2840,-2840, 3173,-2840,-2840,-2840,-2840,-2840,-2840,
-    -2840,-2840,-2840,-2840,-2840
-    },
-
-    {
-       27,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,
-    -2841,-2841,-2841,-2841, 3174,-2841,-2841,-2841,-2841,-2841,
-    -2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,
-
-    -2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,
-     3174,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,
-    -2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,-2841,
-    -2841,-2841,-2841,-2841,-2841
-    },
-
-    {
-       27,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,
-    -2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,
-    -2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,
-    -2842, 3175,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,
-    -2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,-2842,
-    -2842,-2842,-2842,-2842,-2842,-2842, 3175,-2842,-2842,-2842,
-
-    -2842,-2842,-2842,-2842,-2842
-    },
-
-    {
-       27,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,
-    -2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843, 3176,-2843,
-    -2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,
-    -2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,
-    -2843,-2843,-2843,-2843, 3176,-2843,-2843,-2843,-2843,-2843,
-    -2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,-2843,
-    -2843,-2843,-2843,-2843,-2843
-    },
-
-    {
-       27,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,
-    -2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844, 3177,-2844,
-
-    -2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,
-    -2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,
-    -2844,-2844,-2844,-2844, 3177,-2844,-2844,-2844,-2844,-2844,
-    -2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,-2844,
-    -2844,-2844,-2844,-2844,-2844
-    },
-
-    {
-       27,-2845, 2845, 2845,-2845,-2845,-2845,-2845,-2845,-2845,
-    -2845,-2845, 2846,-2845,-2845,-2845,-2845,-2845,-2845,-2845,
-    -2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,
-    -2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,
-    -2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,
-
-    -2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,-2845,
-    -2845,-2845,-2845,-2845,-2845
-    },
-
-    {
-       27,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,
-    -2846,-2846,-2846,-2846,-2846,-2846, 3178,-2846,-2846,-2846,
-    -2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,
-    -2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,
-    -2846,-2846, 3178,-2846,-2846,-2846,-2846,-2846,-2846,-2846,
-    -2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,-2846,
-    -2846,-2846,-2846,-2846,-2846
-    },
-
-    {
-       27,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,
-
-    -2847,-2847,-2847,-2847, 3179,-2847,-2847,-2847,-2847,-2847,
-    -2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,
-    -2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,
-     3179,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,
-    -2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,-2847,
-    -2847,-2847,-2847,-2847,-2847
-    },
-
-    {
-       27,-2848, 2848, 2848,-2848,-2848,-2848,-2848,-2848,-2848,
-    -2848,-2848, 2849,-2848,-2848,-2848,-2848,-2848,-2848,-2848,
-    -2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,
-    -2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,
-
-    -2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,
-    -2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,-2848,
-    -2848,-2848,-2848,-2848,-2848
-    },
-
-    {
-       27,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,
-    -2849,-2849,-2849,-2849,-2849,-2849, 3180,-2849,-2849,-2849,
-    -2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,
-    -2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,
-    -2849,-2849, 3180,-2849,-2849,-2849,-2849,-2849,-2849,-2849,
-    -2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,-2849,
-    -2849,-2849,-2849,-2849,-2849
-
-    },
-
-    {
-       27,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,
-    -2850,-2850,-2850,-2850, 3181,-2850,-2850,-2850,-2850,-2850,
-    -2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,
-    -2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,
-     3181,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,
-    -2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,-2850,
-    -2850,-2850,-2850,-2850,-2850
-    },
-
-    {
-       27,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,
-    -2851,-2851,-2851, 3182,-2851,-2851,-2851,-2851,-2851,-2851,
-    -2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,
-
-    -2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,
-    -2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,
-    -2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,-2851,
-    -2851,-2851,-2851,-2851,-2851
-    },
-
-    {
-       27,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,
-    -2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,
-    -2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,
-    -2852,-2852, 3183,-2852,-2852,-2852,-2852,-2852,-2852,-2852,
-    -2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,-2852,
-    -2852,-2852,-2852,-2852,-2852,-2852,-2852, 3183,-2852,-2852,
-
-    -2852,-2852,-2852,-2852,-2852
-    },
-
-    {
-       27,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,
-    -2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,
-    -2853,-2853,-2853,-2853,-2853,-2853, 3184,-2853,-2853,-2853,
-    -2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,
-    -2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,
-    -2853, 3184,-2853,-2853,-2853,-2853,-2853,-2853,-2853,-2853,
-    -2853,-2853,-2853,-2853,-2853
-    },
-
-    {
-       27,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,
-    -2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,
-
-    -2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,
-    -2854,-2854,-2854, 3185,-2854,-2854,-2854,-2854,-2854,-2854,
-    -2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854,
-    -2854,-2854,-2854,-2854,-2854,-2854,-2854,-2854, 3185,-2854,
-    -2854,-2854,-2854,-2854,-2854
-    },
-
-    {
-       27,-2855, 3186, 3186,-2855,-2855,-2855,-2855,-2855,-2855,
-    -2855,-2855, 3187,-2855,-2855,-2855,-2855,-2855,-2855,-2855,
-    -2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,
-    -2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,
-    -2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,
-
-    -2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,-2855,
-    -2855,-2855,-2855,-2855,-2855
-    },
-
-    {
-       27,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,
-    -2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,
-    -2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,
-    -2856,-2856,-2856, 3188,-2856,-2856,-2856,-2856,-2856,-2856,
-    -2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856,
-    -2856,-2856,-2856,-2856,-2856,-2856,-2856,-2856, 3188,-2856,
-    -2856,-2856,-2856,-2856,-2856
-    },
-
-    {
-       27,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,
-
-    -2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,
-    -2857,-2857,-2857,-2857,-2857,-2857,-2857, 3189,-2857,-2857,
-    -2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,
-    -2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,-2857,
-    -2857,-2857, 3189,-2857,-2857,-2857,-2857,-2857,-2857,-2857,
-    -2857,-2857,-2857,-2857,-2857
-    },
-
-    {
-       27,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858, 1458,
-    -2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,
-    -2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,
-    -2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,
-
-    -2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,
-    -2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,-2858,
-    -2858,-2858,-2858,-2858,-2858
-    },
-
-    {
-       27,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,
-    -2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859, 3190,-2859,
-    -2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,
-    -2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,
-    -2859,-2859,-2859,-2859, 3190,-2859,-2859,-2859,-2859,-2859,
-    -2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,-2859,
-    -2859,-2859,-2859,-2859,-2859
-
-    },
-
-    {
-       27,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,
-    -2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,
-    -2860,-2860,-2860,-2860,-2860,-2860, 3191,-2860,-2860,-2860,
-    -2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,
-    -2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,
-    -2860, 3191,-2860,-2860,-2860,-2860,-2860,-2860,-2860,-2860,
-    -2860,-2860,-2860,-2860,-2860
-    },
-
-    {
-       27,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,
-    -2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,
-    -2861,-2861,-2861,-2861,-2861,-2861,-2861, 3192,-2861,-2861,
-
-    -2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,
-    -2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,-2861,
-    -2861,-2861, 3192,-2861,-2861,-2861,-2861,-2861,-2861,-2861,
-    -2861,-2861,-2861,-2861,-2861
-    },
-
-    {
-       27,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,
-    -2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,
-    -2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862, 3193,-2862,
-    -2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,
-    -2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,-2862,
-    -2862,-2862,-2862, 3193,-2862,-2862,-2862,-2862,-2862,-2862,
-
-    -2862,-2862,-2862,-2862,-2862
-    },
-
-    {
-       27,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,
-    -2863,-2863,-2863,-2863, 3194,-2863,-2863,-2863,-2863,-2863,
-    -2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,
-    -2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,
-     3194,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,
-    -2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,-2863,
-    -2863,-2863,-2863,-2863,-2863
-    },
-
-    {
-       27,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,
-    -2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,
-
-    -2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,
-    -2864, 3195,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,
-    -2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,-2864,
-    -2864,-2864,-2864,-2864,-2864,-2864, 3195,-2864,-2864,-2864,
-    -2864,-2864,-2864,-2864,-2864
-    },
-
-    {
-       27,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,
-    -2865,-2865,-2865, 3196,-2865,-2865,-2865,-2865,-2865,-2865,
-    -2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,
-    -2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,
-    -2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,
-
-    -2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,-2865,
-    -2865,-2865,-2865,-2865,-2865
-    },
-
-    {
-       27,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,
-    -2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,
-    -2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,
-    -2866,-2866, 3197,-2866,-2866,-2866,-2866,-2866,-2866,-2866,
-    -2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,-2866,
-    -2866,-2866,-2866,-2866,-2866,-2866,-2866, 3197,-2866,-2866,
-    -2866,-2866,-2866,-2866,-2866
-    },
-
-    {
-       27,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,
-
-    -2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,
-    -2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867, 3198,-2867,
-    -2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,
-    -2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,-2867,
-    -2867,-2867,-2867, 3198,-2867,-2867,-2867,-2867,-2867,-2867,
-    -2867,-2867,-2867,-2867,-2867
-    },
-
-    {
-       27,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,
-    -2868,-2868,-2868,-2868,-2868,-2868, 3199,-2868,-2868,-2868,
-    -2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,
-    -2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,
-
-    -2868,-2868, 3199,-2868,-2868,-2868,-2868,-2868,-2868,-2868,
-    -2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,-2868,
-    -2868,-2868,-2868,-2868,-2868
-    },
-
-    {
-       27,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,
-    -2869,-2869,-2869,-2869,-2869, 3200,-2869,-2869,-2869,-2869,
-    -2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,
-    -2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,
-    -2869, 3200,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,
-    -2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,-2869,
-    -2869,-2869,-2869,-2869,-2869
-
-    },
-
-    {
-       27,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,
-    -2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,
-    -2870,-2870,-2870,-2870,-2870,-2870,-2870, 3201,-2870,-2870,
-    -2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,
-    -2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,-2870,
-    -2870,-2870, 3201,-2870,-2870,-2870,-2870,-2870,-2870,-2870,
-    -2870,-2870,-2870,-2870,-2870
-    },
-
-    {
-       27,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871, 1468,
-    -2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,
-    -2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,
-
-    -2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,
-    -2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,
-    -2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,-2871,
-    -2871,-2871,-2871,-2871,-2871
-    },
-
-    {
-       27,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,
-    -2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,
-    -2872,-2872,-2872,-2872,-2872,-2872,-2872, 3202,-2872,-2872,
-    -2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,
-    -2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,-2872,
-    -2872,-2872, 3202,-2872,-2872,-2872,-2872,-2872,-2872,-2872,
-
-    -2872,-2872,-2872,-2872,-2872
-    },
-
-    {
-       27,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873, 1470,
-    -2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,
-    -2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,
-    -2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,
-    -2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,
-    -2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,-2873,
-    -2873,-2873,-2873,-2873,-2873
-    },
-
-    {
-       27,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,
-    -2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,
-
-    -2874,-2874,-2874,-2874,-2874,-2874,-2874, 3203,-2874,-2874,
-    -2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,
-    -2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,-2874,
-    -2874,-2874, 3203,-2874,-2874,-2874,-2874,-2874,-2874,-2874,
-    -2874,-2874,-2874,-2874,-2874
-    },
-
-    {
-       27,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875, 1472,
-    -2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,
-    -2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,
-    -2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,
-    -2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,
-
-    -2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,-2875,
-    -2875,-2875,-2875,-2875,-2875
-    },
-
-    {
-       27,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,
-    -2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,
-    -2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,
-    -2876,-2876,-2876, 3204,-2876,-2876,-2876,-2876,-2876,-2876,
-    -2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876,
-    -2876,-2876,-2876,-2876,-2876,-2876,-2876,-2876, 3204,-2876,
-    -2876,-2876,-2876,-2876,-2876
-    },
-
-    {
-       27,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,
-
-    -2877,-2877,-2877,-2877, 3205,-2877,-2877,-2877,-2877,-2877,
-    -2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,
-    -2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,
-     3205,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,
-    -2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,-2877,
-    -2877,-2877,-2877,-2877,-2877
-    },
-
-    {
-       27,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,
-    -2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,
-    -2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878, 3206,-2878,
-    -2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,
-
-    -2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,-2878,
-    -2878,-2878,-2878, 3206,-2878,-2878,-2878,-2878,-2878,-2878,
-    -2878,-2878,-2878,-2878,-2878
-    },
-
-    {
-       27,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,
-    -2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,
-    -2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,
-    -2879,-2879,-2879, 3207,-2879,-2879,-2879,-2879,-2879,-2879,
-    -2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879,
-    -2879,-2879,-2879,-2879,-2879,-2879,-2879,-2879, 3207,-2879,
-    -2879,-2879,-2879,-2879,-2879
-
-    },
-
-    {
-       27,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,
-    -2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880, 3208,-2880,
-    -2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,
-    -2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,
-    -2880,-2880,-2880,-2880, 3208,-2880,-2880,-2880,-2880,-2880,
-    -2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,-2880,
-    -2880,-2880,-2880,-2880,-2880
-    },
-
-    {
-       27,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,
-    -2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,
-    -2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881, 3209,-2881,
-
-    -2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,
-    -2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,-2881,
-    -2881,-2881,-2881, 3209,-2881,-2881,-2881,-2881,-2881,-2881,
-    -2881,-2881,-2881,-2881,-2881
-    },
-
-    {
-       27,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,
-    -2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,
-    -2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,
-    -2882, 3210,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,
-    -2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,-2882,
-    -2882,-2882,-2882,-2882,-2882,-2882, 3210,-2882,-2882,-2882,
-
-    -2882,-2882,-2882,-2882,-2882
-    },
-
-    {
-       27,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,
-    -2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,
-    -2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883, 3211,-2883,
-    -2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,
-    -2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,-2883,
-    -2883,-2883,-2883, 3211,-2883,-2883,-2883,-2883,-2883,-2883,
-    -2883,-2883,-2883,-2883,-2883
-    },
-
-    {
-       27,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,
-    -2884,-2884,-2884,-2884, 3212,-2884,-2884,-2884,-2884,-2884,
-
-    -2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,
-    -2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,
-     3212,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,
-    -2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,-2884,
-    -2884,-2884,-2884,-2884,-2884
-    },
-
-    {
-       27,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,
-    -2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,
-    -2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,
-    -2885, 3213,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,
-    -2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,-2885,
-
-    -2885,-2885,-2885,-2885,-2885,-2885, 3213,-2885,-2885,-2885,
-    -2885,-2885,-2885,-2885,-2885
-    },
-
-    {
-       27,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,
-    -2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886, 3214,-2886,
-    -2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,
-    -2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,
-    -2886,-2886,-2886,-2886, 3214,-2886,-2886,-2886,-2886,-2886,
-    -2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,-2886,
-    -2886,-2886,-2886,-2886,-2886
-    },
-
-    {
-       27,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,
-
-    -2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887, 3215,-2887,
-    -2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,
-    -2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,
-    -2887,-2887,-2887,-2887, 3215,-2887,-2887,-2887,-2887,-2887,
-    -2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,-2887,
-    -2887,-2887,-2887,-2887,-2887
-    },
-
-    {
-       27,-2888, 2888, 2888,-2888,-2888,-2888,-2888,-2888,-2888,
-    -2888,-2888, 2889,-2888,-2888,-2888,-2888,-2888,-2888,-2888,
-    -2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,
-    -2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,
-
-    -2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,
-    -2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,-2888,
-    -2888,-2888,-2888,-2888,-2888
-    },
-
-    {
-       27,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,
-    -2889,-2889,-2889,-2889,-2889,-2889, 3216,-2889,-2889,-2889,
-    -2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,
-    -2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,
-    -2889,-2889, 3216,-2889,-2889,-2889,-2889,-2889,-2889,-2889,
-    -2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,-2889,
-    -2889,-2889,-2889,-2889,-2889
-
-    },
-
-    {
-       27,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,
-    -2890,-2890,-2890,-2890, 3217,-2890,-2890,-2890,-2890,-2890,
-    -2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,
-    -2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,
-     3217,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,
-    -2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,-2890,
-    -2890,-2890,-2890,-2890,-2890
-    },
-
-    {
-       27,-2891, 2891, 2891,-2891,-2891,-2891,-2891,-2891,-2891,
-    -2891,-2891, 2892,-2891,-2891,-2891,-2891,-2891,-2891,-2891,
-    -2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,
-
-    -2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,
-    -2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,
-    -2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,-2891,
-    -2891,-2891,-2891,-2891,-2891
-    },
-
-    {
-       27,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,
-    -2892,-2892,-2892,-2892,-2892,-2892, 3218,-2892,-2892,-2892,
-    -2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,
-    -2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,
-    -2892,-2892, 3218,-2892,-2892,-2892,-2892,-2892,-2892,-2892,
-    -2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,-2892,
-
-    -2892,-2892,-2892,-2892,-2892
-    },
-
-    {
-       27,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,
-    -2893,-2893,-2893,-2893, 3219,-2893,-2893,-2893,-2893,-2893,
-    -2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,
-    -2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,
-     3219,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,
-    -2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,-2893,
-    -2893,-2893,-2893,-2893,-2893
-    },
-
-    {
-       27,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,
-    -2894,-2894,-2894, 3220,-2894,-2894,-2894,-2894,-2894,-2894,
-
-    -2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,
-    -2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,
-    -2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,
-    -2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,-2894,
-    -2894,-2894,-2894,-2894,-2894
-    },
-
-    {
-       27,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,
-    -2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,
-    -2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,
-    -2895,-2895, 3221,-2895,-2895,-2895,-2895,-2895,-2895,-2895,
-    -2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,-2895,
-
-    -2895,-2895,-2895,-2895,-2895,-2895,-2895, 3221,-2895,-2895,
-    -2895,-2895,-2895,-2895,-2895
-    },
-
-    {
-       27,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,
-    -2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,
-    -2896,-2896,-2896,-2896,-2896,-2896, 3222,-2896,-2896,-2896,
-    -2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,
-    -2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,
-    -2896, 3222,-2896,-2896,-2896,-2896,-2896,-2896,-2896,-2896,
-    -2896,-2896,-2896,-2896,-2896
-    },
-
-    {
-       27,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,
-
-    -2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,
-    -2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,
-    -2897,-2897,-2897, 3223,-2897,-2897,-2897,-2897,-2897,-2897,
-    -2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897,
-    -2897,-2897,-2897,-2897,-2897,-2897,-2897,-2897, 3223,-2897,
-    -2897,-2897,-2897,-2897,-2897
-    },
-
-    {
-       27,-2898, 3224, 3224,-2898,-2898,-2898,-2898,-2898,-2898,
-    -2898,-2898, 3225,-2898,-2898,-2898,-2898,-2898,-2898,-2898,
-    -2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,
-    -2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,
-
-    -2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,
-    -2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,-2898,
-    -2898,-2898,-2898,-2898,-2898
-    },
-
-    {
-       27,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,
-    -2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,
-    -2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,
-    -2899,-2899,-2899, 3226,-2899,-2899,-2899,-2899,-2899,-2899,
-    -2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899,
-    -2899,-2899,-2899,-2899,-2899,-2899,-2899,-2899, 3226,-2899,
-    -2899,-2899,-2899,-2899,-2899
-
-    },
-
-    {
-       27,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,
-    -2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,
-    -2900,-2900,-2900,-2900,-2900,-2900,-2900, 3227,-2900,-2900,
-    -2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,
-    -2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,-2900,
-    -2900,-2900, 3227,-2900,-2900,-2900,-2900,-2900,-2900,-2900,
-    -2900,-2900,-2900,-2900,-2900
-    },
-
-    {
-       27,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901, 1497,
-    -2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,
-    -2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,
-
-    -2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,
-    -2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,
-    -2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,-2901,
-    -2901,-2901,-2901,-2901,-2901
-    },
-
-    {
-       27,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,
-    -2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902, 3228,-2902,
-    -2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,
-    -2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,
-    -2902,-2902,-2902,-2902, 3228,-2902,-2902,-2902,-2902,-2902,
-    -2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,-2902,
-
-    -2902,-2902,-2902,-2902,-2902
-    },
-
-    {
-       27,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,
-    -2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,
-    -2903,-2903,-2903,-2903,-2903,-2903, 3229,-2903,-2903,-2903,
-    -2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,
-    -2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,
-    -2903, 3229,-2903,-2903,-2903,-2903,-2903,-2903,-2903,-2903,
-    -2903,-2903,-2903,-2903,-2903
-    },
-
-    {
-       27,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,
-    -2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,
-
-    -2904,-2904,-2904,-2904,-2904,-2904,-2904, 3230,-2904,-2904,
-    -2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,
-    -2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,-2904,
-    -2904,-2904, 3230,-2904,-2904,-2904,-2904,-2904,-2904,-2904,
-    -2904,-2904,-2904,-2904,-2904
-    },
-
-    {
-       27,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,
-    -2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,
-    -2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905, 3231,-2905,
-    -2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,
-    -2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,-2905,
-
-    -2905,-2905,-2905, 3231,-2905,-2905,-2905,-2905,-2905,-2905,
-    -2905,-2905,-2905,-2905,-2905
-    },
-
-    {
-       27,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,
-    -2906,-2906,-2906,-2906, 3232,-2906,-2906,-2906,-2906,-2906,
-    -2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,
-    -2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,
-     3232,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,
-    -2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,-2906,
-    -2906,-2906,-2906,-2906,-2906
-    },
-
-    {
-       27,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,
-
-    -2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,
-    -2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,
-    -2907, 3233,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,
-    -2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,-2907,
-    -2907,-2907,-2907,-2907,-2907,-2907, 3233,-2907,-2907,-2907,
-    -2907,-2907,-2907,-2907,-2907
-    },
-
-    {
-       27,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,
-    -2908,-2908,-2908, 3234,-2908,-2908,-2908,-2908,-2908,-2908,
-    -2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,
-    -2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,
-
-    -2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,
-    -2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,-2908,
-    -2908,-2908,-2908,-2908,-2908
-    },
-
-    {
-       27,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,
-    -2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,
-    -2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,
-    -2909,-2909, 3235,-2909,-2909,-2909,-2909,-2909,-2909,-2909,
-    -2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,-2909,
-    -2909,-2909,-2909,-2909,-2909,-2909,-2909, 3235,-2909,-2909,
-    -2909,-2909,-2909,-2909,-2909
-
-    },
-
-    {
-       27,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,
-    -2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,
-    -2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910, 3236,-2910,
-    -2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,
-    -2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,-2910,
-    -2910,-2910,-2910, 3236,-2910,-2910,-2910,-2910,-2910,-2910,
-    -2910,-2910,-2910,-2910,-2910
-    },
-
-    {
-       27,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,
-    -2911,-2911,-2911,-2911,-2911,-2911, 3237,-2911,-2911,-2911,
-    -2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,
-
-    -2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,
-    -2911,-2911, 3237,-2911,-2911,-2911,-2911,-2911,-2911,-2911,
-    -2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,-2911,
-    -2911,-2911,-2911,-2911,-2911
-    },
-
-    {
-       27,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,
-    -2912,-2912,-2912,-2912,-2912, 3238,-2912,-2912,-2912,-2912,
-    -2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,
-    -2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,
-    -2912, 3238,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,
-    -2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,-2912,
-
-    -2912,-2912,-2912,-2912,-2912
-    },
-
-    {
-       27,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,
-    -2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,
-    -2913,-2913,-2913,-2913,-2913,-2913,-2913, 3239,-2913,-2913,
-    -2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,
-    -2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,-2913,
-    -2913,-2913, 3239,-2913,-2913,-2913,-2913,-2913,-2913,-2913,
-    -2913,-2913,-2913,-2913,-2913
-    },
-
-    {
-       27,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914, 1507,
-    -2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,
-
-    -2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,
-    -2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,
-    -2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,
-    -2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,-2914,
-    -2914,-2914,-2914,-2914,-2914
-    },
-
-    {
-       27,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,
-    -2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,
-    -2915,-2915,-2915,-2915,-2915,-2915,-2915, 3240,-2915,-2915,
-    -2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,
-    -2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,-2915,
-
-    -2915,-2915, 3240,-2915,-2915,-2915,-2915,-2915,-2915,-2915,
-    -2915,-2915,-2915,-2915,-2915
-    },
-
-    {
-       27,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916, 1509,
-    -2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,
-    -2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,
-    -2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,
-    -2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,
-    -2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,-2916,
-    -2916,-2916,-2916,-2916,-2916
-    },
-
-    {
-       27,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,
-
-    -2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,
-    -2917,-2917,-2917,-2917,-2917,-2917,-2917, 3241,-2917,-2917,
-    -2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,
-    -2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,-2917,
-    -2917,-2917, 3241,-2917,-2917,-2917,-2917,-2917,-2917,-2917,
-    -2917,-2917,-2917,-2917,-2917
-    },
-
-    {
-       27,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918, 1511,
-    -2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,
-    -2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,
-    -2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,
-
-    -2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,
-    -2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,-2918,
-    -2918,-2918,-2918,-2918,-2918
-    },
-
-    {
-       27,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,
-    -2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,
-    -2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,
-    -2919,-2919,-2919, 3242,-2919,-2919,-2919,-2919,-2919,-2919,
-    -2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919,
-    -2919,-2919,-2919,-2919,-2919,-2919,-2919,-2919, 3242,-2919,
-    -2919,-2919,-2919,-2919,-2919
-
-    },
-
-    {
-       27,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,
-    -2920,-2920,-2920,-2920, 3243,-2920,-2920,-2920,-2920,-2920,
-    -2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,
-    -2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,
-     3243,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,
-    -2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,-2920,
-    -2920,-2920,-2920,-2920,-2920
-    },
-
-    {
-       27,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,
-    -2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,
-    -2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921, 3244,-2921,
-
-    -2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,
-    -2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,-2921,
-    -2921,-2921,-2921, 3244,-2921,-2921,-2921,-2921,-2921,-2921,
-    -2921,-2921,-2921,-2921,-2921
-    },
-
-    {
-       27,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,
-    -2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,
-    -2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,
-    -2922, 3245,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,
-    -2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,-2922,
-    -2922,-2922,-2922,-2922,-2922,-2922, 3245,-2922,-2922,-2922,
-
-    -2922,-2922,-2922,-2922,-2922
-    },
-
-    {
-       27,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,
-    -2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923, 3246,-2923,
-    -2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,
-    -2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,
-    -2923,-2923,-2923,-2923, 3246,-2923,-2923,-2923,-2923,-2923,
-    -2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,-2923,
-    -2923,-2923,-2923,-2923,-2923
-    },
-
-    {
-       27,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,
-    -2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,
-
-    -2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924, 3247,-2924,
-    -2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,
-    -2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,-2924,
-    -2924,-2924,-2924, 3247,-2924,-2924,-2924,-2924,-2924,-2924,
-    -2924,-2924,-2924,-2924,-2924
-    },
-
-    {
-       27,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,
-    -2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,
-    -2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,
-    -2925, 3248,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,
-    -2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,-2925,
-
-    -2925,-2925,-2925,-2925,-2925,-2925, 3248,-2925,-2925,-2925,
-    -2925,-2925,-2925,-2925,-2925
-    },
-
-    {
-       27,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,
-    -2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,
-    -2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926, 3249,-2926,
-    -2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,
-    -2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,-2926,
-    -2926,-2926,-2926, 3249,-2926,-2926,-2926,-2926,-2926,-2926,
-    -2926,-2926,-2926,-2926,-2926
-    },
-
-    {
-       27,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,
-
-    -2927,-2927,-2927,-2927, 3250,-2927,-2927,-2927,-2927,-2927,
-    -2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,
-    -2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,
-     3250,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,
-    -2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,-2927,
-    -2927,-2927,-2927,-2927,-2927
-    },
-
-    {
-       27,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,
-    -2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,
-    -2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,
-    -2928, 3251,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,
-
-    -2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,-2928,
-    -2928,-2928,-2928,-2928,-2928,-2928, 3251,-2928,-2928,-2928,
-    -2928,-2928,-2928,-2928,-2928
-    },
-
-    {
-       27,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,
-    -2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929, 3252,-2929,
-    -2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,
-    -2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,
-    -2929,-2929,-2929,-2929, 3252,-2929,-2929,-2929,-2929,-2929,
-    -2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,-2929,
-    -2929,-2929,-2929,-2929,-2929
-
-    },
-
-    {
-       27,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,
-    -2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930, 3253,-2930,
-    -2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,
-    -2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,
-    -2930,-2930,-2930,-2930, 3253,-2930,-2930,-2930,-2930,-2930,
-    -2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,-2930,
-    -2930,-2930,-2930,-2930,-2930
-    },
-
-    {
-       27,-2931, 2931, 2931,-2931,-2931,-2931,-2931,-2931,-2931,
-    -2931,-2931, 2932,-2931,-2931,-2931,-2931,-2931,-2931,-2931,
-    -2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,
-
-    -2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,
-    -2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,
-    -2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,-2931,
-    -2931,-2931,-2931,-2931,-2931
-    },
-
-    {
-       27,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,
-    -2932,-2932,-2932,-2932,-2932,-2932, 3254,-2932,-2932,-2932,
-    -2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,
-    -2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,
-    -2932,-2932, 3254,-2932,-2932,-2932,-2932,-2932,-2932,-2932,
-    -2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,-2932,
-
-    -2932,-2932,-2932,-2932,-2932
-    },
-
-    {
-       27,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,
-    -2933,-2933,-2933,-2933, 3255,-2933,-2933,-2933,-2933,-2933,
-    -2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,
-    -2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,
-     3255,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,
-    -2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,-2933,
-    -2933,-2933,-2933,-2933,-2933
-    },
-
-    {
-       27,-2934, 2934, 2934,-2934,-2934,-2934,-2934,-2934,-2934,
-    -2934,-2934, 2935,-2934,-2934,-2934,-2934,-2934,-2934,-2934,
-
-    -2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,
-    -2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,
-    -2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,
-    -2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,-2934,
-    -2934,-2934,-2934,-2934,-2934
-    },
-
-    {
-       27,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,
-    -2935,-2935,-2935,-2935,-2935,-2935, 3256,-2935,-2935,-2935,
-    -2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,
-    -2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,
-    -2935,-2935, 3256,-2935,-2935,-2935,-2935,-2935,-2935,-2935,
-
-    -2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,-2935,
-    -2935,-2935,-2935,-2935,-2935
-    },
-
-    {
-       27,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,
-    -2936,-2936,-2936,-2936, 3257,-2936,-2936,-2936,-2936,-2936,
-    -2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,
-    -2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,
-     3257,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,
-    -2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,-2936,
-    -2936,-2936,-2936,-2936,-2936
-    },
-
-    {
-       27,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,
-
-    -2937,-2937,-2937, 3258,-2937,-2937,-2937,-2937,-2937,-2937,
-    -2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,
-    -2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,
-    -2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,
-    -2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,-2937,
-    -2937,-2937,-2937,-2937,-2937
-    },
-
-    {
-       27,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,
-    -2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,
-    -2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,
-    -2938,-2938, 3259,-2938,-2938,-2938,-2938,-2938,-2938,-2938,
-
-    -2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,-2938,
-    -2938,-2938,-2938,-2938,-2938,-2938,-2938, 3259,-2938,-2938,
-    -2938,-2938,-2938,-2938,-2938
-    },
-
-    {
-       27,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,
-    -2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,
-    -2939,-2939,-2939,-2939,-2939,-2939, 3260,-2939,-2939,-2939,
-    -2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,
-    -2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,
-    -2939, 3260,-2939,-2939,-2939,-2939,-2939,-2939,-2939,-2939,
-    -2939,-2939,-2939,-2939,-2939
-
-    },
-
-    {
-       27,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,
-    -2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,
-    -2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,
-    -2940,-2940,-2940, 3261,-2940,-2940,-2940,-2940,-2940,-2940,
-    -2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940,
-    -2940,-2940,-2940,-2940,-2940,-2940,-2940,-2940, 3261,-2940,
-    -2940,-2940,-2940,-2940,-2940
-    },
-
-    {
-       27,-2941, 3262, 3262,-2941,-2941,-2941,-2941,-2941,-2941,
-    -2941,-2941, 3263,-2941,-2941,-2941,-2941,-2941,-2941,-2941,
-    -2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,
-
-    -2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,
-    -2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,
-    -2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,-2941,
-    -2941,-2941,-2941,-2941,-2941
-    },
-
-    {
-       27,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,
-    -2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,
-    -2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,
-    -2942,-2942,-2942, 3264,-2942,-2942,-2942,-2942,-2942,-2942,
-    -2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942,
-    -2942,-2942,-2942,-2942,-2942,-2942,-2942,-2942, 3264,-2942,
-
-    -2942,-2942,-2942,-2942,-2942
-    },
-
-    {
-       27,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,
-    -2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,
-    -2943,-2943,-2943,-2943,-2943,-2943,-2943, 3265,-2943,-2943,
-    -2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,
-    -2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,-2943,
-    -2943,-2943, 3265,-2943,-2943,-2943,-2943,-2943,-2943,-2943,
-    -2943,-2943,-2943,-2943,-2943
-    },
-
-    {
-       27,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944, 1536,
-    -2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,
-
-    -2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,
-    -2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,
-    -2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,
-    -2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,-2944,
-    -2944,-2944,-2944,-2944,-2944
-    },
-
-    {
-       27,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,
-    -2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945, 3266,-2945,
-    -2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,
-    -2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,
-    -2945,-2945,-2945,-2945, 3266,-2945,-2945,-2945,-2945,-2945,
-
-    -2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,-2945,
-    -2945,-2945,-2945,-2945,-2945
-    },
-
-    {
-       27,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,
-    -2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,
-    -2946,-2946,-2946,-2946,-2946,-2946, 3267,-2946,-2946,-2946,
-    -2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,
-    -2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,
-    -2946, 3267,-2946,-2946,-2946,-2946,-2946,-2946,-2946,-2946,
-    -2946,-2946,-2946,-2946,-2946
-    },
-
-    {
-       27,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,
-
-    -2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,
-    -2947,-2947,-2947,-2947,-2947,-2947,-2947, 3268,-2947,-2947,
-    -2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,
-    -2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,-2947,
-    -2947,-2947, 3268,-2947,-2947,-2947,-2947,-2947,-2947,-2947,
-    -2947,-2947,-2947,-2947,-2947
-    },
-
-    {
-       27,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,
-    -2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,
-    -2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948, 3269,-2948,
-    -2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,
-
-    -2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,-2948,
-    -2948,-2948,-2948, 3269,-2948,-2948,-2948,-2948,-2948,-2948,
-    -2948,-2948,-2948,-2948,-2948
-    },
-
-    {
-       27,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,
-    -2949,-2949,-2949,-2949, 3270,-2949,-2949,-2949,-2949,-2949,
-    -2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,
-    -2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,
-     3270,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,
-    -2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,-2949,
-    -2949,-2949,-2949,-2949,-2949
-
-    },
-
-    {
-       27,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,
-    -2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,
-    -2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,
-    -2950, 3271,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,
-    -2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,-2950,
-    -2950,-2950,-2950,-2950,-2950,-2950, 3271,-2950,-2950,-2950,
-    -2950,-2950,-2950,-2950,-2950
-    },
-
-    {
-       27,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,
-    -2951,-2951,-2951, 3272,-2951,-2951,-2951,-2951,-2951,-2951,
-    -2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,
-
-    -2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,
-    -2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,
-    -2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,-2951,
-    -2951,-2951,-2951,-2951,-2951
-    },
-
-    {
-       27,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,
-    -2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,
-    -2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,
-    -2952,-2952, 3273,-2952,-2952,-2952,-2952,-2952,-2952,-2952,
-    -2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,-2952,
-    -2952,-2952,-2952,-2952,-2952,-2952,-2952, 3273,-2952,-2952,
-
-    -2952,-2952,-2952,-2952,-2952
-    },
-
-    {
-       27,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,
-    -2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,
-    -2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953, 3274,-2953,
-    -2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,
-    -2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,-2953,
-    -2953,-2953,-2953, 3274,-2953,-2953,-2953,-2953,-2953,-2953,
-    -2953,-2953,-2953,-2953,-2953
-    },
-
-    {
-       27,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,
-    -2954,-2954,-2954,-2954,-2954,-2954, 3275,-2954,-2954,-2954,
-
-    -2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,
-    -2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,
-    -2954,-2954, 3275,-2954,-2954,-2954,-2954,-2954,-2954,-2954,
-    -2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,-2954,
-    -2954,-2954,-2954,-2954,-2954
-    },
-
-    {
-       27,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,
-    -2955,-2955,-2955,-2955,-2955, 3276,-2955,-2955,-2955,-2955,
-    -2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,
-    -2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,
-    -2955, 3276,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,
-
-    -2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,-2955,
-    -2955,-2955,-2955,-2955,-2955
-    },
-
-    {
-       27,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,
-    -2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,
-    -2956,-2956,-2956,-2956,-2956,-2956,-2956, 3277,-2956,-2956,
-    -2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,
-    -2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,-2956,
-    -2956,-2956, 3277,-2956,-2956,-2956,-2956,-2956,-2956,-2956,
-    -2956,-2956,-2956,-2956,-2956
-    },
-
-    {
-       27,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957, 1546,
-
-    -2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,
-    -2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,
-    -2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,
-    -2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,
-    -2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,-2957,
-    -2957,-2957,-2957,-2957,-2957
-    },
-
-    {
-       27,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,
-    -2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,
-    -2958,-2958,-2958,-2958,-2958,-2958,-2958, 3278,-2958,-2958,
-    -2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,
-
-    -2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,-2958,
-    -2958,-2958, 3278,-2958,-2958,-2958,-2958,-2958,-2958,-2958,
-    -2958,-2958,-2958,-2958,-2958
-    },
-
-    {
-       27,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959, 1548,
-    -2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,
-    -2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,
-    -2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,
-    -2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,
-    -2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,-2959,
-    -2959,-2959,-2959,-2959,-2959
-
-    },
-
-    {
-       27,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,
-    -2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,
-    -2960,-2960,-2960,-2960,-2960,-2960,-2960, 3279,-2960,-2960,
-    -2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,
-    -2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,-2960,
-    -2960,-2960, 3279,-2960,-2960,-2960,-2960,-2960,-2960,-2960,
-    -2960,-2960,-2960,-2960,-2960
-    },
-
-    {
-       27,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961, 1550,
-    -2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,
-    -2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,
-
-    -2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,
-    -2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,
-    -2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,-2961,
-    -2961,-2961,-2961,-2961,-2961
-    },
-
-    {
-       27,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,
-    -2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,
-    -2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,
-    -2962,-2962,-2962, 3280,-2962,-2962,-2962,-2962,-2962,-2962,
-    -2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962,
-    -2962,-2962,-2962,-2962,-2962,-2962,-2962,-2962, 3280,-2962,
-
-    -2962,-2962,-2962,-2962,-2962
-    },
-
-    {
-       27,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,
-    -2963,-2963,-2963,-2963, 3281,-2963,-2963,-2963,-2963,-2963,
-    -2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,
-    -2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,
-     3281,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,
-    -2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,-2963,
-    -2963,-2963,-2963,-2963,-2963
-    },
-
-    {
-       27,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,
-    -2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,
-
-    -2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964, 3282,-2964,
-    -2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,
-    -2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,-2964,
-    -2964,-2964,-2964, 3282,-2964,-2964,-2964,-2964,-2964,-2964,
-    -2964,-2964,-2964,-2964,-2964
-    },
-
-    {
-       27,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,
-    -2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,
-    -2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,
-    -2965,-2965,-2965, 3283,-2965,-2965,-2965,-2965,-2965,-2965,
-    -2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965,
-
-    -2965,-2965,-2965,-2965,-2965,-2965,-2965,-2965, 3283,-2965,
-    -2965,-2965,-2965,-2965,-2965
-    },
-
-    {
-       27,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,
-    -2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966, 3284,-2966,
-    -2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,
-    -2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,
-    -2966,-2966,-2966,-2966, 3284,-2966,-2966,-2966,-2966,-2966,
-    -2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,-2966,
-    -2966,-2966,-2966,-2966,-2966
-    },
-
-    {
-       27,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,
-
-    -2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,
-    -2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967, 3285,-2967,
-    -2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,
-    -2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,-2967,
-    -2967,-2967,-2967, 3285,-2967,-2967,-2967,-2967,-2967,-2967,
-    -2967,-2967,-2967,-2967,-2967
-    },
-
-    {
-       27,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,
-    -2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,
-    -2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,
-    -2968, 3286,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,
-
-    -2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,-2968,
-    -2968,-2968,-2968,-2968,-2968,-2968, 3286,-2968,-2968,-2968,
-    -2968,-2968,-2968,-2968,-2968
-    },
-
-    {
-       27,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,
-    -2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,
-    -2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969, 3287,-2969,
-    -2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,
-    -2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,-2969,
-    -2969,-2969,-2969, 3287,-2969,-2969,-2969,-2969,-2969,-2969,
-    -2969,-2969,-2969,-2969,-2969
-
-    },
-
-    {
-       27,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,
-    -2970,-2970,-2970,-2970, 3288,-2970,-2970,-2970,-2970,-2970,
-    -2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,
-    -2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,
-     3288,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,
-    -2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,-2970,
-    -2970,-2970,-2970,-2970,-2970
-    },
-
-    {
-       27,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,
-    -2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,
-    -2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,
-
-    -2971, 3289,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,
-    -2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,-2971,
-    -2971,-2971,-2971,-2971,-2971,-2971, 3289,-2971,-2971,-2971,
-    -2971,-2971,-2971,-2971,-2971
-    },
-
-    {
-       27,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,
-    -2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972, 3290,-2972,
-    -2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,
-    -2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,
-    -2972,-2972,-2972,-2972, 3290,-2972,-2972,-2972,-2972,-2972,
-    -2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,-2972,
-
-    -2972,-2972,-2972,-2972,-2972
-    },
-
-    {
-       27,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,
-    -2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973, 3291,-2973,
-    -2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,
-    -2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,
-    -2973,-2973,-2973,-2973, 3291,-2973,-2973,-2973,-2973,-2973,
-    -2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,-2973,
-    -2973,-2973,-2973,-2973,-2973
-    },
-
-    {
-       27,-2974, 2974, 2974,-2974,-2974,-2974,-2974,-2974,-2974,
-    -2974,-2974, 2975,-2974,-2974,-2974,-2974,-2974,-2974,-2974,
-
-    -2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,
-    -2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,
-    -2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,
-    -2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,-2974,
-    -2974,-2974,-2974,-2974,-2974
-    },
-
-    {
-       27,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,
-    -2975,-2975,-2975,-2975,-2975,-2975, 3292,-2975,-2975,-2975,
-    -2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,
-    -2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,
-    -2975,-2975, 3292,-2975,-2975,-2975,-2975,-2975,-2975,-2975,
-
-    -2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,-2975,
-    -2975,-2975,-2975,-2975,-2975
-    },
-
-    {
-       27,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,
-    -2976,-2976,-2976,-2976, 3293,-2976,-2976,-2976,-2976,-2976,
-    -2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,
-    -2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,
-     3293,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,
-    -2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,-2976,
-    -2976,-2976,-2976,-2976,-2976
-    },
-
-    {
-       27,-2977, 2977, 2977,-2977,-2977,-2977,-2977,-2977,-2977,
-
-    -2977,-2977, 2978,-2977,-2977,-2977,-2977,-2977,-2977,-2977,
-    -2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,
-    -2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,
-    -2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,
-    -2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,-2977,
-    -2977,-2977,-2977,-2977,-2977
-    },
-
-    {
-       27,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,
-    -2978,-2978,-2978,-2978,-2978,-2978, 3294,-2978,-2978,-2978,
-    -2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,
-    -2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,
-
-    -2978,-2978, 3294,-2978,-2978,-2978,-2978,-2978,-2978,-2978,
-    -2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,-2978,
-    -2978,-2978,-2978,-2978,-2978
-    },
-
-    {
-       27,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,
-    -2979,-2979,-2979,-2979, 3295,-2979,-2979,-2979,-2979,-2979,
-    -2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,
-    -2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,
-     3295,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,
-    -2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,-2979,
-    -2979,-2979,-2979,-2979,-2979
-
-    },
-
-    {
-       27,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,
-    -2980,-2980,-2980, 3296,-2980,-2980,-2980,-2980,-2980,-2980,
-    -2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,
-    -2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,
-    -2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,
-    -2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,-2980,
-    -2980,-2980,-2980,-2980,-2980
-    },
-
-    {
-       27,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,
-    -2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,
-    -2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,
-
-    -2981,-2981, 3297,-2981,-2981,-2981,-2981,-2981,-2981,-2981,
-    -2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,-2981,
-    -2981,-2981,-2981,-2981,-2981,-2981,-2981, 3297,-2981,-2981,
-    -2981,-2981,-2981,-2981,-2981
-    },
-
-    {
-       27,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,
-    -2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,
-    -2982,-2982,-2982,-2982,-2982,-2982, 3298,-2982,-2982,-2982,
-    -2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,
-    -2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,
-    -2982, 3298,-2982,-2982,-2982,-2982,-2982,-2982,-2982,-2982,
-
-    -2982,-2982,-2982,-2982,-2982
-    },
-
-    {
-       27,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,
-    -2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,
-    -2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,
-    -2983,-2983,-2983, 3299,-2983,-2983,-2983,-2983,-2983,-2983,
-    -2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983,
-    -2983,-2983,-2983,-2983,-2983,-2983,-2983,-2983, 3299,-2983,
-    -2983,-2983,-2983,-2983,-2983
-    },
-
-    {
-       27,-2984, 3300, 3300,-2984,-2984,-2984,-2984,-2984,-2984,
-    -2984,-2984, 3301,-2984,-2984,-2984,-2984,-2984,-2984,-2984,
-
-    -2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,
-    -2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,
-    -2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,
-    -2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,-2984,
-    -2984,-2984,-2984,-2984,-2984
-    },
-
-    {
-       27,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,
-    -2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,
-    -2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,
-    -2985,-2985,-2985, 3302,-2985,-2985,-2985,-2985,-2985,-2985,
-    -2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985,
-
-    -2985,-2985,-2985,-2985,-2985,-2985,-2985,-2985, 3302,-2985,
-    -2985,-2985,-2985,-2985,-2985
-    },
-
-    {
-       27,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,
-    -2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,
-    -2986,-2986,-2986,-2986,-2986,-2986,-2986, 3303,-2986,-2986,
-    -2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,
-    -2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,-2986,
-    -2986,-2986, 3303,-2986,-2986,-2986,-2986,-2986,-2986,-2986,
-    -2986,-2986,-2986,-2986,-2986
-    },
-
-    {
-       27,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987, 1575,
-
-    -2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,
-    -2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,
-    -2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,
-    -2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,
-    -2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,-2987,
-    -2987,-2987,-2987,-2987,-2987
-    },
-
-    {
-       27,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,
-    -2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988, 3304,-2988,
-    -2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,
-    -2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,
-
-    -2988,-2988,-2988,-2988, 3304,-2988,-2988,-2988,-2988,-2988,
-    -2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,-2988,
-    -2988,-2988,-2988,-2988,-2988
-    },
-
-    {
-       27,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,
-    -2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,
-    -2989,-2989,-2989,-2989,-2989,-2989, 3305,-2989,-2989,-2989,
-    -2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,
-    -2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,
-    -2989, 3305,-2989,-2989,-2989,-2989,-2989,-2989,-2989,-2989,
-    -2989,-2989,-2989,-2989,-2989
-
-    },
-
-    {
-       27,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,
-    -2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,
-    -2990,-2990,-2990,-2990,-2990,-2990,-2990, 3306,-2990,-2990,
-    -2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,
-    -2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,-2990,
-    -2990,-2990, 3306,-2990,-2990,-2990,-2990,-2990,-2990,-2990,
-    -2990,-2990,-2990,-2990,-2990
-    },
-
-    {
-       27,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,
-    -2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,
-    -2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991, 3307,-2991,
-
-    -2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,
-    -2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,-2991,
-    -2991,-2991,-2991, 3307,-2991,-2991,-2991,-2991,-2991,-2991,
-    -2991,-2991,-2991,-2991,-2991
-    },
-
-    {
-       27,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,
-    -2992,-2992,-2992,-2992, 3308,-2992,-2992,-2992,-2992,-2992,
-    -2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,
-    -2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,
-     3308,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,
-    -2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,-2992,
-
-    -2992,-2992,-2992,-2992,-2992
-    },
-
-    {
-       27,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,
-    -2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,
-    -2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,
-    -2993, 3309,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,
-    -2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,-2993,
-    -2993,-2993,-2993,-2993,-2993,-2993, 3309,-2993,-2993,-2993,
-    -2993,-2993,-2993,-2993,-2993
-    },
-
-    {
-       27,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,
-    -2994,-2994,-2994, 3310,-2994,-2994,-2994,-2994,-2994,-2994,
-
-    -2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,
-    -2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,
-    -2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,
-    -2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,-2994,
-    -2994,-2994,-2994,-2994,-2994
-    },
-
-    {
-       27,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,
-    -2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,
-    -2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,
-    -2995,-2995, 3311,-2995,-2995,-2995,-2995,-2995,-2995,-2995,
-    -2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,-2995,
-
-    -2995,-2995,-2995,-2995,-2995,-2995,-2995, 3311,-2995,-2995,
-    -2995,-2995,-2995,-2995,-2995
-    },
-
-    {
-       27,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,
-    -2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,
-    -2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996, 3312,-2996,
-    -2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,
-    -2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,-2996,
-    -2996,-2996,-2996, 3312,-2996,-2996,-2996,-2996,-2996,-2996,
-    -2996,-2996,-2996,-2996,-2996
-    },
-
-    {
-       27,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,
-
-    -2997,-2997,-2997,-2997,-2997,-2997, 3313,-2997,-2997,-2997,
-    -2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,
-    -2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,
-    -2997,-2997, 3313,-2997,-2997,-2997,-2997,-2997,-2997,-2997,
-    -2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,-2997,
-    -2997,-2997,-2997,-2997,-2997
-    },
-
-    {
-       27,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,
-    -2998,-2998,-2998,-2998,-2998, 3314,-2998,-2998,-2998,-2998,
-    -2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,
-    -2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,
-
-    -2998, 3314,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,
-    -2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,-2998,
-    -2998,-2998,-2998,-2998,-2998
-    },
-
-    {
-       27,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,
-    -2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,
-    -2999,-2999,-2999,-2999,-2999,-2999,-2999, 3315,-2999,-2999,
-    -2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,
-    -2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,-2999,
-    -2999,-2999, 3315,-2999,-2999,-2999,-2999,-2999,-2999,-2999,
-    -2999,-2999,-2999,-2999,-2999
-
-    },
-
-    {
-       27,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000, 1585,
-    -3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,
-    -3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,
-    -3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,
-    -3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,
-    -3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,-3000,
-    -3000,-3000,-3000,-3000,-3000
-    },
-
-    {
-       27,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,
-    -3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,
-    -3001,-3001,-3001,-3001,-3001,-3001,-3001, 3316,-3001,-3001,
-
-    -3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,
-    -3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,-3001,
-    -3001,-3001, 3316,-3001,-3001,-3001,-3001,-3001,-3001,-3001,
-    -3001,-3001,-3001,-3001,-3001
-    },
-
-    {
-       27,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002, 1587,
-    -3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,
-    -3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,
-    -3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,
-    -3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,
-    -3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,-3002,
-
-    -3002,-3002,-3002,-3002,-3002
-    },
-
-    {
-       27,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,
-    -3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,
-    -3003,-3003,-3003,-3003,-3003,-3003,-3003, 3317,-3003,-3003,
-    -3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,
-    -3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,-3003,
-    -3003,-3003, 3317,-3003,-3003,-3003,-3003,-3003,-3003,-3003,
-    -3003,-3003,-3003,-3003,-3003
-    },
-
-    {
-       27,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004, 1589,
-    -3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,
-
-    -3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,
-    -3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,
-    -3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,
-    -3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,-3004,
-    -3004,-3004,-3004,-3004,-3004
-    },
-
-    {
-       27,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,
-    -3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,
-    -3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,
-    -3005,-3005,-3005, 3318,-3005,-3005,-3005,-3005,-3005,-3005,
-    -3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005,
-
-    -3005,-3005,-3005,-3005,-3005,-3005,-3005,-3005, 3318,-3005,
-    -3005,-3005,-3005,-3005,-3005
-    },
-
-    {
-       27,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,
-    -3006,-3006,-3006,-3006, 3319,-3006,-3006,-3006,-3006,-3006,
-    -3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,
-    -3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,
-     3319,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,
-    -3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,-3006,
-    -3006,-3006,-3006,-3006,-3006
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  367,  366,  366,  366,  366, 3320,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366, 3320,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366, 3321,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366, 3321,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,
-    -3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009, 3322,-3009,
-    -3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,
-    -3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,
-    -3009,-3009,-3009,-3009, 3322,-3009,-3009,-3009,-3009,-3009,
-    -3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,-3009,
-    -3009,-3009,-3009,-3009,-3009
-
-    },
-
-    {
-       27,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,
-    -3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,
-    -3010,-3010,-3010,-3010,-3010,-3010,-3010, 3323,-3010,-3010,
-    -3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,
-    -3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,-3010,
-    -3010,-3010, 3323,-3010,-3010,-3010,-3010,-3010,-3010,-3010,
-    -3010,-3010,-3010,-3010,-3010
-    },
-
-    {
-       27,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,
-    -3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,
-    -3011,-3011,-3011,-3011,-3011,-3011,-3011, 3324,-3011,-3011,
-
-    -3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,
-    -3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,-3011,
-    -3011,-3011, 3324,-3011,-3011,-3011,-3011,-3011,-3011,-3011,
-    -3011,-3011,-3011,-3011,-3011
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1599,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,
-    -3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,
-    -3013,-3013,-3013,-3013,-3013,-3013,-3013, 3325,-3013,-3013,
-    -3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,
-    -3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,-3013,
-    -3013,-3013, 3325,-3013,-3013,-3013,-3013,-3013,-3013,-3013,
-    -3013,-3013,-3013,-3013,-3013
-    },
-
-    {
-       27,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,
-    -3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,
-
-    -3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,
-    -3014, 3326,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,
-    -3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,-3014,
-    -3014,-3014,-3014,-3014,-3014,-3014, 3326,-3014,-3014,-3014,
-    -3014,-3014,-3014,-3014,-3014
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1601,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,
-    -3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,
-    -3016,-3016,-3016,-3016,-3016,-3016,-3016, 3327,-3016,-3016,
-    -3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,
-    -3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,-3016,
-    -3016,-3016, 3327,-3016,-3016,-3016,-3016,-3016,-3016,-3016,
-    -3016,-3016,-3016,-3016,-3016
-    },
-
-    {
-       27,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017, 3328,
-
-    -3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,
-    -3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,
-    -3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,
-    -3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,
-    -3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,-3017,
-    -3017,-3017,-3017,-3017,-3017
-    },
-
-    {
-       27,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018, 3329,
-    -3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,
-    -3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,
-    -3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,
-
-    -3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,
-    -3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,-3018,
-    -3018,-3018,-3018,-3018,-3018
-    },
-
-    {
-       27,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019, 3330,
-    -3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,
-    -3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,
-    -3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,
-    -3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,
-    -3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,-3019,
-    -3019,-3019,-3019,-3019,-3019
-
-    },
-
-    {
-       27,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020, 3331,
-    -3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,
-    -3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,
-    -3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,
-    -3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,
-    -3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,-3020,
-    -3020,-3020,-3020,-3020,-3020
-    },
-
-    {
-       27,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,
-    -3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,
-    -3021,-3021,-3021,-3021,-3021,-3021,-3021, 3332,-3021,-3021,
-
-    -3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,
-    -3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,-3021,
-    -3021,-3021, 3332,-3021,-3021,-3021,-3021,-3021,-3021,-3021,
-    -3021,-3021,-3021,-3021,-3021
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3333,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3333,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3334,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3334,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,
-    -3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,
-
-    -3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024, 3335,-3024,
-    -3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,
-    -3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,-3024,
-    -3024,-3024,-3024, 3335,-3024,-3024,-3024,-3024,-3024,-3024,
-    -3024,-3024,-3024,-3024,-3024
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3336,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184, 3336,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,
-    -3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,
-    -3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026, 3337,-3026,
-    -3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,
-    -3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,-3026,
-    -3026,-3026,-3026, 3337,-3026,-3026,-3026,-3026,-3026,-3026,
-    -3026,-3026,-3026,-3026,-3026
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3338,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3338,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3028, 3339, 3339,-3028,-3028,-3028,-3028,-3028,-3028,
-    -3028,-3028, 3340,-3028,-3028,-3028,-3028,-3028,-3028,-3028,
-    -3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,
-    -3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,
-
-    -3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,
-    -3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,-3028,
-    -3028,-3028,-3028,-3028,-3028
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3341,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 3341,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,
-    -3030,-3030,-3030, 3342,-3030,-3030,-3030,-3030,-3030,-3030,
-    -3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,
-    -3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,
-    -3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,
-    -3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,-3030,
-    -3030,-3030,-3030,-3030,-3030
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1615,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,
-    -3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,
-    -3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,
-    -3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,
-    -3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,
-    -3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,-3032,
-
-    -3032,-3032,-3032,-3032,-3032
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3343,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,
-    -3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034, 3344,-3034,
-
-    -3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,
-    -3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,
-    -3034,-3034,-3034,-3034, 3344,-3034,-3034,-3034,-3034,-3034,
-    -3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,-3034,
-    -3034,-3034,-3034,-3034,-3034
-    },
-
-    {
-       27,-3035, 3035, 3035,-3035,-3035,-3035,-3035,-3035,-3035,
-    -3035,-3035, 3036,-3035,-3035,-3035,-3035,-3035,-3035,-3035,
-    -3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,
-    -3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,
-    -3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,
-
-    -3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,-3035,
-    -3035,-3035,-3035,-3035,-3035
-    },
-
-    {
-       27,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,
-    -3036,-3036,-3036,-3036,-3036,-3036, 3345,-3036,-3036,-3036,
-    -3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,
-    -3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,
-    -3036,-3036, 3345,-3036,-3036,-3036,-3036,-3036,-3036,-3036,
-    -3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,-3036,
-    -3036,-3036,-3036,-3036,-3036
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185, 3346,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3346,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,
-    -3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,
-    -3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,
-    -3038,-3038,-3038, 3347,-3038,-3038,-3038,-3038,-3038,-3038,
-
-    -3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038,
-    -3038,-3038,-3038,-3038,-3038,-3038,-3038,-3038, 3347,-3038,
-    -3038,-3038,-3038,-3038,-3038
-    },
-
-    {
-       27,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,
-    -3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,
-    -3039,-3039,-3039,-3039,-3039,-3039,-3039, 3348,-3039,-3039,
-    -3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,
-    -3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,-3039,
-    -3039,-3039, 3348,-3039,-3039,-3039,-3039,-3039,-3039,-3039,
-    -3039,-3039,-3039,-3039,-3039
-
-    },
-
-    {
-       27,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,
-    -3040,-3040,-3040, 3349,-3040,-3040,-3040,-3040,-3040,-3040,
-    -3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,
-    -3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,
-    -3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,
-    -3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,-3040,
-    -3040,-3040,-3040,-3040,-3040
-    },
-
-    {
-       27,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,
-    -3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,
-    -3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,
-
-    -3041,-3041,-3041, 3350,-3041,-3041,-3041,-3041,-3041,-3041,
-    -3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041,
-    -3041,-3041,-3041,-3041,-3041,-3041,-3041,-3041, 3350,-3041,
-    -3041,-3041,-3041,-3041,-3041
-    },
-
-    {
-       27,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,
-    -3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,
-    -3042,-3042,-3042,-3042,-3042,-3042,-3042, 3351,-3042,-3042,
-    -3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,
-    -3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,-3042,
-    -3042,-3042, 3351,-3042,-3042,-3042,-3042,-3042,-3042,-3042,
-
-    -3042,-3042,-3042,-3042,-3042
-    },
-
-    {
-       27,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,
-    -3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,
-    -3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,
-    -3043, 3352,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,
-    -3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,-3043,
-    -3043,-3043,-3043,-3043,-3043,-3043, 3352,-3043,-3043,-3043,
-    -3043,-3043,-3043,-3043,-3043
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1630,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3045, 3353, 3353,-3045,-3045,-3045,-3045,-3045,-3045,
-    -3045,-3045, 3354,-3045,-3045,-3045,-3045,-3045,-3045,-3045,
-    -3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,
-    -3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,
-    -3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,
-
-    -3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,-3045,
-    -3045,-3045,-3045,-3045,-3045
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3355,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 3355,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 3356,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3356,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3357,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 3357,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3358,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 3358,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,
-    -3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,
-    -3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,
-    -3050,-3050,-3050, 3359,-3050,-3050,-3050,-3050,-3050,-3050,
-    -3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050,
-    -3050,-3050,-3050,-3050,-3050,-3050,-3050,-3050, 3359,-3050,
-    -3050,-3050,-3050,-3050,-3050
-    },
-
-    {
-       27,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,
-    -3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,
-    -3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,
-
-    -3051,-3051,-3051, 3360,-3051,-3051,-3051,-3051,-3051,-3051,
-    -3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051,
-    -3051,-3051,-3051,-3051,-3051,-3051,-3051,-3051, 3360,-3051,
-    -3051,-3051,-3051,-3051,-3051
-    },
-
-    {
-       27,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,
-    -3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,
-    -3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,
-    -3052,-3052,-3052, 3361,-3052,-3052,-3052,-3052,-3052,-3052,
-    -3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052,
-    -3052,-3052,-3052,-3052,-3052,-3052,-3052,-3052, 3361,-3052,
-
-    -3052,-3052,-3052,-3052,-3052
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 3362,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 3362,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,
-    -3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054, 3363,-3054,
-
-    -3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,
-    -3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,
-    -3054,-3054,-3054,-3054, 3363,-3054,-3054,-3054,-3054,-3054,
-    -3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,-3054,
-    -3054,-3054,-3054,-3054,-3054
-    },
-
-    {
-       27,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,
-    -3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,
-    -3055,-3055,-3055,-3055,-3055,-3055, 3364,-3055,-3055,-3055,
-    -3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,
-    -3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,
-
-    -3055, 3364,-3055,-3055,-3055,-3055,-3055,-3055,-3055,-3055,
-    -3055,-3055,-3055,-3055,-3055
-    },
-
-    {
-       27,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,
-    -3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056, 3365,-3056,
-    -3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,
-    -3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,
-    -3056,-3056,-3056,-3056, 3365,-3056,-3056,-3056,-3056,-3056,
-    -3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,-3056,
-    -3056,-3056,-3056,-3056,-3056
-    },
-
-    {
-       27,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,
-
-    -3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,
-    -3057,-3057,-3057,-3057,-3057,-3057,-3057, 3366,-3057,-3057,
-    -3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,
-    -3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,-3057,
-    -3057,-3057, 3366,-3057,-3057,-3057,-3057,-3057,-3057,-3057,
-    -3057,-3057,-3057,-3057,-3057
-    },
-
-    {
-       27,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,
-    -3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,
-    -3058,-3058,-3058,-3058,-3058,-3058,-3058, 3367,-3058,-3058,
-    -3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,
-
-    -3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,-3058,
-    -3058,-3058, 3367,-3058,-3058,-3058,-3058,-3058,-3058,-3058,
-    -3058,-3058,-3058,-3058,-3058
-    },
-
-    {
-       27,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059, 1652,
-    -3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,
-    -3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,
-    -3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,
-    -3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,
-    -3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,-3059,
-    -3059,-3059,-3059,-3059,-3059
-
-    },
-
-    {
-       27,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,
-    -3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,
-    -3060,-3060,-3060,-3060,-3060,-3060,-3060, 3368,-3060,-3060,
-    -3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,
-    -3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,-3060,
-    -3060,-3060, 3368,-3060,-3060,-3060,-3060,-3060,-3060,-3060,
-    -3060,-3060,-3060,-3060,-3060
-    },
-
-    {
-       27,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,
-    -3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,
-    -3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,
-
-    -3061, 3369,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,
-    -3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,-3061,
-    -3061,-3061,-3061,-3061,-3061,-3061, 3369,-3061,-3061,-3061,
-    -3061,-3061,-3061,-3061,-3061
-    },
-
-    {
-       27,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062, 1654,
-    -3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,
-    -3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,
-    -3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,
-    -3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,
-    -3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,-3062,
-
-    -3062,-3062,-3062,-3062,-3062
-    },
-
-    {
-       27,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,
-    -3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,
-    -3063,-3063,-3063,-3063,-3063,-3063,-3063, 3370,-3063,-3063,
-    -3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,
-    -3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,-3063,
-    -3063,-3063, 3370,-3063,-3063,-3063,-3063,-3063,-3063,-3063,
-    -3063,-3063,-3063,-3063,-3063
-    },
-
-    {
-       27,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,
-    -3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,
-
-    -3064,-3064,-3064,-3064,-3064,-3064,-3064, 3371,-3064,-3064,
-    -3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,
-    -3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,-3064,
-    -3064,-3064, 3371,-3064,-3064,-3064,-3064,-3064,-3064,-3064,
-    -3064,-3064,-3064,-3064,-3064
-    },
-
-    {
-       27,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,
-    -3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,
-    -3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065, 3372,-3065,
-    -3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,
-    -3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,-3065,
-
-    -3065,-3065,-3065, 3372,-3065,-3065,-3065,-3065,-3065,-3065,
-    -3065,-3065,-3065,-3065,-3065
-    },
-
-    {
-       27,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,
-    -3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,
-    -3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,
-    -3066, 3373,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,
-    -3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,-3066,
-    -3066,-3066,-3066,-3066,-3066,-3066, 3373,-3066,-3066,-3066,
-    -3066,-3066,-3066,-3066,-3066
-    },
-
-    {
-       27,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,
-
-    -3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,
-    -3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067, 3374,-3067,
-    -3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,
-    -3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,-3067,
-    -3067,-3067,-3067, 3374,-3067,-3067,-3067,-3067,-3067,-3067,
-    -3067,-3067,-3067,-3067,-3067
-    },
-
-    {
-       27,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,
-    -3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,
-    -3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,
-    -3068, 3375,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,
-
-    -3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,-3068,
-    -3068,-3068,-3068,-3068,-3068,-3068, 3375,-3068,-3068,-3068,
-    -3068,-3068,-3068,-3068,-3068
-    },
-
-    {
-       27,-3069, 3376, 3376,-3069,-3069,-3069,-3069,-3069,-3069,
-    -3069,-3069, 3377,-3069,-3069,-3069,-3069,-3069,-3069,-3069,
-    -3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,
-    -3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,
-    -3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,
-    -3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,-3069,
-    -3069,-3069,-3069,-3069,-3069
-
-    },
-
-    {
-       27,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,
-    -3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,
-    -3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,
-    -3070,-3070,-3070, 3378,-3070,-3070,-3070,-3070,-3070,-3070,
-    -3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070,
-    -3070,-3070,-3070,-3070,-3070,-3070,-3070,-3070, 3378,-3070,
-    -3070,-3070,-3070,-3070,-3070
-    },
-
-    {
-       27,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,
-    -3071,-3071,-3071, 3379,-3071,-3071,-3071,-3071,-3071,-3071,
-    -3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,
-
-    -3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,
-    -3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,
-    -3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,-3071,
-    -3071,-3071,-3071,-3071,-3071
-    },
-
-    {
-       27,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,
-    -3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072, 3380,-3072,
-    -3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,
-    -3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,
-    -3072,-3072,-3072,-3072, 3380,-3072,-3072,-3072,-3072,-3072,
-    -3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,-3072,
-
-    -3072,-3072,-3072,-3072,-3072
-    },
-
-    {
-       27,-3073, 3073, 3073,-3073,-3073,-3073,-3073,-3073,-3073,
-    -3073,-3073, 3074,-3073,-3073,-3073,-3073,-3073,-3073,-3073,
-    -3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,
-    -3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,
-    -3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,
-    -3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,-3073,
-    -3073,-3073,-3073,-3073,-3073
-    },
-
-    {
-       27,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,
-    -3074,-3074,-3074,-3074,-3074,-3074, 3381,-3074,-3074,-3074,
-
-    -3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,
-    -3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,
-    -3074,-3074, 3381,-3074,-3074,-3074,-3074,-3074,-3074,-3074,
-    -3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,-3074,
-    -3074,-3074,-3074,-3074,-3074
-    },
-
-    {
-       27,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,
-    -3075,-3075,-3075,-3075, 3382,-3075,-3075,-3075,-3075,-3075,
-    -3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,
-    -3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,
-     3382,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,
-
-    -3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,-3075,
-    -3075,-3075,-3075,-3075,-3075
-    },
-
-    {
-       27,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,
-    -3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,
-    -3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,
-    -3076,-3076,-3076, 3383,-3076,-3076,-3076,-3076,-3076,-3076,
-    -3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076,
-    -3076,-3076,-3076,-3076,-3076,-3076,-3076,-3076, 3383,-3076,
-    -3076,-3076,-3076,-3076,-3076
-    },
-
-    {
-       27,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,
-
-    -3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,
-    -3077,-3077,-3077,-3077,-3077,-3077,-3077, 3384,-3077,-3077,
-    -3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,
-    -3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,-3077,
-    -3077,-3077, 3384,-3077,-3077,-3077,-3077,-3077,-3077,-3077,
-    -3077,-3077,-3077,-3077,-3077
-    },
-
-    {
-       27,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,
-    -3078,-3078,-3078, 3385,-3078,-3078,-3078,-3078,-3078,-3078,
-    -3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,
-    -3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,
-
-    -3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,
-    -3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,-3078,
-    -3078,-3078,-3078,-3078,-3078
-    },
-
-    {
-       27,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,
-    -3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,
-    -3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,
-    -3079,-3079,-3079, 3386,-3079,-3079,-3079,-3079,-3079,-3079,
-    -3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079,
-    -3079,-3079,-3079,-3079,-3079,-3079,-3079,-3079, 3386,-3079,
-    -3079,-3079,-3079,-3079,-3079
-
-    },
-
-    {
-       27,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,
-    -3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,
-    -3080,-3080,-3080,-3080,-3080,-3080,-3080, 3387,-3080,-3080,
-    -3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,
-    -3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,-3080,
-    -3080,-3080, 3387,-3080,-3080,-3080,-3080,-3080,-3080,-3080,
-    -3080,-3080,-3080,-3080,-3080
-    },
-
-    {
-       27,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,
-    -3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,
-    -3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,
-
-    -3081, 3388,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,
-    -3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,-3081,
-    -3081,-3081,-3081,-3081,-3081,-3081, 3388,-3081,-3081,-3081,
-    -3081,-3081,-3081,-3081,-3081
-    },
-
-    {
-       27,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082, 1677,
-    -3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,
-    -3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,
-    -3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,
-    -3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,
-    -3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,-3082,
-
-    -3082,-3082,-3082,-3082,-3082
-    },
-
-    {
-       27,-3083, 3389, 3389,-3083,-3083,-3083,-3083,-3083,-3083,
-    -3083,-3083, 3390,-3083,-3083,-3083,-3083,-3083,-3083,-3083,
-    -3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,
-    -3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,
-    -3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,
-    -3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,-3083,
-    -3083,-3083,-3083,-3083,-3083
-    },
-
-    {
-       27,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,
-    -3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,
-
-    -3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,
-    -3084,-3084,-3084, 3391,-3084,-3084,-3084,-3084,-3084,-3084,
-    -3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084,
-    -3084,-3084,-3084,-3084,-3084,-3084,-3084,-3084, 3391,-3084,
-    -3084,-3084,-3084,-3084,-3084
-    },
-
-    {
-       27,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,
-    -3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,
-    -3085,-3085,-3085,-3085,-3085,-3085,-3085, 3392,-3085,-3085,
-    -3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,
-    -3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,-3085,
-
-    -3085,-3085, 3392,-3085,-3085,-3085,-3085,-3085,-3085,-3085,
-    -3085,-3085,-3085,-3085,-3085
-    },
-
-    {
-       27,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,
-    -3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,
-    -3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,
-    -3086,-3086,-3086, 3393,-3086,-3086,-3086,-3086,-3086,-3086,
-    -3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086,
-    -3086,-3086,-3086,-3086,-3086,-3086,-3086,-3086, 3393,-3086,
-    -3086,-3086,-3086,-3086,-3086
-    },
-
-    {
-       27,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,
-
-    -3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,
-    -3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,
-    -3087,-3087, 3394,-3087,-3087,-3087,-3087,-3087,-3087,-3087,
-    -3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,-3087,
-    -3087,-3087,-3087,-3087,-3087,-3087,-3087, 3394,-3087,-3087,
-    -3087,-3087,-3087,-3087,-3087
-    },
-
-    {
-       27,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,
-    -3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,
-    -3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,
-    -3088,-3088,-3088, 3395,-3088,-3088,-3088,-3088,-3088,-3088,
-
-    -3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088,
-    -3088,-3088,-3088,-3088,-3088,-3088,-3088,-3088, 3395,-3088,
-    -3088,-3088,-3088,-3088,-3088
-    },
-
-    {
-       27,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,
-    -3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,
-    -3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,
-    -3089,-3089,-3089, 3396,-3089,-3089,-3089,-3089,-3089,-3089,
-    -3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089,
-    -3089,-3089,-3089,-3089,-3089,-3089,-3089,-3089, 3396,-3089,
-    -3089,-3089,-3089,-3089,-3089
-
-    },
-
-    {
-       27,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,
-    -3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,
-    -3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,
-    -3090,-3090,-3090, 3397,-3090,-3090,-3090,-3090,-3090,-3090,
-    -3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090,
-    -3090,-3090,-3090,-3090,-3090,-3090,-3090,-3090, 3397,-3090,
-    -3090,-3090,-3090,-3090,-3090
-    },
-
-    {
-       27,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,
-    -3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091, 3398,-3091,
-    -3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,
-
-    -3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,
-    -3091,-3091,-3091,-3091, 3398,-3091,-3091,-3091,-3091,-3091,
-    -3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,-3091,
-    -3091,-3091,-3091,-3091,-3091
-    },
-
-    {
-       27,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,
-    -3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,
-    -3092,-3092,-3092,-3092,-3092,-3092, 3399,-3092,-3092,-3092,
-    -3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,
-    -3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,
-    -3092, 3399,-3092,-3092,-3092,-3092,-3092,-3092,-3092,-3092,
-
-    -3092,-3092,-3092,-3092,-3092
-    },
-
-    {
-       27,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,
-    -3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093, 3400,-3093,
-    -3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,
-    -3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,
-    -3093,-3093,-3093,-3093, 3400,-3093,-3093,-3093,-3093,-3093,
-    -3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,-3093,
-    -3093,-3093,-3093,-3093,-3093
-    },
-
-    {
-       27,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,
-    -3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,
-
-    -3094,-3094,-3094,-3094,-3094,-3094,-3094, 3401,-3094,-3094,
-    -3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,
-    -3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,-3094,
-    -3094,-3094, 3401,-3094,-3094,-3094,-3094,-3094,-3094,-3094,
-    -3094,-3094,-3094,-3094,-3094
-    },
-
-    {
-       27,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,
-    -3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,
-    -3095,-3095,-3095,-3095,-3095,-3095,-3095, 3402,-3095,-3095,
-    -3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,
-    -3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,-3095,
-
-    -3095,-3095, 3402,-3095,-3095,-3095,-3095,-3095,-3095,-3095,
-    -3095,-3095,-3095,-3095,-3095
-    },
-
-    {
-       27,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096, 1693,
-    -3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,
-    -3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,
-    -3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,
-    -3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,
-    -3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,-3096,
-    -3096,-3096,-3096,-3096,-3096
-    },
-
-    {
-       27,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,
-
-    -3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,
-    -3097,-3097,-3097,-3097,-3097,-3097,-3097, 3403,-3097,-3097,
-    -3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,
-    -3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,-3097,
-    -3097,-3097, 3403,-3097,-3097,-3097,-3097,-3097,-3097,-3097,
-    -3097,-3097,-3097,-3097,-3097
-    },
-
-    {
-       27,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,
-    -3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,
-    -3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,
-    -3098, 3404,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,
-
-    -3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,-3098,
-    -3098,-3098,-3098,-3098,-3098,-3098, 3404,-3098,-3098,-3098,
-    -3098,-3098,-3098,-3098,-3098
-    },
-
-    {
-       27,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099, 1695,
-    -3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,
-    -3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,
-    -3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,
-    -3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,
-    -3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,-3099,
-    -3099,-3099,-3099,-3099,-3099
-
-    },
-
-    {
-       27,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,
-    -3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,
-    -3100,-3100,-3100,-3100,-3100,-3100,-3100, 3405,-3100,-3100,
-    -3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,
-    -3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,-3100,
-    -3100,-3100, 3405,-3100,-3100,-3100,-3100,-3100,-3100,-3100,
-    -3100,-3100,-3100,-3100,-3100
-    },
-
-    {
-       27,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,
-    -3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,
-    -3101,-3101,-3101,-3101,-3101,-3101,-3101, 3406,-3101,-3101,
-
-    -3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,
-    -3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,-3101,
-    -3101,-3101, 3406,-3101,-3101,-3101,-3101,-3101,-3101,-3101,
-    -3101,-3101,-3101,-3101,-3101
-    },
-
-    {
-       27,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,
-    -3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,
-    -3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102, 3407,-3102,
-    -3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,
-    -3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,-3102,
-    -3102,-3102,-3102, 3407,-3102,-3102,-3102,-3102,-3102,-3102,
-
-    -3102,-3102,-3102,-3102,-3102
-    },
-
-    {
-       27,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,
-    -3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,
-    -3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,
-    -3103, 3408,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,
-    -3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,-3103,
-    -3103,-3103,-3103,-3103,-3103,-3103, 3408,-3103,-3103,-3103,
-    -3103,-3103,-3103,-3103,-3103
-    },
-
-    {
-       27,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,
-    -3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,
-
-    -3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104, 3409,-3104,
-    -3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,
-    -3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,-3104,
-    -3104,-3104,-3104, 3409,-3104,-3104,-3104,-3104,-3104,-3104,
-    -3104,-3104,-3104,-3104,-3104
-    },
-
-    {
-       27,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,
-    -3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,
-    -3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,
-    -3105, 3410,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,
-    -3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,-3105,
-
-    -3105,-3105,-3105,-3105,-3105,-3105, 3410,-3105,-3105,-3105,
-    -3105,-3105,-3105,-3105,-3105
-    },
-
-    {
-       27,-3106, 3411, 3411,-3106,-3106,-3106,-3106,-3106,-3106,
-    -3106,-3106, 3412,-3106,-3106,-3106,-3106,-3106,-3106,-3106,
-    -3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,
-    -3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,
-    -3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,
-    -3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,-3106,
-    -3106,-3106,-3106,-3106,-3106
-    },
-
-    {
-       27,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,
-
-    -3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,
-    -3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,
-    -3107,-3107,-3107, 3413,-3107,-3107,-3107,-3107,-3107,-3107,
-    -3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107,
-    -3107,-3107,-3107,-3107,-3107,-3107,-3107,-3107, 3413,-3107,
-    -3107,-3107,-3107,-3107,-3107
-    },
-
-    {
-       27,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,
-    -3108,-3108,-3108, 3414,-3108,-3108,-3108,-3108,-3108,-3108,
-    -3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,
-    -3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,
-
-    -3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,
-    -3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,-3108,
-    -3108,-3108,-3108,-3108,-3108
-    },
-
-    {
-       27,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,
-    -3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109, 3415,-3109,
-    -3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,
-    -3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,
-    -3109,-3109,-3109,-3109, 3415,-3109,-3109,-3109,-3109,-3109,
-    -3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,-3109,
-    -3109,-3109,-3109,-3109,-3109
-
-    },
-
-    {
-       27,-3110, 3110, 3110,-3110,-3110,-3110,-3110,-3110,-3110,
-    -3110,-3110, 3111,-3110,-3110,-3110,-3110,-3110,-3110,-3110,
-    -3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,
-    -3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,
-    -3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,
-    -3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,-3110,
-    -3110,-3110,-3110,-3110,-3110
-    },
-
-    {
-       27,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,
-    -3111,-3111,-3111,-3111,-3111,-3111, 3416,-3111,-3111,-3111,
-    -3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,
-
-    -3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,
-    -3111,-3111, 3416,-3111,-3111,-3111,-3111,-3111,-3111,-3111,
-    -3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,-3111,
-    -3111,-3111,-3111,-3111,-3111
-    },
-
-    {
-       27,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,
-    -3112,-3112,-3112,-3112, 3417,-3112,-3112,-3112,-3112,-3112,
-    -3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,
-    -3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,
-     3417,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,
-    -3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,-3112,
-
-    -3112,-3112,-3112,-3112,-3112
-    },
-
-    {
-       27,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,
-    -3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,
-    -3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,
-    -3113,-3113,-3113, 3418,-3113,-3113,-3113,-3113,-3113,-3113,
-    -3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113,
-    -3113,-3113,-3113,-3113,-3113,-3113,-3113,-3113, 3418,-3113,
-    -3113,-3113,-3113,-3113,-3113
-    },
-
-    {
-       27,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,
-    -3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,
-
-    -3114,-3114,-3114,-3114,-3114,-3114,-3114, 3419,-3114,-3114,
-    -3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,
-    -3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,-3114,
-    -3114,-3114, 3419,-3114,-3114,-3114,-3114,-3114,-3114,-3114,
-    -3114,-3114,-3114,-3114,-3114
-    },
-
-    {
-       27,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,
-    -3115,-3115,-3115, 3420,-3115,-3115,-3115,-3115,-3115,-3115,
-    -3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,
-    -3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,
-    -3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,
-
-    -3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,-3115,
-    -3115,-3115,-3115,-3115,-3115
-    },
-
-    {
-       27,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,
-    -3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,
-    -3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,
-    -3116,-3116,-3116, 3421,-3116,-3116,-3116,-3116,-3116,-3116,
-    -3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116,
-    -3116,-3116,-3116,-3116,-3116,-3116,-3116,-3116, 3421,-3116,
-    -3116,-3116,-3116,-3116,-3116
-    },
-
-    {
-       27,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,
-
-    -3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,
-    -3117,-3117,-3117,-3117,-3117,-3117,-3117, 3422,-3117,-3117,
-    -3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,
-    -3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,-3117,
-    -3117,-3117, 3422,-3117,-3117,-3117,-3117,-3117,-3117,-3117,
-    -3117,-3117,-3117,-3117,-3117
-    },
-
-    {
-       27,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,
-    -3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,
-    -3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,
-    -3118, 3423,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,
-
-    -3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,-3118,
-    -3118,-3118,-3118,-3118,-3118,-3118, 3423,-3118,-3118,-3118,
-    -3118,-3118,-3118,-3118,-3118
-    },
-
-    {
-       27,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119, 1718,
-    -3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,
-    -3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,
-    -3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,
-    -3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,
-    -3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,-3119,
-    -3119,-3119,-3119,-3119,-3119
-
-    },
-
-    {
-       27,-3120, 3424, 3424,-3120,-3120,-3120,-3120,-3120,-3120,
-    -3120,-3120, 3425,-3120,-3120,-3120,-3120,-3120,-3120,-3120,
-    -3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,
-    -3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,
-    -3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,
-    -3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,-3120,
-    -3120,-3120,-3120,-3120,-3120
-    },
-
-    {
-       27,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,
-    -3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,
-    -3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,
-
-    -3121,-3121,-3121, 3426,-3121,-3121,-3121,-3121,-3121,-3121,
-    -3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121,
-    -3121,-3121,-3121,-3121,-3121,-3121,-3121,-3121, 3426,-3121,
-    -3121,-3121,-3121,-3121,-3121
-    },
-
-    {
-       27,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,
-    -3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,
-    -3122,-3122,-3122,-3122,-3122,-3122,-3122, 3427,-3122,-3122,
-    -3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,
-    -3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,-3122,
-    -3122,-3122, 3427,-3122,-3122,-3122,-3122,-3122,-3122,-3122,
-
-    -3122,-3122,-3122,-3122,-3122
-    },
-
-    {
-       27,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,
-    -3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,
-    -3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,
-    -3123,-3123,-3123, 3428,-3123,-3123,-3123,-3123,-3123,-3123,
-    -3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123,
-    -3123,-3123,-3123,-3123,-3123,-3123,-3123,-3123, 3428,-3123,
-    -3123,-3123,-3123,-3123,-3123
-    },
-
-    {
-       27,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,
-    -3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,
-
-    -3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,
-    -3124,-3124, 3429,-3124,-3124,-3124,-3124,-3124,-3124,-3124,
-    -3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,-3124,
-    -3124,-3124,-3124,-3124,-3124,-3124,-3124, 3429,-3124,-3124,
-    -3124,-3124,-3124,-3124,-3124
-    },
-
-    {
-       27,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,
-    -3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,
-    -3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,
-    -3125,-3125,-3125, 3430,-3125,-3125,-3125,-3125,-3125,-3125,
-    -3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125,
-
-    -3125,-3125,-3125,-3125,-3125,-3125,-3125,-3125, 3430,-3125,
-    -3125,-3125,-3125,-3125,-3125
-    },
-
-    {
-       27,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,
-    -3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,
-    -3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,
-    -3126,-3126,-3126, 3431,-3126,-3126,-3126,-3126,-3126,-3126,
-    -3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126,
-    -3126,-3126,-3126,-3126,-3126,-3126,-3126,-3126, 3431,-3126,
-    -3126,-3126,-3126,-3126,-3126
-    },
-
-    {
-       27,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,
-
-    -3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,
-    -3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,
-    -3127,-3127,-3127, 3432,-3127,-3127,-3127,-3127,-3127,-3127,
-    -3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127,
-    -3127,-3127,-3127,-3127,-3127,-3127,-3127,-3127, 3432,-3127,
-    -3127,-3127,-3127,-3127,-3127
-    },
-
-    {
-       27,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,
-    -3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128, 3433,-3128,
-    -3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,
-    -3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,
-
-    -3128,-3128,-3128,-3128, 3433,-3128,-3128,-3128,-3128,-3128,
-    -3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,-3128,
-    -3128,-3128,-3128,-3128,-3128
-    },
-
-    {
-       27,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,
-    -3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,
-    -3129,-3129,-3129,-3129,-3129,-3129, 3434,-3129,-3129,-3129,
-    -3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,
-    -3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,
-    -3129, 3434,-3129,-3129,-3129,-3129,-3129,-3129,-3129,-3129,
-    -3129,-3129,-3129,-3129,-3129
-
-    },
-
-    {
-       27,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,
-    -3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130, 3435,-3130,
-    -3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,
-    -3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,
-    -3130,-3130,-3130,-3130, 3435,-3130,-3130,-3130,-3130,-3130,
-    -3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,-3130,
-    -3130,-3130,-3130,-3130,-3130
-    },
-
-    {
-       27,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,
-    -3131,-3131,-3131, 3436,-3131,-3131,-3131,-3131,-3131,-3131,
-    -3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,
-
-    -3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,
-    -3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,
-    -3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,-3131,
-    -3131,-3131,-3131,-3131,-3131
-    },
-
-    {
-       27,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,
-    -3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,
-    -3132,-3132,-3132,-3132,-3132,-3132,-3132, 3437,-3132,-3132,
-    -3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,
-    -3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,-3132,
-    -3132,-3132, 3437,-3132,-3132,-3132,-3132,-3132,-3132,-3132,
-
-    -3132,-3132,-3132,-3132,-3132
-    },
-
-    {
-       27,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,
-    -3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,
-    -3133,-3133,-3133,-3133,-3133,-3133,-3133, 3438,-3133,-3133,
-    -3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,
-    -3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,-3133,
-    -3133,-3133, 3438,-3133,-3133,-3133,-3133,-3133,-3133,-3133,
-    -3133,-3133,-3133,-3133,-3133
-    },
-
-    {
-       27,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134, 1735,
-    -3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,
-
-    -3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,
-    -3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,
-    -3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,
-    -3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,-3134,
-    -3134,-3134,-3134,-3134,-3134
-    },
-
-    {
-       27,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,
-    -3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,
-    -3135,-3135,-3135,-3135,-3135,-3135,-3135, 3439,-3135,-3135,
-    -3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,
-    -3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,-3135,
-
-    -3135,-3135, 3439,-3135,-3135,-3135,-3135,-3135,-3135,-3135,
-    -3135,-3135,-3135,-3135,-3135
-    },
-
-    {
-       27,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,
-    -3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,
-    -3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,
-    -3136, 3440,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,
-    -3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,-3136,
-    -3136,-3136,-3136,-3136,-3136,-3136, 3440,-3136,-3136,-3136,
-    -3136,-3136,-3136,-3136,-3136
-    },
-
-    {
-       27,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137, 1737,
-
-    -3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,
-    -3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,
-    -3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,
-    -3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,
-    -3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,-3137,
-    -3137,-3137,-3137,-3137,-3137
-    },
-
-    {
-       27,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,
-    -3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,
-    -3138,-3138,-3138,-3138,-3138,-3138,-3138, 3441,-3138,-3138,
-    -3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,
-
-    -3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,-3138,
-    -3138,-3138, 3441,-3138,-3138,-3138,-3138,-3138,-3138,-3138,
-    -3138,-3138,-3138,-3138,-3138
-    },
-
-    {
-       27,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,
-    -3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,
-    -3139,-3139,-3139,-3139,-3139,-3139,-3139, 3442,-3139,-3139,
-    -3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,
-    -3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,-3139,
-    -3139,-3139, 3442,-3139,-3139,-3139,-3139,-3139,-3139,-3139,
-    -3139,-3139,-3139,-3139,-3139
-
-    },
-
-    {
-       27,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,
-    -3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,
-    -3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140, 3443,-3140,
-    -3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,
-    -3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,-3140,
-    -3140,-3140,-3140, 3443,-3140,-3140,-3140,-3140,-3140,-3140,
-    -3140,-3140,-3140,-3140,-3140
-    },
-
-    {
-       27,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,
-    -3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,
-    -3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,
-
-    -3141, 3444,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,
-    -3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,-3141,
-    -3141,-3141,-3141,-3141,-3141,-3141, 3444,-3141,-3141,-3141,
-    -3141,-3141,-3141,-3141,-3141
-    },
-
-    {
-       27,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,
-    -3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,
-    -3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142, 3445,-3142,
-    -3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,
-    -3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,-3142,
-    -3142,-3142,-3142, 3445,-3142,-3142,-3142,-3142,-3142,-3142,
-
-    -3142,-3142,-3142,-3142,-3142
-    },
-
-    {
-       27,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,
-    -3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,
-    -3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,
-    -3143, 3446,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,
-    -3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,-3143,
-    -3143,-3143,-3143,-3143,-3143,-3143, 3446,-3143,-3143,-3143,
-    -3143,-3143,-3143,-3143,-3143
-    },
-
-    {
-       27,-3144, 3447, 3447,-3144,-3144,-3144,-3144,-3144,-3144,
-    -3144,-3144, 3448,-3144,-3144,-3144,-3144,-3144,-3144,-3144,
-
-    -3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,
-    -3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,
-    -3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,
-    -3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,-3144,
-    -3144,-3144,-3144,-3144,-3144
-    },
-
-    {
-       27,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,
-    -3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,
-    -3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,
-    -3145,-3145,-3145, 3449,-3145,-3145,-3145,-3145,-3145,-3145,
-    -3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145,
-
-    -3145,-3145,-3145,-3145,-3145,-3145,-3145,-3145, 3449,-3145,
-    -3145,-3145,-3145,-3145,-3145
-    },
-
-    {
-       27,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,
-    -3146,-3146,-3146, 3450,-3146,-3146,-3146,-3146,-3146,-3146,
-    -3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,
-    -3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,
-    -3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,
-    -3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,-3146,
-    -3146,-3146,-3146,-3146,-3146
-    },
-
-    {
-       27,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,
-
-    -3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147, 3451,-3147,
-    -3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,
-    -3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,
-    -3147,-3147,-3147,-3147, 3451,-3147,-3147,-3147,-3147,-3147,
-    -3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,-3147,
-    -3147,-3147,-3147,-3147,-3147
-    },
-
-    {
-       27,-3148, 3148, 3148,-3148,-3148,-3148,-3148,-3148,-3148,
-    -3148,-3148, 3149,-3148,-3148,-3148,-3148,-3148,-3148,-3148,
-    -3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,
-    -3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,
-
-    -3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,
-    -3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,-3148,
-    -3148,-3148,-3148,-3148,-3148
-    },
-
-    {
-       27,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,
-    -3149,-3149,-3149,-3149,-3149,-3149, 3452,-3149,-3149,-3149,
-    -3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,
-    -3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,
-    -3149,-3149, 3452,-3149,-3149,-3149,-3149,-3149,-3149,-3149,
-    -3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,-3149,
-    -3149,-3149,-3149,-3149,-3149
-
-    },
-
-    {
-       27,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,
-    -3150,-3150,-3150,-3150, 3453,-3150,-3150,-3150,-3150,-3150,
-    -3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,
-    -3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,
-     3453,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,
-    -3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,-3150,
-    -3150,-3150,-3150,-3150,-3150
-    },
-
-    {
-       27,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,
-    -3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,
-    -3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,
-
-    -3151,-3151,-3151, 3454,-3151,-3151,-3151,-3151,-3151,-3151,
-    -3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151,
-    -3151,-3151,-3151,-3151,-3151,-3151,-3151,-3151, 3454,-3151,
-    -3151,-3151,-3151,-3151,-3151
-    },
-
-    {
-       27,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,
-    -3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,
-    -3152,-3152,-3152,-3152,-3152,-3152,-3152, 3455,-3152,-3152,
-    -3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,
-    -3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,-3152,
-    -3152,-3152, 3455,-3152,-3152,-3152,-3152,-3152,-3152,-3152,
-
-    -3152,-3152,-3152,-3152,-3152
-    },
-
-    {
-       27,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,
-    -3153,-3153,-3153, 3456,-3153,-3153,-3153,-3153,-3153,-3153,
-    -3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,
-    -3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,
-    -3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,
-    -3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,-3153,
-    -3153,-3153,-3153,-3153,-3153
-    },
-
-    {
-       27,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,
-    -3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,
-
-    -3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,
-    -3154,-3154,-3154, 3457,-3154,-3154,-3154,-3154,-3154,-3154,
-    -3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154,
-    -3154,-3154,-3154,-3154,-3154,-3154,-3154,-3154, 3457,-3154,
-    -3154,-3154,-3154,-3154,-3154
-    },
-
-    {
-       27,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,
-    -3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,
-    -3155,-3155,-3155,-3155,-3155,-3155,-3155, 3458,-3155,-3155,
-    -3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,
-    -3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,-3155,
-
-    -3155,-3155, 3458,-3155,-3155,-3155,-3155,-3155,-3155,-3155,
-    -3155,-3155,-3155,-3155,-3155
-    },
-
-    {
-       27,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,
-    -3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,
-    -3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,
-    -3156, 3459,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,
-    -3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,-3156,
-    -3156,-3156,-3156,-3156,-3156,-3156, 3459,-3156,-3156,-3156,
-    -3156,-3156,-3156,-3156,-3156
-    },
-
-    {
-       27,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157, 1760,
-
-    -3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,
-    -3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,
-    -3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,
-    -3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,
-    -3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,-3157,
-    -3157,-3157,-3157,-3157,-3157
-    },
-
-    {
-       27,-3158, 3460, 3460,-3158,-3158,-3158,-3158,-3158,-3158,
-    -3158,-3158, 3461,-3158,-3158,-3158,-3158,-3158,-3158,-3158,
-    -3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,
-    -3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,
-
-    -3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,
-    -3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,-3158,
-    -3158,-3158,-3158,-3158,-3158
-    },
-
-    {
-       27,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,
-    -3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,
-    -3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,
-    -3159,-3159,-3159, 3462,-3159,-3159,-3159,-3159,-3159,-3159,
-    -3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159,
-    -3159,-3159,-3159,-3159,-3159,-3159,-3159,-3159, 3462,-3159,
-    -3159,-3159,-3159,-3159,-3159
-
-    },
-
-    {
-       27,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,
-    -3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,
-    -3160,-3160,-3160,-3160,-3160,-3160,-3160, 3463,-3160,-3160,
-    -3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,
-    -3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,-3160,
-    -3160,-3160, 3463,-3160,-3160,-3160,-3160,-3160,-3160,-3160,
-    -3160,-3160,-3160,-3160,-3160
-    },
-
-    {
-       27,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,
-    -3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,
-    -3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,
-
-    -3161,-3161,-3161, 3464,-3161,-3161,-3161,-3161,-3161,-3161,
-    -3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161,
-    -3161,-3161,-3161,-3161,-3161,-3161,-3161,-3161, 3464,-3161,
-    -3161,-3161,-3161,-3161,-3161
-    },
-
-    {
-       27,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,
-    -3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,
-    -3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,
-    -3162,-3162, 3465,-3162,-3162,-3162,-3162,-3162,-3162,-3162,
-    -3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,-3162,
-    -3162,-3162,-3162,-3162,-3162,-3162,-3162, 3465,-3162,-3162,
-
-    -3162,-3162,-3162,-3162,-3162
-    },
-
-    {
-       27,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,
-    -3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,
-    -3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,
-    -3163,-3163,-3163, 3466,-3163,-3163,-3163,-3163,-3163,-3163,
-    -3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163,
-    -3163,-3163,-3163,-3163,-3163,-3163,-3163,-3163, 3466,-3163,
-    -3163,-3163,-3163,-3163,-3163
-    },
-
-    {
-       27,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,
-    -3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,
-
-    -3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,
-    -3164,-3164,-3164, 3467,-3164,-3164,-3164,-3164,-3164,-3164,
-    -3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164,
-    -3164,-3164,-3164,-3164,-3164,-3164,-3164,-3164, 3467,-3164,
-    -3164,-3164,-3164,-3164,-3164
-    },
-
-    {
-       27,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,
-    -3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,
-    -3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,
-    -3165,-3165,-3165, 3468,-3165,-3165,-3165,-3165,-3165,-3165,
-    -3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165,
-
-    -3165,-3165,-3165,-3165,-3165,-3165,-3165,-3165, 3468,-3165,
-    -3165,-3165,-3165,-3165,-3165
-    },
-
-    {
-       27,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,
-    -3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166, 3469,-3166,
-    -3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,
-    -3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,
-    -3166,-3166,-3166,-3166, 3469,-3166,-3166,-3166,-3166,-3166,
-    -3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,-3166,
-    -3166,-3166,-3166,-3166,-3166
-    },
-
-    {
-       27,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,
-
-    -3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,
-    -3167,-3167,-3167,-3167,-3167,-3167, 3470,-3167,-3167,-3167,
-    -3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,
-    -3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,
-    -3167, 3470,-3167,-3167,-3167,-3167,-3167,-3167,-3167,-3167,
-    -3167,-3167,-3167,-3167,-3167
-    },
-
-    {
-       27,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,
-    -3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168, 3471,-3168,
-    -3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,
-    -3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,
-
-    -3168,-3168,-3168,-3168, 3471,-3168,-3168,-3168,-3168,-3168,
-    -3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,-3168,
-    -3168,-3168,-3168,-3168,-3168
-    },
-
-    {
-       27,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,
-    -3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,
-    -3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,
-    -3169,-3169, 3472,-3169,-3169,-3169,-3169,-3169,-3169,-3169,
-    -3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,-3169,
-    -3169,-3169,-3169,-3169,-3169,-3169,-3169, 3472,-3169,-3169,
-    -3169,-3169,-3169,-3169,-3169
-
-    },
-
-    {
-       27,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,
-    -3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,
-    -3170,-3170,-3170,-3170,-3170,-3170,-3170, 3473,-3170,-3170,
-    -3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,
-    -3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,-3170,
-    -3170,-3170, 3473,-3170,-3170,-3170,-3170,-3170,-3170,-3170,
-    -3170,-3170,-3170,-3170,-3170
-    },
-
-    {
-       27,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,
-    -3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,
-    -3171,-3171,-3171,-3171,-3171,-3171,-3171, 3474,-3171,-3171,
-
-    -3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,
-    -3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,-3171,
-    -3171,-3171, 3474,-3171,-3171,-3171,-3171,-3171,-3171,-3171,
-    -3171,-3171,-3171,-3171,-3171
-    },
-
-    {
-       27,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172, 1777,
-    -3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,
-    -3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,
-    -3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,
-    -3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,
-    -3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,-3172,
-
-    -3172,-3172,-3172,-3172,-3172
-    },
-
-    {
-       27,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,
-    -3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,
-    -3173,-3173,-3173,-3173,-3173,-3173,-3173, 3475,-3173,-3173,
-    -3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,
-    -3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,-3173,
-    -3173,-3173, 3475,-3173,-3173,-3173,-3173,-3173,-3173,-3173,
-    -3173,-3173,-3173,-3173,-3173
-    },
-
-    {
-       27,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,
-    -3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,
-
-    -3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,
-    -3174, 3476,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,
-    -3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,-3174,
-    -3174,-3174,-3174,-3174,-3174,-3174, 3476,-3174,-3174,-3174,
-    -3174,-3174,-3174,-3174,-3174
-    },
-
-    {
-       27,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175, 1779,
-    -3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,
-    -3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,
-    -3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,
-    -3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,
-
-    -3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,-3175,
-    -3175,-3175,-3175,-3175,-3175
-    },
-
-    {
-       27,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,
-    -3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,
-    -3176,-3176,-3176,-3176,-3176,-3176,-3176, 3477,-3176,-3176,
-    -3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,
-    -3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,-3176,
-    -3176,-3176, 3477,-3176,-3176,-3176,-3176,-3176,-3176,-3176,
-    -3176,-3176,-3176,-3176,-3176
-    },
-
-    {
-       27,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,
-
-    -3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,
-    -3177,-3177,-3177,-3177,-3177,-3177,-3177, 3478,-3177,-3177,
-    -3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,
-    -3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,-3177,
-    -3177,-3177, 3478,-3177,-3177,-3177,-3177,-3177,-3177,-3177,
-    -3177,-3177,-3177,-3177,-3177
-    },
-
-    {
-       27,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,
-    -3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,
-    -3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178, 3479,-3178,
-    -3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,
-
-    -3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,-3178,
-    -3178,-3178,-3178, 3479,-3178,-3178,-3178,-3178,-3178,-3178,
-    -3178,-3178,-3178,-3178,-3178
-    },
-
-    {
-       27,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,
-    -3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,
-    -3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,
-    -3179, 3480,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,
-    -3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,-3179,
-    -3179,-3179,-3179,-3179,-3179,-3179, 3480,-3179,-3179,-3179,
-    -3179,-3179,-3179,-3179,-3179
-
-    },
-
-    {
-       27,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,
-    -3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,
-    -3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180, 3481,-3180,
-    -3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,
-    -3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,-3180,
-    -3180,-3180,-3180, 3481,-3180,-3180,-3180,-3180,-3180,-3180,
-    -3180,-3180,-3180,-3180,-3180
-    },
-
-    {
-       27,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,
-    -3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,
-    -3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,
-
-    -3181, 3482,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,
-    -3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,-3181,
-    -3181,-3181,-3181,-3181,-3181,-3181, 3482,-3181,-3181,-3181,
-    -3181,-3181,-3181,-3181,-3181
-    },
-
-    {
-       27,-3182, 3483, 3483,-3182,-3182,-3182,-3182,-3182,-3182,
-    -3182,-3182, 3484,-3182,-3182,-3182,-3182,-3182,-3182,-3182,
-    -3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,
-    -3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,
-    -3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,
-    -3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,-3182,
-
-    -3182,-3182,-3182,-3182,-3182
-    },
-
-    {
-       27,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,
-    -3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,
-    -3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,
-    -3183,-3183,-3183, 3485,-3183,-3183,-3183,-3183,-3183,-3183,
-    -3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183,
-    -3183,-3183,-3183,-3183,-3183,-3183,-3183,-3183, 3485,-3183,
-    -3183,-3183,-3183,-3183,-3183
-    },
-
-    {
-       27,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,
-    -3184,-3184,-3184, 3486,-3184,-3184,-3184,-3184,-3184,-3184,
-
-    -3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,
-    -3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,
-    -3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,
-    -3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,-3184,
-    -3184,-3184,-3184,-3184,-3184
-    },
-
-    {
-       27,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,
-    -3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185, 3487,-3185,
-    -3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,
-    -3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,
-    -3185,-3185,-3185,-3185, 3487,-3185,-3185,-3185,-3185,-3185,
-
-    -3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,-3185,
-    -3185,-3185,-3185,-3185,-3185
-    },
-
-    {
-       27,-3186, 3186, 3186,-3186,-3186,-3186,-3186,-3186,-3186,
-    -3186,-3186, 3187,-3186,-3186,-3186,-3186,-3186,-3186,-3186,
-    -3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,
-    -3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,
-    -3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,
-    -3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,-3186,
-    -3186,-3186,-3186,-3186,-3186
-    },
-
-    {
-       27,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,
-
-    -3187,-3187,-3187,-3187,-3187,-3187, 3488,-3187,-3187,-3187,
-    -3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,
-    -3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,
-    -3187,-3187, 3488,-3187,-3187,-3187,-3187,-3187,-3187,-3187,
-    -3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,-3187,
-    -3187,-3187,-3187,-3187,-3187
-    },
-
-    {
-       27,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,
-    -3188,-3188,-3188,-3188, 3489,-3188,-3188,-3188,-3188,-3188,
-    -3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,
-    -3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,
-
-     3489,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,
-    -3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,-3188,
-    -3188,-3188,-3188,-3188,-3188
-    },
-
-    {
-       27,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,
-    -3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,
-    -3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,
-    -3189,-3189,-3189, 3490,-3189,-3189,-3189,-3189,-3189,-3189,
-    -3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189,
-    -3189,-3189,-3189,-3189,-3189,-3189,-3189,-3189, 3490,-3189,
-    -3189,-3189,-3189,-3189,-3189
-
-    },
-
-    {
-       27,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,
-    -3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,
-    -3190,-3190,-3190,-3190,-3190,-3190,-3190, 3491,-3190,-3190,
-    -3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,
-    -3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,-3190,
-    -3190,-3190, 3491,-3190,-3190,-3190,-3190,-3190,-3190,-3190,
-    -3190,-3190,-3190,-3190,-3190
-    },
-
-    {
-       27,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,
-    -3191,-3191,-3191, 3492,-3191,-3191,-3191,-3191,-3191,-3191,
-    -3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,
-
-    -3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,
-    -3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,
-    -3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,-3191,
-    -3191,-3191,-3191,-3191,-3191
-    },
-
-    {
-       27,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,
-    -3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,
-    -3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,
-    -3192,-3192,-3192, 3493,-3192,-3192,-3192,-3192,-3192,-3192,
-    -3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192,
-    -3192,-3192,-3192,-3192,-3192,-3192,-3192,-3192, 3493,-3192,
-
-    -3192,-3192,-3192,-3192,-3192
-    },
-
-    {
-       27,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,
-    -3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,
-    -3193,-3193,-3193,-3193,-3193,-3193,-3193, 3494,-3193,-3193,
-    -3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,
-    -3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,-3193,
-    -3193,-3193, 3494,-3193,-3193,-3193,-3193,-3193,-3193,-3193,
-    -3193,-3193,-3193,-3193,-3193
-    },
-
-    {
-       27,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,
-    -3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,
-
-    -3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,
-    -3194, 3495,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,
-    -3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,-3194,
-    -3194,-3194,-3194,-3194,-3194,-3194, 3495,-3194,-3194,-3194,
-    -3194,-3194,-3194,-3194,-3194
-    },
-
-    {
-       27,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195, 1802,
-    -3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,
-    -3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,
-    -3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,
-    -3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,
-
-    -3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,-3195,
-    -3195,-3195,-3195,-3195,-3195
-    },
-
-    {
-       27,-3196, 3496, 3496,-3196,-3196,-3196,-3196,-3196,-3196,
-    -3196,-3196, 3497,-3196,-3196,-3196,-3196,-3196,-3196,-3196,
-    -3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,
-    -3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,
-    -3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,
-    -3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,-3196,
-    -3196,-3196,-3196,-3196,-3196
-    },
-
-    {
-       27,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,
-
-    -3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,
-    -3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,
-    -3197,-3197,-3197, 3498,-3197,-3197,-3197,-3197,-3197,-3197,
-    -3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197,
-    -3197,-3197,-3197,-3197,-3197,-3197,-3197,-3197, 3498,-3197,
-    -3197,-3197,-3197,-3197,-3197
-    },
-
-    {
-       27,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,
-    -3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,
-    -3198,-3198,-3198,-3198,-3198,-3198,-3198, 3499,-3198,-3198,
-    -3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,
-
-    -3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,-3198,
-    -3198,-3198, 3499,-3198,-3198,-3198,-3198,-3198,-3198,-3198,
-    -3198,-3198,-3198,-3198,-3198
-    },
-
-    {
-       27,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,
-    -3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,
-    -3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,
-    -3199,-3199,-3199, 3500,-3199,-3199,-3199,-3199,-3199,-3199,
-    -3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199,
-    -3199,-3199,-3199,-3199,-3199,-3199,-3199,-3199, 3500,-3199,
-    -3199,-3199,-3199,-3199,-3199
-
-    },
-
-    {
-       27,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,
-    -3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,
-    -3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,
-    -3200,-3200, 3501,-3200,-3200,-3200,-3200,-3200,-3200,-3200,
-    -3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,-3200,
-    -3200,-3200,-3200,-3200,-3200,-3200,-3200, 3501,-3200,-3200,
-    -3200,-3200,-3200,-3200,-3200
-    },
-
-    {
-       27,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,
-    -3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,
-    -3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,
-
-    -3201,-3201,-3201, 3502,-3201,-3201,-3201,-3201,-3201,-3201,
-    -3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201,
-    -3201,-3201,-3201,-3201,-3201,-3201,-3201,-3201, 3502,-3201,
-    -3201,-3201,-3201,-3201,-3201
-    },
-
-    {
-       27,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,
-    -3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,
-    -3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,
-    -3202,-3202,-3202, 3503,-3202,-3202,-3202,-3202,-3202,-3202,
-    -3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202,
-    -3202,-3202,-3202,-3202,-3202,-3202,-3202,-3202, 3503,-3202,
-
-    -3202,-3202,-3202,-3202,-3202
-    },
-
-    {
-       27,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,
-    -3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,
-    -3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,
-    -3203,-3203,-3203, 3504,-3203,-3203,-3203,-3203,-3203,-3203,
-    -3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203,
-    -3203,-3203,-3203,-3203,-3203,-3203,-3203,-3203, 3504,-3203,
-    -3203,-3203,-3203,-3203,-3203
-    },
-
-    {
-       27,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,
-    -3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204, 3505,-3204,
-
-    -3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,
-    -3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,
-    -3204,-3204,-3204,-3204, 3505,-3204,-3204,-3204,-3204,-3204,
-    -3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,-3204,
-    -3204,-3204,-3204,-3204,-3204
-    },
-
-    {
-       27,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,
-    -3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,
-    -3205,-3205,-3205,-3205,-3205,-3205, 3506,-3205,-3205,-3205,
-    -3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,
-    -3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,
-
-    -3205, 3506,-3205,-3205,-3205,-3205,-3205,-3205,-3205,-3205,
-    -3205,-3205,-3205,-3205,-3205
-    },
-
-    {
-       27,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,
-    -3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206, 3507,-3206,
-    -3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,
-    -3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,
-    -3206,-3206,-3206,-3206, 3507,-3206,-3206,-3206,-3206,-3206,
-    -3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,-3206,
-    -3206,-3206,-3206,-3206,-3206
-    },
-
-    {
-       27,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,
-
-    -3207,-3207,-3207,-3207, 3508,-3207,-3207,-3207,-3207,-3207,
-    -3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,
-    -3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,
-     3508,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,
-    -3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,-3207,
-    -3207,-3207,-3207,-3207,-3207
-    },
-
-    {
-       27,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,
-    -3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,
-    -3208,-3208,-3208,-3208,-3208,-3208,-3208, 3509,-3208,-3208,
-    -3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,
-
-    -3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,-3208,
-    -3208,-3208, 3509,-3208,-3208,-3208,-3208,-3208,-3208,-3208,
-    -3208,-3208,-3208,-3208,-3208
-    },
-
-    {
-       27,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,
-    -3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,
-    -3209,-3209,-3209,-3209,-3209,-3209,-3209, 3510,-3209,-3209,
-    -3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,
-    -3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,-3209,
-    -3209,-3209, 3510,-3209,-3209,-3209,-3209,-3209,-3209,-3209,
-    -3209,-3209,-3209,-3209,-3209
-
-    },
-
-    {
-       27,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210, 1819,
-    -3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,
-    -3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,
-    -3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,
-    -3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,
-    -3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,-3210,
-    -3210,-3210,-3210,-3210,-3210
-    },
-
-    {
-       27,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,
-    -3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,
-    -3211,-3211,-3211,-3211,-3211,-3211,-3211, 3511,-3211,-3211,
-
-    -3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,
-    -3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,-3211,
-    -3211,-3211, 3511,-3211,-3211,-3211,-3211,-3211,-3211,-3211,
-    -3211,-3211,-3211,-3211,-3211
-    },
-
-    {
-       27,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,
-    -3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,
-    -3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,
-    -3212, 3512,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,
-    -3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,-3212,
-    -3212,-3212,-3212,-3212,-3212,-3212, 3512,-3212,-3212,-3212,
-
-    -3212,-3212,-3212,-3212,-3212
-    },
-
-    {
-       27,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213, 1821,
-    -3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,
-    -3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,
-    -3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,
-    -3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,
-    -3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,-3213,
-    -3213,-3213,-3213,-3213,-3213
-    },
-
-    {
-       27,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,
-    -3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,
-
-    -3214,-3214,-3214,-3214,-3214,-3214,-3214, 3513,-3214,-3214,
-    -3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,
-    -3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,-3214,
-    -3214,-3214, 3513,-3214,-3214,-3214,-3214,-3214,-3214,-3214,
-    -3214,-3214,-3214,-3214,-3214
-    },
-
-    {
-       27,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,
-    -3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,
-    -3215,-3215,-3215,-3215,-3215,-3215,-3215, 3514,-3215,-3215,
-    -3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,
-    -3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,-3215,
-
-    -3215,-3215, 3514,-3215,-3215,-3215,-3215,-3215,-3215,-3215,
-    -3215,-3215,-3215,-3215,-3215
-    },
-
-    {
-       27,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,
-    -3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,
-    -3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216, 3515,-3216,
-    -3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,
-    -3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,-3216,
-    -3216,-3216,-3216, 3515,-3216,-3216,-3216,-3216,-3216,-3216,
-    -3216,-3216,-3216,-3216,-3216
-    },
-
-    {
-       27,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,
-
-    -3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,
-    -3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,
-    -3217, 3516,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,
-    -3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,-3217,
-    -3217,-3217,-3217,-3217,-3217,-3217, 3516,-3217,-3217,-3217,
-    -3217,-3217,-3217,-3217,-3217
-    },
-
-    {
-       27,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,
-    -3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,
-    -3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218, 3517,-3218,
-    -3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,
-
-    -3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,-3218,
-    -3218,-3218,-3218, 3517,-3218,-3218,-3218,-3218,-3218,-3218,
-    -3218,-3218,-3218,-3218,-3218
-    },
-
-    {
-       27,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,
-    -3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,
-    -3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,
-    -3219, 3518,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,
-    -3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,-3219,
-    -3219,-3219,-3219,-3219,-3219,-3219, 3518,-3219,-3219,-3219,
-    -3219,-3219,-3219,-3219,-3219
-
-    },
-
-    {
-       27,-3220, 3519, 3519,-3220,-3220,-3220,-3220,-3220,-3220,
-    -3220,-3220, 3520,-3220,-3220,-3220,-3220,-3220,-3220,-3220,
-    -3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,
-    -3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,
-    -3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,
-    -3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,-3220,
-    -3220,-3220,-3220,-3220,-3220
-    },
-
-    {
-       27,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,
-    -3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,
-    -3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,
-
-    -3221,-3221,-3221, 3521,-3221,-3221,-3221,-3221,-3221,-3221,
-    -3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221,
-    -3221,-3221,-3221,-3221,-3221,-3221,-3221,-3221, 3521,-3221,
-    -3221,-3221,-3221,-3221,-3221
-    },
-
-    {
-       27,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,
-    -3222,-3222,-3222, 3522,-3222,-3222,-3222,-3222,-3222,-3222,
-    -3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,
-    -3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,
-    -3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,
-    -3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,-3222,
-
-    -3222,-3222,-3222,-3222,-3222
-    },
-
-    {
-       27,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,
-    -3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223, 3523,-3223,
-    -3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,
-    -3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,
-    -3223,-3223,-3223,-3223, 3523,-3223,-3223,-3223,-3223,-3223,
-    -3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,-3223,
-    -3223,-3223,-3223,-3223,-3223
-    },
-
-    {
-       27,-3224, 3224, 3224,-3224,-3224,-3224,-3224,-3224,-3224,
-    -3224,-3224, 3225,-3224,-3224,-3224,-3224,-3224,-3224,-3224,
-
-    -3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,
-    -3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,
-    -3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,
-    -3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,-3224,
-    -3224,-3224,-3224,-3224,-3224
-    },
-
-    {
-       27,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,
-    -3225,-3225,-3225,-3225,-3225,-3225, 3524,-3225,-3225,-3225,
-    -3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,
-    -3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,
-    -3225,-3225, 3524,-3225,-3225,-3225,-3225,-3225,-3225,-3225,
-
-    -3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,-3225,
-    -3225,-3225,-3225,-3225,-3225
-    },
-
-    {
-       27,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,
-    -3226,-3226,-3226,-3226, 3525,-3226,-3226,-3226,-3226,-3226,
-    -3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,
-    -3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,
-     3525,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,
-    -3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,-3226,
-    -3226,-3226,-3226,-3226,-3226
-    },
-
-    {
-       27,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,
-
-    -3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,
-    -3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,
-    -3227,-3227,-3227, 3526,-3227,-3227,-3227,-3227,-3227,-3227,
-    -3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227,
-    -3227,-3227,-3227,-3227,-3227,-3227,-3227,-3227, 3526,-3227,
-    -3227,-3227,-3227,-3227,-3227
-    },
-
-    {
-       27,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,
-    -3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,
-    -3228,-3228,-3228,-3228,-3228,-3228,-3228, 3527,-3228,-3228,
-    -3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,
-
-    -3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,-3228,
-    -3228,-3228, 3527,-3228,-3228,-3228,-3228,-3228,-3228,-3228,
-    -3228,-3228,-3228,-3228,-3228
-    },
-
-    {
-       27,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,
-    -3229,-3229,-3229, 3528,-3229,-3229,-3229,-3229,-3229,-3229,
-    -3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,
-    -3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,
-    -3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,
-    -3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,-3229,
-    -3229,-3229,-3229,-3229,-3229
-
-    },
-
-    {
-       27,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,
-    -3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,
-    -3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,
-    -3230,-3230,-3230, 3529,-3230,-3230,-3230,-3230,-3230,-3230,
-    -3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230,
-    -3230,-3230,-3230,-3230,-3230,-3230,-3230,-3230, 3529,-3230,
-    -3230,-3230,-3230,-3230,-3230
-    },
-
-    {
-       27,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,
-    -3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,
-    -3231,-3231,-3231,-3231,-3231,-3231,-3231, 3530,-3231,-3231,
-
-    -3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,
-    -3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,-3231,
-    -3231,-3231, 3530,-3231,-3231,-3231,-3231,-3231,-3231,-3231,
-    -3231,-3231,-3231,-3231,-3231
-    },
-
-    {
-       27,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,
-    -3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,
-    -3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,
-    -3232, 3531,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,
-    -3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,-3232,
-    -3232,-3232,-3232,-3232,-3232,-3232, 3531,-3232,-3232,-3232,
-
-    -3232,-3232,-3232,-3232,-3232
-    },
-
-    {
-       27,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233, 1844,
-    -3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,
-    -3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,
-    -3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,
-    -3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,
-    -3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,-3233,
-    -3233,-3233,-3233,-3233,-3233
-    },
-
-    {
-       27,-3234, 3532, 3532,-3234,-3234,-3234,-3234,-3234,-3234,
-    -3234,-3234, 3533,-3234,-3234,-3234,-3234,-3234,-3234,-3234,
-
-    -3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,
-    -3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,
-    -3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,
-    -3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,-3234,
-    -3234,-3234,-3234,-3234,-3234
-    },
-
-    {
-       27,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,
-    -3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,
-    -3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,
-    -3235,-3235,-3235, 3534,-3235,-3235,-3235,-3235,-3235,-3235,
-    -3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235,
-
-    -3235,-3235,-3235,-3235,-3235,-3235,-3235,-3235, 3534,-3235,
-    -3235,-3235,-3235,-3235,-3235
-    },
-
-    {
-       27,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,
-    -3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,
-    -3236,-3236,-3236,-3236,-3236,-3236,-3236, 3535,-3236,-3236,
-    -3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,
-    -3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,-3236,
-    -3236,-3236, 3535,-3236,-3236,-3236,-3236,-3236,-3236,-3236,
-    -3236,-3236,-3236,-3236,-3236
-    },
-
-    {
-       27,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,
-
-    -3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,
-    -3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,
-    -3237,-3237,-3237, 3536,-3237,-3237,-3237,-3237,-3237,-3237,
-    -3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237,
-    -3237,-3237,-3237,-3237,-3237,-3237,-3237,-3237, 3536,-3237,
-    -3237,-3237,-3237,-3237,-3237
-    },
-
-    {
-       27,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,
-    -3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,
-    -3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,
-    -3238,-3238, 3537,-3238,-3238,-3238,-3238,-3238,-3238,-3238,
-
-    -3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,-3238,
-    -3238,-3238,-3238,-3238,-3238,-3238,-3238, 3537,-3238,-3238,
-    -3238,-3238,-3238,-3238,-3238
-    },
-
-    {
-       27,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,
-    -3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,
-    -3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,
-    -3239,-3239,-3239, 3538,-3239,-3239,-3239,-3239,-3239,-3239,
-    -3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239,
-    -3239,-3239,-3239,-3239,-3239,-3239,-3239,-3239, 3538,-3239,
-    -3239,-3239,-3239,-3239,-3239
-
-    },
-
-    {
-       27,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,
-    -3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,
-    -3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,
-    -3240,-3240,-3240, 3539,-3240,-3240,-3240,-3240,-3240,-3240,
-    -3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240,
-    -3240,-3240,-3240,-3240,-3240,-3240,-3240,-3240, 3539,-3240,
-    -3240,-3240,-3240,-3240,-3240
-    },
-
-    {
-       27,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,
-    -3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,
-    -3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,
-
-    -3241,-3241,-3241, 3540,-3241,-3241,-3241,-3241,-3241,-3241,
-    -3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241,
-    -3241,-3241,-3241,-3241,-3241,-3241,-3241,-3241, 3540,-3241,
-    -3241,-3241,-3241,-3241,-3241
-    },
-
-    {
-       27,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,
-    -3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242, 3541,-3242,
-    -3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,
-    -3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,
-    -3242,-3242,-3242,-3242, 3541,-3242,-3242,-3242,-3242,-3242,
-    -3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,-3242,
-
-    -3242,-3242,-3242,-3242,-3242
-    },
-
-    {
-       27,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,
-    -3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,
-    -3243,-3243,-3243,-3243,-3243,-3243, 3542,-3243,-3243,-3243,
-    -3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,
-    -3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,
-    -3243, 3542,-3243,-3243,-3243,-3243,-3243,-3243,-3243,-3243,
-    -3243,-3243,-3243,-3243,-3243
-    },
-
-    {
-       27,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,
-    -3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244, 3543,-3244,
-
-    -3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,
-    -3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,
-    -3244,-3244,-3244,-3244, 3543,-3244,-3244,-3244,-3244,-3244,
-    -3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,-3244,
-    -3244,-3244,-3244,-3244,-3244
-    },
-
-    {
-       27,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,
-    -3245,-3245,-3245,-3245, 3544,-3245,-3245,-3245,-3245,-3245,
-    -3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,
-    -3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,
-     3544,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,
-
-    -3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,-3245,
-    -3245,-3245,-3245,-3245,-3245
-    },
-
-    {
-       27,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,
-    -3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,
-    -3246,-3246,-3246,-3246,-3246,-3246,-3246, 3545,-3246,-3246,
-    -3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,
-    -3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,-3246,
-    -3246,-3246, 3545,-3246,-3246,-3246,-3246,-3246,-3246,-3246,
-    -3246,-3246,-3246,-3246,-3246
-    },
-
-    {
-       27,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,
-
-    -3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,
-    -3247,-3247,-3247,-3247,-3247,-3247,-3247, 3546,-3247,-3247,
-    -3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,
-    -3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,-3247,
-    -3247,-3247, 3546,-3247,-3247,-3247,-3247,-3247,-3247,-3247,
-    -3247,-3247,-3247,-3247,-3247
-    },
-
-    {
-       27,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248, 1861,
-    -3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,
-    -3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,
-    -3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,
-
-    -3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,
-    -3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,-3248,
-    -3248,-3248,-3248,-3248,-3248
-    },
-
-    {
-       27,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,
-    -3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,
-    -3249,-3249,-3249,-3249,-3249,-3249,-3249, 3547,-3249,-3249,
-    -3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,
-    -3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,-3249,
-    -3249,-3249, 3547,-3249,-3249,-3249,-3249,-3249,-3249,-3249,
-    -3249,-3249,-3249,-3249,-3249
-
-    },
-
-    {
-       27,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,
-    -3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,
-    -3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,
-    -3250, 3548,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,
-    -3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,-3250,
-    -3250,-3250,-3250,-3250,-3250,-3250, 3548,-3250,-3250,-3250,
-    -3250,-3250,-3250,-3250,-3250
-    },
-
-    {
-       27,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251, 1863,
-    -3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,
-    -3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,
-
-    -3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,
-    -3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,
-    -3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,-3251,
-    -3251,-3251,-3251,-3251,-3251
-    },
-
-    {
-       27,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,
-    -3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,
-    -3252,-3252,-3252,-3252,-3252,-3252,-3252, 3549,-3252,-3252,
-    -3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,
-    -3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,-3252,
-    -3252,-3252, 3549,-3252,-3252,-3252,-3252,-3252,-3252,-3252,
-
-    -3252,-3252,-3252,-3252,-3252
-    },
-
-    {
-       27,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,
-    -3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,
-    -3253,-3253,-3253,-3253,-3253,-3253,-3253, 3550,-3253,-3253,
-    -3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,
-    -3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,-3253,
-    -3253,-3253, 3550,-3253,-3253,-3253,-3253,-3253,-3253,-3253,
-    -3253,-3253,-3253,-3253,-3253
-    },
-
-    {
-       27,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,
-    -3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,
-
-    -3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254, 3551,-3254,
-    -3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,
-    -3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,-3254,
-    -3254,-3254,-3254, 3551,-3254,-3254,-3254,-3254,-3254,-3254,
-    -3254,-3254,-3254,-3254,-3254
-    },
-
-    {
-       27,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,
-    -3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,
-    -3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,
-    -3255, 3552,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,
-    -3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,-3255,
-
-    -3255,-3255,-3255,-3255,-3255,-3255, 3552,-3255,-3255,-3255,
-    -3255,-3255,-3255,-3255,-3255
-    },
-
-    {
-       27,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,
-    -3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,
-    -3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256, 3553,-3256,
-    -3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,
-    -3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,-3256,
-    -3256,-3256,-3256, 3553,-3256,-3256,-3256,-3256,-3256,-3256,
-    -3256,-3256,-3256,-3256,-3256
-    },
-
-    {
-       27,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,
-
-    -3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,
-    -3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,
-    -3257, 3554,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,
-    -3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,-3257,
-    -3257,-3257,-3257,-3257,-3257,-3257, 3554,-3257,-3257,-3257,
-    -3257,-3257,-3257,-3257,-3257
-    },
-
-    {
-       27,-3258, 3555, 3555,-3258,-3258,-3258,-3258,-3258,-3258,
-    -3258,-3258, 3556,-3258,-3258,-3258,-3258,-3258,-3258,-3258,
-    -3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,
-    -3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,
-
-    -3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,
-    -3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,-3258,
-    -3258,-3258,-3258,-3258,-3258
-    },
-
-    {
-       27,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,
-    -3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,
-    -3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,
-    -3259,-3259,-3259, 3557,-3259,-3259,-3259,-3259,-3259,-3259,
-    -3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259,
-    -3259,-3259,-3259,-3259,-3259,-3259,-3259,-3259, 3557,-3259,
-    -3259,-3259,-3259,-3259,-3259
-
-    },
-
-    {
-       27,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,
-    -3260,-3260,-3260, 3558,-3260,-3260,-3260,-3260,-3260,-3260,
-    -3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,
-    -3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,
-    -3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,
-    -3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,-3260,
-    -3260,-3260,-3260,-3260,-3260
-    },
-
-    {
-       27,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,
-    -3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261, 3559,-3261,
-    -3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,
-
-    -3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,
-    -3261,-3261,-3261,-3261, 3559,-3261,-3261,-3261,-3261,-3261,
-    -3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,-3261,
-    -3261,-3261,-3261,-3261,-3261
-    },
-
-    {
-       27,-3262, 3262, 3262,-3262,-3262,-3262,-3262,-3262,-3262,
-    -3262,-3262, 3263,-3262,-3262,-3262,-3262,-3262,-3262,-3262,
-    -3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,
-    -3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,
-    -3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,
-    -3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,-3262,
-
-    -3262,-3262,-3262,-3262,-3262
-    },
-
-    {
-       27,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,
-    -3263,-3263,-3263,-3263,-3263,-3263, 3560,-3263,-3263,-3263,
-    -3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,
-    -3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,
-    -3263,-3263, 3560,-3263,-3263,-3263,-3263,-3263,-3263,-3263,
-    -3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,-3263,
-    -3263,-3263,-3263,-3263,-3263
-    },
-
-    {
-       27,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,
-    -3264,-3264,-3264,-3264, 3561,-3264,-3264,-3264,-3264,-3264,
-
-    -3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,
-    -3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,
-     3561,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,
-    -3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,-3264,
-    -3264,-3264,-3264,-3264,-3264
-    },
-
-    {
-       27,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,
-    -3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,
-    -3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,
-    -3265,-3265,-3265, 3562,-3265,-3265,-3265,-3265,-3265,-3265,
-    -3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265,
-
-    -3265,-3265,-3265,-3265,-3265,-3265,-3265,-3265, 3562,-3265,
-    -3265,-3265,-3265,-3265,-3265
-    },
-
-    {
-       27,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,
-    -3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,
-    -3266,-3266,-3266,-3266,-3266,-3266,-3266, 3563,-3266,-3266,
-    -3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,
-    -3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,-3266,
-    -3266,-3266, 3563,-3266,-3266,-3266,-3266,-3266,-3266,-3266,
-    -3266,-3266,-3266,-3266,-3266
-    },
-
-    {
-       27,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,
-
-    -3267,-3267,-3267, 3564,-3267,-3267,-3267,-3267,-3267,-3267,
-    -3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,
-    -3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,
-    -3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,
-    -3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,-3267,
-    -3267,-3267,-3267,-3267,-3267
-    },
-
-    {
-       27,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,
-    -3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,
-    -3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,
-    -3268,-3268,-3268, 3565,-3268,-3268,-3268,-3268,-3268,-3268,
-
-    -3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268,
-    -3268,-3268,-3268,-3268,-3268,-3268,-3268,-3268, 3565,-3268,
-    -3268,-3268,-3268,-3268,-3268
-    },
-
-    {
-       27,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,
-    -3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,
-    -3269,-3269,-3269,-3269,-3269,-3269,-3269, 3566,-3269,-3269,
-    -3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,
-    -3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,-3269,
-    -3269,-3269, 3566,-3269,-3269,-3269,-3269,-3269,-3269,-3269,
-    -3269,-3269,-3269,-3269,-3269
-
-    },
-
-    {
-       27,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,
-    -3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,
-    -3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,
-    -3270, 3567,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,
-    -3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,-3270,
-    -3270,-3270,-3270,-3270,-3270,-3270, 3567,-3270,-3270,-3270,
-    -3270,-3270,-3270,-3270,-3270
-    },
-
-    {
-       27,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271, 1886,
-    -3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,
-    -3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,
-
-    -3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,
-    -3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,
-    -3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,-3271,
-    -3271,-3271,-3271,-3271,-3271
-    },
-
-    {
-       27,-3272, 3568, 3568,-3272,-3272,-3272,-3272,-3272,-3272,
-    -3272,-3272, 3569,-3272,-3272,-3272,-3272,-3272,-3272,-3272,
-    -3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,
-    -3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,
-    -3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,
-    -3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,-3272,
-
-    -3272,-3272,-3272,-3272,-3272
-    },
-
-    {
-       27,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,
-    -3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,
-    -3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,
-    -3273,-3273,-3273, 3570,-3273,-3273,-3273,-3273,-3273,-3273,
-    -3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273,
-    -3273,-3273,-3273,-3273,-3273,-3273,-3273,-3273, 3570,-3273,
-    -3273,-3273,-3273,-3273,-3273
-    },
-
-    {
-       27,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,
-    -3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,
-
-    -3274,-3274,-3274,-3274,-3274,-3274,-3274, 3571,-3274,-3274,
-    -3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,
-    -3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,-3274,
-    -3274,-3274, 3571,-3274,-3274,-3274,-3274,-3274,-3274,-3274,
-    -3274,-3274,-3274,-3274,-3274
-    },
-
-    {
-       27,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,
-    -3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,
-    -3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,
-    -3275,-3275,-3275, 3572,-3275,-3275,-3275,-3275,-3275,-3275,
-    -3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275,
-
-    -3275,-3275,-3275,-3275,-3275,-3275,-3275,-3275, 3572,-3275,
-    -3275,-3275,-3275,-3275,-3275
-    },
-
-    {
-       27,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,
-    -3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,
-    -3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,
-    -3276,-3276, 3573,-3276,-3276,-3276,-3276,-3276,-3276,-3276,
-    -3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,-3276,
-    -3276,-3276,-3276,-3276,-3276,-3276,-3276, 3573,-3276,-3276,
-    -3276,-3276,-3276,-3276,-3276
-    },
-
-    {
-       27,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,
-
-    -3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,
-    -3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,
-    -3277,-3277,-3277, 3574,-3277,-3277,-3277,-3277,-3277,-3277,
-    -3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277,
-    -3277,-3277,-3277,-3277,-3277,-3277,-3277,-3277, 3574,-3277,
-    -3277,-3277,-3277,-3277,-3277
-    },
-
-    {
-       27,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,
-    -3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,
-    -3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,
-    -3278,-3278,-3278, 3575,-3278,-3278,-3278,-3278,-3278,-3278,
-
-    -3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278,
-    -3278,-3278,-3278,-3278,-3278,-3278,-3278,-3278, 3575,-3278,
-    -3278,-3278,-3278,-3278,-3278
-    },
-
-    {
-       27,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,
-    -3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,
-    -3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,
-    -3279,-3279,-3279, 3576,-3279,-3279,-3279,-3279,-3279,-3279,
-    -3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279,
-    -3279,-3279,-3279,-3279,-3279,-3279,-3279,-3279, 3576,-3279,
-    -3279,-3279,-3279,-3279,-3279
-
-    },
-
-    {
-       27,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,
-    -3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280, 3577,-3280,
-    -3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,
-    -3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,
-    -3280,-3280,-3280,-3280, 3577,-3280,-3280,-3280,-3280,-3280,
-    -3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,-3280,
-    -3280,-3280,-3280,-3280,-3280
-    },
-
-    {
-       27,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,
-    -3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,
-    -3281,-3281,-3281,-3281,-3281,-3281, 3578,-3281,-3281,-3281,
-
-    -3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,
-    -3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,
-    -3281, 3578,-3281,-3281,-3281,-3281,-3281,-3281,-3281,-3281,
-    -3281,-3281,-3281,-3281,-3281
-    },
-
-    {
-       27,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,
-    -3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282, 3579,-3282,
-    -3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,
-    -3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,
-    -3282,-3282,-3282,-3282, 3579,-3282,-3282,-3282,-3282,-3282,
-    -3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,-3282,
-
-    -3282,-3282,-3282,-3282,-3282
-    },
-
-    {
-       27,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,
-    -3283,-3283,-3283,-3283, 3580,-3283,-3283,-3283,-3283,-3283,
-    -3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,
-    -3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,
-     3580,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,
-    -3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,-3283,
-    -3283,-3283,-3283,-3283,-3283
-    },
-
-    {
-       27,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,
-    -3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,
-
-    -3284,-3284,-3284,-3284,-3284,-3284,-3284, 3581,-3284,-3284,
-    -3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,
-    -3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,-3284,
-    -3284,-3284, 3581,-3284,-3284,-3284,-3284,-3284,-3284,-3284,
-    -3284,-3284,-3284,-3284,-3284
-    },
-
-    {
-       27,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,
-    -3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,
-    -3285,-3285,-3285,-3285,-3285,-3285,-3285, 3582,-3285,-3285,
-    -3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,
-    -3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,-3285,
-
-    -3285,-3285, 3582,-3285,-3285,-3285,-3285,-3285,-3285,-3285,
-    -3285,-3285,-3285,-3285,-3285
-    },
-
-    {
-       27,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286, 1903,
-    -3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,
-    -3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,
-    -3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,
-    -3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,
-    -3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,-3286,
-    -3286,-3286,-3286,-3286,-3286
-    },
-
-    {
-       27,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,
-
-    -3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,
-    -3287,-3287,-3287,-3287,-3287,-3287,-3287, 3583,-3287,-3287,
-    -3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,
-    -3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,-3287,
-    -3287,-3287, 3583,-3287,-3287,-3287,-3287,-3287,-3287,-3287,
-    -3287,-3287,-3287,-3287,-3287
-    },
-
-    {
-       27,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,
-    -3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,
-    -3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,
-    -3288, 3584,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,
-
-    -3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,-3288,
-    -3288,-3288,-3288,-3288,-3288,-3288, 3584,-3288,-3288,-3288,
-    -3288,-3288,-3288,-3288,-3288
-    },
-
-    {
-       27,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289, 1905,
-    -3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,
-    -3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,
-    -3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,
-    -3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,
-    -3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,-3289,
-    -3289,-3289,-3289,-3289,-3289
-
-    },
-
-    {
-       27,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,
-    -3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,
-    -3290,-3290,-3290,-3290,-3290,-3290,-3290, 3585,-3290,-3290,
-    -3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,
-    -3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,-3290,
-    -3290,-3290, 3585,-3290,-3290,-3290,-3290,-3290,-3290,-3290,
-    -3290,-3290,-3290,-3290,-3290
-    },
-
-    {
-       27,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,
-    -3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,
-    -3291,-3291,-3291,-3291,-3291,-3291,-3291, 3586,-3291,-3291,
-
-    -3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,
-    -3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,-3291,
-    -3291,-3291, 3586,-3291,-3291,-3291,-3291,-3291,-3291,-3291,
-    -3291,-3291,-3291,-3291,-3291
-    },
-
-    {
-       27,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,
-    -3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,
-    -3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292, 3587,-3292,
-    -3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,
-    -3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,-3292,
-    -3292,-3292,-3292, 3587,-3292,-3292,-3292,-3292,-3292,-3292,
-
-    -3292,-3292,-3292,-3292,-3292
-    },
-
-    {
-       27,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,
-    -3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,
-    -3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,
-    -3293, 3588,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,
-    -3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,-3293,
-    -3293,-3293,-3293,-3293,-3293,-3293, 3588,-3293,-3293,-3293,
-    -3293,-3293,-3293,-3293,-3293
-    },
-
-    {
-       27,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,
-    -3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,
-
-    -3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294, 3589,-3294,
-    -3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,
-    -3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,-3294,
-    -3294,-3294,-3294, 3589,-3294,-3294,-3294,-3294,-3294,-3294,
-    -3294,-3294,-3294,-3294,-3294
-    },
-
-    {
-       27,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,
-    -3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,
-    -3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,
-    -3295, 3590,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,
-    -3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,-3295,
-
-    -3295,-3295,-3295,-3295,-3295,-3295, 3590,-3295,-3295,-3295,
-    -3295,-3295,-3295,-3295,-3295
-    },
-
-    {
-       27,-3296, 3591, 3591,-3296,-3296,-3296,-3296,-3296,-3296,
-    -3296,-3296, 3592,-3296,-3296,-3296,-3296,-3296,-3296,-3296,
-    -3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,
-    -3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,
-    -3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,
-    -3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,-3296,
-    -3296,-3296,-3296,-3296,-3296
-    },
-
-    {
-       27,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,
-
-    -3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,
-    -3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,
-    -3297,-3297,-3297, 3593,-3297,-3297,-3297,-3297,-3297,-3297,
-    -3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297,
-    -3297,-3297,-3297,-3297,-3297,-3297,-3297,-3297, 3593,-3297,
-    -3297,-3297,-3297,-3297,-3297
-    },
-
-    {
-       27,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,
-    -3298,-3298,-3298, 3594,-3298,-3298,-3298,-3298,-3298,-3298,
-    -3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,
-    -3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,
-
-    -3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,
-    -3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,-3298,
-    -3298,-3298,-3298,-3298,-3298
-    },
-
-    {
-       27,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,
-    -3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299, 3595,-3299,
-    -3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,
-    -3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,
-    -3299,-3299,-3299,-3299, 3595,-3299,-3299,-3299,-3299,-3299,
-    -3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,-3299,
-    -3299,-3299,-3299,-3299,-3299
-
-    },
-
-    {
-       27,-3300, 3300, 3300,-3300,-3300,-3300,-3300,-3300,-3300,
-    -3300,-3300, 3301,-3300,-3300,-3300,-3300,-3300,-3300,-3300,
-    -3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,
-    -3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,
-    -3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,
-    -3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,-3300,
-    -3300,-3300,-3300,-3300,-3300
-    },
-
-    {
-       27,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,
-    -3301,-3301,-3301,-3301,-3301,-3301, 3596,-3301,-3301,-3301,
-    -3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,
-
-    -3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,
-    -3301,-3301, 3596,-3301,-3301,-3301,-3301,-3301,-3301,-3301,
-    -3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,-3301,
-    -3301,-3301,-3301,-3301,-3301
-    },
-
-    {
-       27,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,
-    -3302,-3302,-3302,-3302, 3597,-3302,-3302,-3302,-3302,-3302,
-    -3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,
-    -3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,
-     3597,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,
-    -3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,-3302,
-
-    -3302,-3302,-3302,-3302,-3302
-    },
-
-    {
-       27,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,
-    -3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,
-    -3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,
-    -3303,-3303,-3303, 3598,-3303,-3303,-3303,-3303,-3303,-3303,
-    -3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303,
-    -3303,-3303,-3303,-3303,-3303,-3303,-3303,-3303, 3598,-3303,
-    -3303,-3303,-3303,-3303,-3303
-    },
-
-    {
-       27,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,
-    -3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,
-
-    -3304,-3304,-3304,-3304,-3304,-3304,-3304, 3599,-3304,-3304,
-    -3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,
-    -3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,-3304,
-    -3304,-3304, 3599,-3304,-3304,-3304,-3304,-3304,-3304,-3304,
-    -3304,-3304,-3304,-3304,-3304
-    },
-
-    {
-       27,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,
-    -3305,-3305,-3305, 3600,-3305,-3305,-3305,-3305,-3305,-3305,
-    -3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,
-    -3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,
-    -3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,
-
-    -3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,-3305,
-    -3305,-3305,-3305,-3305,-3305
-    },
-
-    {
-       27,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,
-    -3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,
-    -3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,
-    -3306,-3306,-3306, 3601,-3306,-3306,-3306,-3306,-3306,-3306,
-    -3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306,
-    -3306,-3306,-3306,-3306,-3306,-3306,-3306,-3306, 3601,-3306,
-    -3306,-3306,-3306,-3306,-3306
-    },
-
-    {
-       27,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,
-
-    -3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,
-    -3307,-3307,-3307,-3307,-3307,-3307,-3307, 3602,-3307,-3307,
-    -3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,
-    -3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,-3307,
-    -3307,-3307, 3602,-3307,-3307,-3307,-3307,-3307,-3307,-3307,
-    -3307,-3307,-3307,-3307,-3307
-    },
-
-    {
-       27,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,
-    -3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,
-    -3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,
-    -3308, 3603,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,
-
-    -3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,-3308,
-    -3308,-3308,-3308,-3308,-3308,-3308, 3603,-3308,-3308,-3308,
-    -3308,-3308,-3308,-3308,-3308
-    },
-
-    {
-       27,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309, 1928,
-    -3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,
-    -3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,
-    -3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,
-    -3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,
-    -3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,-3309,
-    -3309,-3309,-3309,-3309,-3309
-
-    },
-
-    {
-       27,-3310, 3604, 3604,-3310,-3310,-3310,-3310,-3310,-3310,
-    -3310,-3310, 3605,-3310,-3310,-3310,-3310,-3310,-3310,-3310,
-    -3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,
-    -3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,
-    -3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,
-    -3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,-3310,
-    -3310,-3310,-3310,-3310,-3310
-    },
-
-    {
-       27,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,
-    -3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,
-    -3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,
-
-    -3311,-3311,-3311, 3606,-3311,-3311,-3311,-3311,-3311,-3311,
-    -3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311,
-    -3311,-3311,-3311,-3311,-3311,-3311,-3311,-3311, 3606,-3311,
-    -3311,-3311,-3311,-3311,-3311
-    },
-
-    {
-       27,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,
-    -3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,
-    -3312,-3312,-3312,-3312,-3312,-3312,-3312, 3607,-3312,-3312,
-    -3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,
-    -3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,-3312,
-    -3312,-3312, 3607,-3312,-3312,-3312,-3312,-3312,-3312,-3312,
-
-    -3312,-3312,-3312,-3312,-3312
-    },
-
-    {
-       27,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,
-    -3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,
-    -3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,
-    -3313,-3313,-3313, 3608,-3313,-3313,-3313,-3313,-3313,-3313,
-    -3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313,
-    -3313,-3313,-3313,-3313,-3313,-3313,-3313,-3313, 3608,-3313,
-    -3313,-3313,-3313,-3313,-3313
-    },
-
-    {
-       27,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,
-    -3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,
-
-    -3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,
-    -3314,-3314, 3609,-3314,-3314,-3314,-3314,-3314,-3314,-3314,
-    -3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,-3314,
-    -3314,-3314,-3314,-3314,-3314,-3314,-3314, 3609,-3314,-3314,
-    -3314,-3314,-3314,-3314,-3314
-    },
-
-    {
-       27,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,
-    -3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,
-    -3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,
-    -3315,-3315,-3315, 3610,-3315,-3315,-3315,-3315,-3315,-3315,
-    -3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315,
-
-    -3315,-3315,-3315,-3315,-3315,-3315,-3315,-3315, 3610,-3315,
-    -3315,-3315,-3315,-3315,-3315
-    },
-
-    {
-       27,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,
-    -3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,
-    -3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,
-    -3316,-3316,-3316, 3611,-3316,-3316,-3316,-3316,-3316,-3316,
-    -3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316,
-    -3316,-3316,-3316,-3316,-3316,-3316,-3316,-3316, 3611,-3316,
-    -3316,-3316,-3316,-3316,-3316
-    },
-
-    {
-       27,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,
-
-    -3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,
-    -3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,
-    -3317,-3317,-3317, 3612,-3317,-3317,-3317,-3317,-3317,-3317,
-    -3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317,
-    -3317,-3317,-3317,-3317,-3317,-3317,-3317,-3317, 3612,-3317,
-    -3317,-3317,-3317,-3317,-3317
-    },
-
-    {
-       27,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,
-    -3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318, 3613,-3318,
-    -3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,
-    -3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,
-
-    -3318,-3318,-3318,-3318, 3613,-3318,-3318,-3318,-3318,-3318,
-    -3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,-3318,
-    -3318,-3318,-3318,-3318,-3318
-    },
-
-    {
-       27,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,
-    -3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,
-    -3319,-3319,-3319,-3319,-3319,-3319, 3614,-3319,-3319,-3319,
-    -3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,
-    -3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,
-    -3319, 3614,-3319,-3319,-3319,-3319,-3319,-3319,-3319,-3319,
-    -3319,-3319,-3319,-3319,-3319
-
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366, 3615,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 3615,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 1944,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,
-    -3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,
-    -3322,-3322,-3322,-3322,-3322,-3322,-3322, 3616,-3322,-3322,
-    -3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,
-    -3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,-3322,
-    -3322,-3322, 3616,-3322,-3322,-3322,-3322,-3322,-3322,-3322,
-
-    -3322,-3322,-3322,-3322,-3322
-    },
-
-    {
-       27,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,
-    -3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,
-    -3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,
-    -3323,-3323,-3323, 3617,-3323,-3323,-3323,-3323,-3323,-3323,
-    -3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323,
-    -3323,-3323,-3323,-3323,-3323,-3323,-3323,-3323, 3617,-3323,
-    -3323,-3323,-3323,-3323,-3323
-    },
-
-    {
-       27,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,
-    -3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,
-
-    -3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,
-    -3324,-3324,-3324, 3618,-3324,-3324,-3324,-3324,-3324,-3324,
-    -3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324,
-    -3324,-3324,-3324,-3324,-3324,-3324,-3324,-3324, 3618,-3324,
-    -3324,-3324,-3324,-3324,-3324
-    },
-
-    {
-       27,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,
-    -3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,
-    -3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,
-    -3325,-3325,-3325, 3619,-3325,-3325,-3325,-3325,-3325,-3325,
-    -3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325,
-
-    -3325,-3325,-3325,-3325,-3325,-3325,-3325,-3325, 3619,-3325,
-    -3325,-3325,-3325,-3325,-3325
-    },
-
-    {
-       27,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,
-    -3326,-3326,-3326,-3326, 3620,-3326,-3326,-3326,-3326,-3326,
-    -3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,
-    -3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,
-     3620,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,
-    -3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,-3326,
-    -3326,-3326,-3326,-3326,-3326
-    },
-
-    {
-       27,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,
-
-    -3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,
-    -3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,
-    -3327,-3327,-3327, 3621,-3327,-3327,-3327,-3327,-3327,-3327,
-    -3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327,
-    -3327,-3327,-3327,-3327,-3327,-3327,-3327,-3327, 3621,-3327,
-    -3327,-3327,-3327,-3327,-3327
-    },
-
-    {
-       27,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,
-    -3328,-3328,-3328, 3622,-3328,-3328,-3328,-3328,-3328,-3328,
-    -3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,
-    -3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,
-
-    -3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,
-    -3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,-3328,
-    -3328,-3328,-3328,-3328,-3328
-    },
-
-    {
-       27,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,
-    -3329,-3329,-3329, 3623,-3329,-3329,-3329,-3329,-3329,-3329,
-    -3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,
-    -3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,
-    -3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,
-    -3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,-3329,
-    -3329,-3329,-3329,-3329,-3329
-
-    },
-
-    {
-       27,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,
-    -3330,-3330,-3330, 3624,-3330,-3330,-3330,-3330,-3330,-3330,
-    -3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,
-    -3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,
-    -3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,
-    -3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,-3330,
-    -3330,-3330,-3330,-3330,-3330
-    },
-
-    {
-       27,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,
-    -3331,-3331,-3331, 3625,-3331,-3331,-3331,-3331,-3331,-3331,
-    -3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,
-
-    -3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,
-    -3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,
-    -3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,-3331,
-    -3331,-3331,-3331,-3331,-3331
-    },
-
-    {
-       27,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,
-    -3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,
-    -3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,
-    -3332,-3332,-3332, 3626,-3332,-3332,-3332,-3332,-3332,-3332,
-    -3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332,
-    -3332,-3332,-3332,-3332,-3332,-3332,-3332,-3332, 3626,-3332,
-
-    -3332,-3332,-3332,-3332,-3332
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1957,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 1959,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,
-    -3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,
-    -3335,-3335,-3335,-3335,-3335,-3335,-3335, 3627,-3335,-3335,
-    -3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,
-    -3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,-3335,
-
-    -3335,-3335, 3627,-3335,-3335,-3335,-3335,-3335,-3335,-3335,
-    -3335,-3335,-3335,-3335,-3335
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1961,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,
-
-    -3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,
-    -3337,-3337,-3337,-3337,-3337,-3337,-3337, 3628,-3337,-3337,
-    -3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,
-    -3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,-3337,
-    -3337,-3337, 3628,-3337,-3337,-3337,-3337,-3337,-3337,-3337,
-    -3337,-3337,-3337,-3337,-3337
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 1963,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3339, 3339, 3339,-3339,-3339,-3339,-3339,-3339,-3339,
-    -3339,-3339, 3340,-3339,-3339,-3339,-3339,-3339,-3339,-3339,
-    -3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,
-    -3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,
-    -3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,
-    -3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,-3339,
-    -3339,-3339,-3339,-3339,-3339
-
-    },
-
-    {
-       27,-3340,-3340,-3340,-3340,-3340,-3340,-3340,-3340,-3340,
-    -3340,-3340,-3340,-3340,-3340,-3340, 3629,-3340,-3340,-3340,
-    -3340,-3340,-3340,-3340,-3340,-3340,-3340,-3340,-3340, 3630,
-    -3340,-3340,-3340,-3340,-3340,-3340,-3340,-3340,-3340,-3340,
-    -3340,-3340, 3629,-3340,-3340,-3340,-3340,-3340,-3340,-3340,
-    -3340,-3340,-3340,-3340, 3630,-3340,-3340,-3340,-3340,-3340,
-    -3340,-3340,-3340,-3340,-3340
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 3631,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3631,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,
-    -3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,
-    -3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,
-    -3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,
-    -3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,
-    -3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,-3342,
-
-    -3342,-3342,-3342,-3342,-3342
-    },
-
-    {
-       27,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,
-    -3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,
-    -3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,
-    -3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,
-    -3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,
-    -3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,-3343,
-    -3343,-3343,-3343,-3343,-3343
-    },
-
-    {
-       27,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,
-    -3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,
-
-    -3344,-3344,-3344,-3344,-3344,-3344,-3344, 3632,-3344,-3344,
-    -3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,
-    -3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,-3344,
-    -3344,-3344, 3632,-3344,-3344,-3344,-3344,-3344,-3344,-3344,
-    -3344,-3344,-3344,-3344,-3344
-    },
-
-    {
-       27,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,
-    -3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,
-    -3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345, 3633,-3345,
-    -3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,
-    -3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,-3345,
-
-    -3345,-3345,-3345, 3633,-3345,-3345,-3345,-3345,-3345,-3345,
-    -3345,-3345,-3345,-3345,-3345
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3634,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3634,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,
-
-    -3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347, 3635,-3347,
-    -3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,
-    -3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,
-    -3347,-3347,-3347,-3347, 3635,-3347,-3347,-3347,-3347,-3347,
-    -3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,-3347,
-    -3347,-3347,-3347,-3347,-3347
-    },
-
-    {
-       27,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,
-    -3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,
-    -3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,
-    -3348,-3348,-3348, 3636,-3348,-3348,-3348,-3348,-3348,-3348,
-
-    -3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348,
-    -3348,-3348,-3348,-3348,-3348,-3348,-3348,-3348, 3636,-3348,
-    -3348,-3348,-3348,-3348,-3348
-    },
-
-    {
-       27,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,
-    -3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,
-    -3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,
-    -3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,
-    -3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,
-    -3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,-3349,
-    -3349,-3349,-3349,-3349,-3349
-
-    },
-
-    {
-       27,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,
-    -3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,
-    -3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,
-    -3350,-3350, 3637,-3350,-3350,-3350,-3350,-3350,-3350,-3350,
-    -3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,-3350,
-    -3350,-3350,-3350,-3350,-3350,-3350,-3350, 3637,-3350,-3350,
-    -3350,-3350,-3350,-3350,-3350
-    },
-
-    {
-       27,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,
-    -3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,
-    -3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,
-
-    -3351,-3351,-3351, 3638,-3351,-3351,-3351,-3351,-3351,-3351,
-    -3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351,
-    -3351,-3351,-3351,-3351,-3351,-3351,-3351,-3351, 3638,-3351,
-    -3351,-3351,-3351,-3351,-3351
-    },
-
-    {
-       27,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,
-    -3352,-3352,-3352,-3352, 3639,-3352,-3352,-3352,-3352,-3352,
-    -3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,
-    -3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,
-     3639,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,
-    -3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,-3352,
-
-    -3352,-3352,-3352,-3352,-3352
-    },
-
-    {
-       27,-3353, 3353, 3353,-3353,-3353,-3353,-3353,-3353,-3353,
-    -3353,-3353, 3354,-3353,-3353,-3353,-3353,-3353,-3353,-3353,
-    -3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,
-    -3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,
-    -3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,
-    -3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,-3353,
-    -3353,-3353,-3353,-3353,-3353
-    },
-
-    {
-       27,-3354,-3354,-3354,-3354,-3354,-3354,-3354,-3354,-3354,
-    -3354,-3354,-3354,-3354,-3354,-3354, 3640,-3354,-3354,-3354,
-
-    -3354,-3354,-3354,-3354,-3354,-3354,-3354,-3354,-3354, 3641,
-    -3354,-3354,-3354,-3354,-3354,-3354,-3354,-3354,-3354,-3354,
-    -3354,-3354, 3640,-3354,-3354,-3354,-3354,-3354,-3354,-3354,
-    -3354,-3354,-3354,-3354, 3641,-3354,-3354,-3354,-3354,-3354,
-    -3354,-3354,-3354,-3354,-3354
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 3642,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     3642,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 3643,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 3644,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184, 3645,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 3645,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184, 3646,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 3647,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184, 3646,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 3647,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,
-    -3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359, 3648,-3359,
-    -3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,
-    -3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,
-    -3359,-3359,-3359,-3359, 3648,-3359,-3359,-3359,-3359,-3359,
-    -3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,-3359,
-    -3359,-3359,-3359,-3359,-3359
-
-    },
-
-    {
-       27,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,
-    -3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360, 3649,-3360,
-    -3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,
-    -3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,
-    -3360,-3360,-3360,-3360, 3649,-3360,-3360,-3360,-3360,-3360,
-    -3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,-3360,
-    -3360,-3360,-3360,-3360,-3360
-    },
-
-    {
-       27,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,
-    -3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361, 3650,-3361,
-    -3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,
-
-    -3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,
-    -3361,-3361,-3361,-3361, 3650,-3361,-3361,-3361,-3361,-3361,
-    -3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,-3361,
-    -3361,-3361,-3361,-3361,-3361
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184, 3651,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 3651,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,
-    -3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,
-    -3363,-3363,-3363,-3363,-3363,-3363,-3363, 3652,-3363,-3363,
-    -3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,
-    -3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,-3363,
-    -3363,-3363, 3652,-3363,-3363,-3363,-3363,-3363,-3363,-3363,
-    -3363,-3363,-3363,-3363,-3363
-    },
-
-    {
-       27,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,
-    -3364,-3364,-3364, 3653,-3364,-3364,-3364,-3364,-3364,-3364,
-
-    -3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,
-    -3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,
-    -3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,
-    -3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,-3364,
-    -3364,-3364,-3364,-3364,-3364
-    },
-
-    {
-       27,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,
-    -3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,
-    -3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365, 3654,-3365,
-    -3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,
-    -3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,-3365,
-
-    -3365,-3365,-3365, 3654,-3365,-3365,-3365,-3365,-3365,-3365,
-    -3365,-3365,-3365,-3365,-3365
-    },
-
-    {
-       27,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,
-    -3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,
-    -3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,
-    -3366,-3366,-3366, 3655,-3366,-3366,-3366,-3366,-3366,-3366,
-    -3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366,
-    -3366,-3366,-3366,-3366,-3366,-3366,-3366,-3366, 3655,-3366,
-    -3366,-3366,-3366,-3366,-3366
-    },
-
-    {
-       27,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,
-
-    -3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,
-    -3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,
-    -3367,-3367,-3367, 3656,-3367,-3367,-3367,-3367,-3367,-3367,
-    -3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367,
-    -3367,-3367,-3367,-3367,-3367,-3367,-3367,-3367, 3656,-3367,
-    -3367,-3367,-3367,-3367,-3367
-    },
-
-    {
-       27,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,
-    -3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,
-    -3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,
-    -3368,-3368,-3368, 3657,-3368,-3368,-3368,-3368,-3368,-3368,
-
-    -3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368,
-    -3368,-3368,-3368,-3368,-3368,-3368,-3368,-3368, 3657,-3368,
-    -3368,-3368,-3368,-3368,-3368
-    },
-
-    {
-       27,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,
-    -3369,-3369,-3369,-3369, 3658,-3369,-3369,-3369,-3369,-3369,
-    -3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,
-    -3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,
-     3658,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,
-    -3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,-3369,
-    -3369,-3369,-3369,-3369,-3369
-
-    },
-
-    {
-       27,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,
-    -3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,
-    -3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,
-    -3370,-3370,-3370, 3659,-3370,-3370,-3370,-3370,-3370,-3370,
-    -3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370,
-    -3370,-3370,-3370,-3370,-3370,-3370,-3370,-3370, 3659,-3370,
-    -3370,-3370,-3370,-3370,-3370
-    },
-
-    {
-       27,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,
-    -3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,
-    -3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,
-
-    -3371,-3371,-3371, 3660,-3371,-3371,-3371,-3371,-3371,-3371,
-    -3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371,
-    -3371,-3371,-3371,-3371,-3371,-3371,-3371,-3371, 3660,-3371,
-    -3371,-3371,-3371,-3371,-3371
-    },
-
-    {
-       27,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,
-    -3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,
-    -3372,-3372,-3372,-3372,-3372,-3372,-3372, 3661,-3372,-3372,
-    -3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,
-    -3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,-3372,
-    -3372,-3372, 3661,-3372,-3372,-3372,-3372,-3372,-3372,-3372,
-
-    -3372,-3372,-3372,-3372,-3372
-    },
-
-    {
-       27,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373, 2011,
-    -3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,
-    -3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,
-    -3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,
-    -3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,
-    -3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,-3373,
-    -3373,-3373,-3373,-3373,-3373
-    },
-
-    {
-       27,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,
-    -3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,
-
-    -3374,-3374,-3374,-3374,-3374,-3374,-3374, 3662,-3374,-3374,
-    -3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,
-    -3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,-3374,
-    -3374,-3374, 3662,-3374,-3374,-3374,-3374,-3374,-3374,-3374,
-    -3374,-3374,-3374,-3374,-3374
-    },
-
-    {
-       27,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375, 2013,
-    -3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,
-    -3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,
-    -3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,
-    -3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,
-
-    -3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,-3375,
-    -3375,-3375,-3375,-3375,-3375
-    },
-
-    {
-       27,-3376, 3376, 3376,-3376,-3376,-3376,-3376,-3376,-3376,
-    -3376,-3376, 3377,-3376,-3376,-3376,-3376,-3376,-3376,-3376,
-    -3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,
-    -3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,
-    -3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,
-    -3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,-3376,
-    -3376,-3376,-3376,-3376,-3376
-    },
-
-    {
-       27,-3377,-3377,-3377,-3377,-3377,-3377,-3377,-3377,-3377,
-
-    -3377,-3377,-3377,-3377,-3377,-3377, 3663,-3377,-3377,-3377,
-    -3377,-3377,-3377,-3377,-3377,-3377,-3377,-3377,-3377, 3664,
-    -3377,-3377,-3377,-3377,-3377,-3377,-3377,-3377,-3377,-3377,
-    -3377,-3377, 3663,-3377,-3377,-3377,-3377,-3377,-3377,-3377,
-    -3377,-3377,-3377,-3377, 3664,-3377,-3377,-3377,-3377,-3377,
-    -3377,-3377,-3377,-3377,-3377
-    },
-
-    {
-       27,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,
-    -3378,-3378,-3378,-3378, 3665,-3378,-3378,-3378,-3378,-3378,
-    -3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,
-    -3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,
-
-     3665,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,
-    -3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,-3378,
-    -3378,-3378,-3378,-3378,-3378
-    },
-
-    {
-       27,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,
-    -3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,
-    -3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,
-    -3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,
-    -3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,
-    -3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,-3379,
-    -3379,-3379,-3379,-3379,-3379
-
-    },
-
-    {
-       27,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,
-    -3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,
-    -3380,-3380,-3380,-3380,-3380,-3380,-3380, 3666,-3380,-3380,
-    -3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,
-    -3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,-3380,
-    -3380,-3380, 3666,-3380,-3380,-3380,-3380,-3380,-3380,-3380,
-    -3380,-3380,-3380,-3380,-3380
-    },
-
-    {
-       27,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,
-    -3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,
-    -3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381, 3667,-3381,
-
-    -3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,
-    -3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,-3381,
-    -3381,-3381,-3381, 3667,-3381,-3381,-3381,-3381,-3381,-3381,
-    -3381,-3381,-3381,-3381,-3381
-    },
-
-    {
-       27,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,
-    -3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,
-    -3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,
-    -3382, 3668,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,
-    -3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,-3382,
-    -3382,-3382,-3382,-3382,-3382,-3382, 3668,-3382,-3382,-3382,
-
-    -3382,-3382,-3382,-3382,-3382
-    },
-
-    {
-       27,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,
-    -3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383, 3669,-3383,
-    -3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,
-    -3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,
-    -3383,-3383,-3383,-3383, 3669,-3383,-3383,-3383,-3383,-3383,
-    -3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,-3383,
-    -3383,-3383,-3383,-3383,-3383
-    },
-
-    {
-       27,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,
-    -3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,
-
-    -3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,
-    -3384,-3384,-3384, 3670,-3384,-3384,-3384,-3384,-3384,-3384,
-    -3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384,
-    -3384,-3384,-3384,-3384,-3384,-3384,-3384,-3384, 3670,-3384,
-    -3384,-3384,-3384,-3384,-3384
-    },
-
-    {
-       27,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,
-    -3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,
-    -3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,
-    -3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,
-    -3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,
-
-    -3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,-3385,
-    -3385,-3385,-3385,-3385,-3385
-    },
-
-    {
-       27,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,
-    -3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,
-    -3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,
-    -3386,-3386, 3671,-3386,-3386,-3386,-3386,-3386,-3386,-3386,
-    -3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,-3386,
-    -3386,-3386,-3386,-3386,-3386,-3386,-3386, 3671,-3386,-3386,
-    -3386,-3386,-3386,-3386,-3386
-    },
-
-    {
-       27,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,
-
-    -3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,
-    -3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,
-    -3387,-3387,-3387, 3672,-3387,-3387,-3387,-3387,-3387,-3387,
-    -3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387,
-    -3387,-3387,-3387,-3387,-3387,-3387,-3387,-3387, 3672,-3387,
-    -3387,-3387,-3387,-3387,-3387
-    },
-
-    {
-       27,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,
-    -3388,-3388,-3388,-3388, 3673,-3388,-3388,-3388,-3388,-3388,
-    -3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,
-    -3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,
-
-     3673,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,
-    -3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,-3388,
-    -3388,-3388,-3388,-3388,-3388
-    },
-
-    {
-       27,-3389, 3389, 3389,-3389,-3389,-3389,-3389,-3389,-3389,
-    -3389,-3389, 3390,-3389,-3389,-3389,-3389,-3389,-3389,-3389,
-    -3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,
-    -3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,
-    -3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,
-    -3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,-3389,
-    -3389,-3389,-3389,-3389,-3389
-
-    },
-
-    {
-       27,-3390,-3390,-3390,-3390,-3390,-3390,-3390,-3390,-3390,
-    -3390,-3390,-3390,-3390,-3390,-3390, 3674,-3390,-3390,-3390,
-    -3390,-3390,-3390,-3390,-3390,-3390,-3390,-3390,-3390, 3675,
-    -3390,-3390,-3390,-3390,-3390,-3390,-3390,-3390,-3390,-3390,
-    -3390,-3390, 3674,-3390,-3390,-3390,-3390,-3390,-3390,-3390,
-    -3390,-3390,-3390,-3390, 3675,-3390,-3390,-3390,-3390,-3390,
-    -3390,-3390,-3390,-3390,-3390
-    },
-
-    {
-       27,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,
-    -3391,-3391,-3391,-3391, 3676,-3391,-3391,-3391,-3391,-3391,
-    -3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,
-
-    -3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,
-     3676,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,
-    -3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,-3391,
-    -3391,-3391,-3391,-3391,-3391
-    },
-
-    {
-       27,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392, 3677,
-    -3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,
-    -3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,
-    -3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392, 3678,
-    -3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,
-    -3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,-3392,
-
-    -3392,-3392,-3392,-3392,-3392
-    },
-
-    {
-       27,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,
-    -3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,
-    -3393,-3393, 3679,-3393,-3393,-3393,-3393,-3393,-3393,-3393,
-    -3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,
-    -3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393, 3679,-3393,
-    -3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,-3393,
-    -3393,-3393,-3393,-3393,-3393
-    },
-
-    {
-       27,-3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394,
-    -3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394, 3680,-3394,
-
-    -3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394,
-    -3394,-3394,-3394,-3394, 3681,-3394,-3394,-3394,-3394,-3394,
-    -3394,-3394,-3394,-3394, 3680,-3394,-3394,-3394,-3394,-3394,
-    -3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394,-3394, 3681,
-    -3394,-3394,-3394,-3394,-3394
-    },
-
-    {
-       27,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,
-    -3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395, 3682,-3395,
-    -3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,
-    -3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,
-    -3395,-3395,-3395,-3395, 3682,-3395,-3395,-3395,-3395,-3395,
-
-    -3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,-3395,
-    -3395,-3395,-3395,-3395,-3395
-    },
-
-    {
-       27,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,
-    -3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396, 3683,-3396,
-    -3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,
-    -3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,
-    -3396,-3396,-3396,-3396, 3683,-3396,-3396,-3396,-3396,-3396,
-    -3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,-3396,
-    -3396,-3396,-3396,-3396,-3396
-    },
-
-    {
-       27,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,
-
-    -3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397, 3684,-3397,
-    -3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,
-    -3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,
-    -3397,-3397,-3397,-3397, 3684,-3397,-3397,-3397,-3397,-3397,
-    -3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,-3397,
-    -3397,-3397,-3397,-3397,-3397
-    },
-
-    {
-       27,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,
-    -3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,
-    -3398,-3398,-3398,-3398,-3398,-3398,-3398, 3685,-3398,-3398,
-    -3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,
-
-    -3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,-3398,
-    -3398,-3398, 3685,-3398,-3398,-3398,-3398,-3398,-3398,-3398,
-    -3398,-3398,-3398,-3398,-3398
-    },
-
-    {
-       27,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,
-    -3399,-3399,-3399, 3686,-3399,-3399,-3399,-3399,-3399,-3399,
-    -3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,
-    -3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,
-    -3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,
-    -3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,-3399,
-    -3399,-3399,-3399,-3399,-3399
-
-    },
-
-    {
-       27,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,
-    -3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,
-    -3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400, 3687,-3400,
-    -3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,
-    -3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,-3400,
-    -3400,-3400,-3400, 3687,-3400,-3400,-3400,-3400,-3400,-3400,
-    -3400,-3400,-3400,-3400,-3400
-    },
-
-    {
-       27,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,
-    -3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,
-    -3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,
-
-    -3401,-3401,-3401, 3688,-3401,-3401,-3401,-3401,-3401,-3401,
-    -3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401,
-    -3401,-3401,-3401,-3401,-3401,-3401,-3401,-3401, 3688,-3401,
-    -3401,-3401,-3401,-3401,-3401
-    },
-
-    {
-       27,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,
-    -3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,
-    -3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,
-    -3402,-3402,-3402, 3689,-3402,-3402,-3402,-3402,-3402,-3402,
-    -3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402,
-    -3402,-3402,-3402,-3402,-3402,-3402,-3402,-3402, 3689,-3402,
-
-    -3402,-3402,-3402,-3402,-3402
-    },
-
-    {
-       27,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,
-    -3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,
-    -3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,
-    -3403,-3403,-3403, 3690,-3403,-3403,-3403,-3403,-3403,-3403,
-    -3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403,
-    -3403,-3403,-3403,-3403,-3403,-3403,-3403,-3403, 3690,-3403,
-    -3403,-3403,-3403,-3403,-3403
-    },
-
-    {
-       27,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,
-    -3404,-3404,-3404,-3404, 3691,-3404,-3404,-3404,-3404,-3404,
-
-    -3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,
-    -3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,
-     3691,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,
-    -3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,-3404,
-    -3404,-3404,-3404,-3404,-3404
-    },
-
-    {
-       27,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,
-    -3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,
-    -3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,
-    -3405,-3405,-3405, 3692,-3405,-3405,-3405,-3405,-3405,-3405,
-    -3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405,
-
-    -3405,-3405,-3405,-3405,-3405,-3405,-3405,-3405, 3692,-3405,
-    -3405,-3405,-3405,-3405,-3405
-    },
-
-    {
-       27,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,
-    -3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,
-    -3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,
-    -3406,-3406,-3406, 3693,-3406,-3406,-3406,-3406,-3406,-3406,
-    -3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406,
-    -3406,-3406,-3406,-3406,-3406,-3406,-3406,-3406, 3693,-3406,
-    -3406,-3406,-3406,-3406,-3406
-    },
-
-    {
-       27,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,
-
-    -3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,
-    -3407,-3407,-3407,-3407,-3407,-3407,-3407, 3694,-3407,-3407,
-    -3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,
-    -3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,-3407,
-    -3407,-3407, 3694,-3407,-3407,-3407,-3407,-3407,-3407,-3407,
-    -3407,-3407,-3407,-3407,-3407
-    },
-
-    {
-       27,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408, 2055,
-    -3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,
-    -3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,
-    -3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,
-
-    -3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,
-    -3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,-3408,
-    -3408,-3408,-3408,-3408,-3408
-    },
-
-    {
-       27,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,
-    -3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,
-    -3409,-3409,-3409,-3409,-3409,-3409,-3409, 3695,-3409,-3409,
-    -3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,
-    -3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,-3409,
-    -3409,-3409, 3695,-3409,-3409,-3409,-3409,-3409,-3409,-3409,
-    -3409,-3409,-3409,-3409,-3409
-
-    },
-
-    {
-       27,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410, 2057,
-    -3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,
-    -3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,
-    -3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,
-    -3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,
-    -3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,-3410,
-    -3410,-3410,-3410,-3410,-3410
-    },
-
-    {
-       27,-3411, 3411, 3411,-3411,-3411,-3411,-3411,-3411,-3411,
-    -3411,-3411, 3412,-3411,-3411,-3411,-3411,-3411,-3411,-3411,
-    -3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,
-
-    -3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,
-    -3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,
-    -3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,-3411,
-    -3411,-3411,-3411,-3411,-3411
-    },
-
-    {
-       27,-3412,-3412,-3412,-3412,-3412,-3412,-3412,-3412,-3412,
-    -3412,-3412,-3412,-3412,-3412,-3412, 3696,-3412,-3412,-3412,
-    -3412,-3412,-3412,-3412,-3412,-3412,-3412,-3412,-3412, 3697,
-    -3412,-3412,-3412,-3412,-3412,-3412,-3412,-3412,-3412,-3412,
-    -3412,-3412, 3696,-3412,-3412,-3412,-3412,-3412,-3412,-3412,
-    -3412,-3412,-3412,-3412, 3697,-3412,-3412,-3412,-3412,-3412,
-
-    -3412,-3412,-3412,-3412,-3412
-    },
-
-    {
-       27,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,
-    -3413,-3413,-3413,-3413, 3698,-3413,-3413,-3413,-3413,-3413,
-    -3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,
-    -3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,
-     3698,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,
-    -3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,-3413,
-    -3413,-3413,-3413,-3413,-3413
-    },
-
-    {
-       27,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,
-    -3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,
-
-    -3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,
-    -3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,
-    -3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,
-    -3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,-3414,
-    -3414,-3414,-3414,-3414,-3414
-    },
-
-    {
-       27,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,
-    -3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,
-    -3415,-3415,-3415,-3415,-3415,-3415,-3415, 3699,-3415,-3415,
-    -3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,
-    -3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,-3415,
-
-    -3415,-3415, 3699,-3415,-3415,-3415,-3415,-3415,-3415,-3415,
-    -3415,-3415,-3415,-3415,-3415
-    },
-
-    {
-       27,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,
-    -3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,
-    -3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416, 3700,-3416,
-    -3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,
-    -3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,-3416,
-    -3416,-3416,-3416, 3700,-3416,-3416,-3416,-3416,-3416,-3416,
-    -3416,-3416,-3416,-3416,-3416
-    },
-
-    {
-       27,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,
-
-    -3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,
-    -3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,
-    -3417, 3701,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,
-    -3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,-3417,
-    -3417,-3417,-3417,-3417,-3417,-3417, 3701,-3417,-3417,-3417,
-    -3417,-3417,-3417,-3417,-3417
-    },
-
-    {
-       27,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,
-    -3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418, 3702,-3418,
-    -3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,
-    -3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,
-
-    -3418,-3418,-3418,-3418, 3702,-3418,-3418,-3418,-3418,-3418,
-    -3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,-3418,
-    -3418,-3418,-3418,-3418,-3418
-    },
-
-    {
-       27,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,
-    -3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,
-    -3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,
-    -3419,-3419,-3419, 3703,-3419,-3419,-3419,-3419,-3419,-3419,
-    -3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419,
-    -3419,-3419,-3419,-3419,-3419,-3419,-3419,-3419, 3703,-3419,
-    -3419,-3419,-3419,-3419,-3419
-
-    },
-
-    {
-       27,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,
-    -3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,
-    -3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,
-    -3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,
-    -3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,
-    -3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,-3420,
-    -3420,-3420,-3420,-3420,-3420
-    },
-
-    {
-       27,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,
-    -3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,
-    -3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,
-
-    -3421,-3421, 3704,-3421,-3421,-3421,-3421,-3421,-3421,-3421,
-    -3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,-3421,
-    -3421,-3421,-3421,-3421,-3421,-3421,-3421, 3704,-3421,-3421,
-    -3421,-3421,-3421,-3421,-3421
-    },
-
-    {
-       27,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,
-    -3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,
-    -3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,
-    -3422,-3422,-3422, 3705,-3422,-3422,-3422,-3422,-3422,-3422,
-    -3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422,
-    -3422,-3422,-3422,-3422,-3422,-3422,-3422,-3422, 3705,-3422,
-
-    -3422,-3422,-3422,-3422,-3422
-    },
-
-    {
-       27,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,
-    -3423,-3423,-3423,-3423, 3706,-3423,-3423,-3423,-3423,-3423,
-    -3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,
-    -3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,
-     3706,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,
-    -3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,-3423,
-    -3423,-3423,-3423,-3423,-3423
-    },
-
-    {
-       27,-3424, 3424, 3424,-3424,-3424,-3424,-3424,-3424,-3424,
-    -3424,-3424, 3425,-3424,-3424,-3424,-3424,-3424,-3424,-3424,
-
-    -3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,
-    -3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,
-    -3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,
-    -3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,-3424,
-    -3424,-3424,-3424,-3424,-3424
-    },
-
-    {
-       27,-3425,-3425,-3425,-3425,-3425,-3425,-3425,-3425,-3425,
-    -3425,-3425,-3425,-3425,-3425,-3425, 3707,-3425,-3425,-3425,
-    -3425,-3425,-3425,-3425,-3425,-3425,-3425,-3425,-3425, 3708,
-    -3425,-3425,-3425,-3425,-3425,-3425,-3425,-3425,-3425,-3425,
-    -3425,-3425, 3707,-3425,-3425,-3425,-3425,-3425,-3425,-3425,
-
-    -3425,-3425,-3425,-3425, 3708,-3425,-3425,-3425,-3425,-3425,
-    -3425,-3425,-3425,-3425,-3425
-    },
-
-    {
-       27,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,
-    -3426,-3426,-3426,-3426, 3709,-3426,-3426,-3426,-3426,-3426,
-    -3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,
-    -3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,
-     3709,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,
-    -3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,-3426,
-    -3426,-3426,-3426,-3426,-3426
-    },
-
-    {
-       27,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427, 3710,
-
-    -3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,
-    -3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,
-    -3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427, 3711,
-    -3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,
-    -3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,-3427,
-    -3427,-3427,-3427,-3427,-3427
-    },
-
-    {
-       27,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,
-    -3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,
-    -3428,-3428, 3712,-3428,-3428,-3428,-3428,-3428,-3428,-3428,
-    -3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,
-
-    -3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428, 3712,-3428,
-    -3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,-3428,
-    -3428,-3428,-3428,-3428,-3428
-    },
-
-    {
-       27,-3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429,
-    -3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429, 3713,-3429,
-    -3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429,
-    -3429,-3429,-3429,-3429, 3714,-3429,-3429,-3429,-3429,-3429,
-    -3429,-3429,-3429,-3429, 3713,-3429,-3429,-3429,-3429,-3429,
-    -3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429,-3429, 3714,
-    -3429,-3429,-3429,-3429,-3429
-
-    },
-
-    {
-       27,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,
-    -3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430, 3715,-3430,
-    -3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,
-    -3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,
-    -3430,-3430,-3430,-3430, 3715,-3430,-3430,-3430,-3430,-3430,
-    -3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,-3430,
-    -3430,-3430,-3430,-3430,-3430
-    },
-
-    {
-       27,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,
-    -3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431, 3716,-3431,
-    -3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,
-
-    -3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,
-    -3431,-3431,-3431,-3431, 3716,-3431,-3431,-3431,-3431,-3431,
-    -3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,-3431,
-    -3431,-3431,-3431,-3431,-3431
-    },
-
-    {
-       27,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,
-    -3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432, 3717,-3432,
-    -3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,
-    -3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,
-    -3432,-3432,-3432,-3432, 3717,-3432,-3432,-3432,-3432,-3432,
-    -3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,-3432,
-
-    -3432,-3432,-3432,-3432,-3432
-    },
-
-    {
-       27,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,
-    -3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,
-    -3433,-3433,-3433,-3433,-3433,-3433,-3433, 3718,-3433,-3433,
-    -3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,
-    -3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,-3433,
-    -3433,-3433, 3718,-3433,-3433,-3433,-3433,-3433,-3433,-3433,
-    -3433,-3433,-3433,-3433,-3433
-    },
-
-    {
-       27,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,
-    -3434,-3434,-3434, 3719,-3434,-3434,-3434,-3434,-3434,-3434,
-
-    -3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,
-    -3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,
-    -3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,
-    -3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,-3434,
-    -3434,-3434,-3434,-3434,-3434
-    },
-
-    {
-       27,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,
-    -3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,
-    -3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435, 3720,-3435,
-    -3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,
-    -3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,-3435,
-
-    -3435,-3435,-3435, 3720,-3435,-3435,-3435,-3435,-3435,-3435,
-    -3435,-3435,-3435,-3435,-3435
-    },
-
-    {
-       27,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,
-    -3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,
-    -3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,
-    -3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,
-    -3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,
-    -3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,-3436,
-    -3436,-3436,-3436,-3436,-3436
-    },
-
-    {
-       27,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,
-
-    -3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,
-    -3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,
-    -3437,-3437,-3437, 3721,-3437,-3437,-3437,-3437,-3437,-3437,
-    -3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437,
-    -3437,-3437,-3437,-3437,-3437,-3437,-3437,-3437, 3721,-3437,
-    -3437,-3437,-3437,-3437,-3437
-    },
-
-    {
-       27,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,
-    -3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,
-    -3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,
-    -3438,-3438,-3438, 3722,-3438,-3438,-3438,-3438,-3438,-3438,
-
-    -3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438,
-    -3438,-3438,-3438,-3438,-3438,-3438,-3438,-3438, 3722,-3438,
-    -3438,-3438,-3438,-3438,-3438
-    },
-
-    {
-       27,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,
-    -3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,
-    -3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,
-    -3439,-3439,-3439, 3723,-3439,-3439,-3439,-3439,-3439,-3439,
-    -3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439,
-    -3439,-3439,-3439,-3439,-3439,-3439,-3439,-3439, 3723,-3439,
-    -3439,-3439,-3439,-3439,-3439
-
-    },
-
-    {
-       27,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,
-    -3440,-3440,-3440,-3440, 3724,-3440,-3440,-3440,-3440,-3440,
-    -3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,
-    -3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,
-     3724,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,
-    -3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,-3440,
-    -3440,-3440,-3440,-3440,-3440
-    },
-
-    {
-       27,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,
-    -3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,
-    -3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,
-
-    -3441,-3441,-3441, 3725,-3441,-3441,-3441,-3441,-3441,-3441,
-    -3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441,
-    -3441,-3441,-3441,-3441,-3441,-3441,-3441,-3441, 3725,-3441,
-    -3441,-3441,-3441,-3441,-3441
-    },
-
-    {
-       27,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,
-    -3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,
-    -3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,
-    -3442,-3442,-3442, 3726,-3442,-3442,-3442,-3442,-3442,-3442,
-    -3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442,
-    -3442,-3442,-3442,-3442,-3442,-3442,-3442,-3442, 3726,-3442,
-
-    -3442,-3442,-3442,-3442,-3442
-    },
-
-    {
-       27,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,
-    -3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,
-    -3443,-3443,-3443,-3443,-3443,-3443,-3443, 3727,-3443,-3443,
-    -3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,
-    -3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,-3443,
-    -3443,-3443, 3727,-3443,-3443,-3443,-3443,-3443,-3443,-3443,
-    -3443,-3443,-3443,-3443,-3443
-    },
-
-    {
-       27,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444, 2100,
-    -3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,
-
-    -3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,
-    -3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,
-    -3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,
-    -3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,-3444,
-    -3444,-3444,-3444,-3444,-3444
-    },
-
-    {
-       27,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,
-    -3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,
-    -3445,-3445,-3445,-3445,-3445,-3445,-3445, 3728,-3445,-3445,
-    -3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,
-    -3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,-3445,
-
-    -3445,-3445, 3728,-3445,-3445,-3445,-3445,-3445,-3445,-3445,
-    -3445,-3445,-3445,-3445,-3445
-    },
-
-    {
-       27,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446, 2102,
-    -3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,
-    -3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,
-    -3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,
-    -3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,
-    -3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,-3446,
-    -3446,-3446,-3446,-3446,-3446
-    },
-
-    {
-       27,-3447, 3447, 3447,-3447,-3447,-3447,-3447,-3447,-3447,
-
-    -3447,-3447, 3448,-3447,-3447,-3447,-3447,-3447,-3447,-3447,
-    -3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,
-    -3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,
-    -3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,
-    -3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,-3447,
-    -3447,-3447,-3447,-3447,-3447
-    },
-
-    {
-       27,-3448,-3448,-3448,-3448,-3448,-3448,-3448,-3448,-3448,
-    -3448,-3448,-3448,-3448,-3448,-3448, 3729,-3448,-3448,-3448,
-    -3448,-3448,-3448,-3448,-3448,-3448,-3448,-3448,-3448, 3730,
-    -3448,-3448,-3448,-3448,-3448,-3448,-3448,-3448,-3448,-3448,
-
-    -3448,-3448, 3729,-3448,-3448,-3448,-3448,-3448,-3448,-3448,
-    -3448,-3448,-3448,-3448, 3730,-3448,-3448,-3448,-3448,-3448,
-    -3448,-3448,-3448,-3448,-3448
-    },
-
-    {
-       27,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,
-    -3449,-3449,-3449,-3449, 3731,-3449,-3449,-3449,-3449,-3449,
-    -3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,
-    -3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,
-     3731,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,
-    -3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,-3449,
-    -3449,-3449,-3449,-3449,-3449
-
-    },
-
-    {
-       27,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,
-    -3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,
-    -3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,
-    -3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,
-    -3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,
-    -3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,-3450,
-    -3450,-3450,-3450,-3450,-3450
-    },
-
-    {
-       27,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,
-    -3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,
-    -3451,-3451,-3451,-3451,-3451,-3451,-3451, 3732,-3451,-3451,
-
-    -3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,
-    -3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,-3451,
-    -3451,-3451, 3732,-3451,-3451,-3451,-3451,-3451,-3451,-3451,
-    -3451,-3451,-3451,-3451,-3451
-    },
-
-    {
-       27,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,
-    -3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,
-    -3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452, 3733,-3452,
-    -3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,
-    -3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,-3452,
-    -3452,-3452,-3452, 3733,-3452,-3452,-3452,-3452,-3452,-3452,
-
-    -3452,-3452,-3452,-3452,-3452
-    },
-
-    {
-       27,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,
-    -3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,
-    -3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,
-    -3453, 3734,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,
-    -3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,-3453,
-    -3453,-3453,-3453,-3453,-3453,-3453, 3734,-3453,-3453,-3453,
-    -3453,-3453,-3453,-3453,-3453
-    },
-
-    {
-       27,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,
-    -3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454, 3735,-3454,
-
-    -3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,
-    -3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,
-    -3454,-3454,-3454,-3454, 3735,-3454,-3454,-3454,-3454,-3454,
-    -3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,-3454,
-    -3454,-3454,-3454,-3454,-3454
-    },
-
-    {
-       27,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,
-    -3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,
-    -3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,
-    -3455,-3455,-3455, 3736,-3455,-3455,-3455,-3455,-3455,-3455,
-    -3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455,
-
-    -3455,-3455,-3455,-3455,-3455,-3455,-3455,-3455, 3736,-3455,
-    -3455,-3455,-3455,-3455,-3455
-    },
-
-    {
-       27,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,
-    -3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,
-    -3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,
-    -3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,
-    -3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,
-    -3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,-3456,
-    -3456,-3456,-3456,-3456,-3456
-    },
-
-    {
-       27,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,
-
-    -3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,
-    -3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,
-    -3457,-3457, 3737,-3457,-3457,-3457,-3457,-3457,-3457,-3457,
-    -3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,-3457,
-    -3457,-3457,-3457,-3457,-3457,-3457,-3457, 3737,-3457,-3457,
-    -3457,-3457,-3457,-3457,-3457
-    },
-
-    {
-       27,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,
-    -3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,
-    -3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,
-    -3458,-3458,-3458, 3738,-3458,-3458,-3458,-3458,-3458,-3458,
-
-    -3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458,
-    -3458,-3458,-3458,-3458,-3458,-3458,-3458,-3458, 3738,-3458,
-    -3458,-3458,-3458,-3458,-3458
-    },
-
-    {
-       27,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,
-    -3459,-3459,-3459,-3459, 3739,-3459,-3459,-3459,-3459,-3459,
-    -3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,
-    -3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,
-     3739,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,
-    -3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,-3459,
-    -3459,-3459,-3459,-3459,-3459
-
-    },
-
-    {
-       27,-3460, 3460, 3460,-3460,-3460,-3460,-3460,-3460,-3460,
-    -3460,-3460, 3461,-3460,-3460,-3460,-3460,-3460,-3460,-3460,
-    -3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,
-    -3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,
-    -3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,
-    -3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,-3460,
-    -3460,-3460,-3460,-3460,-3460
-    },
-
-    {
-       27,-3461,-3461,-3461,-3461,-3461,-3461,-3461,-3461,-3461,
-    -3461,-3461,-3461,-3461,-3461,-3461, 3740,-3461,-3461,-3461,
-    -3461,-3461,-3461,-3461,-3461,-3461,-3461,-3461,-3461, 3741,
-
-    -3461,-3461,-3461,-3461,-3461,-3461,-3461,-3461,-3461,-3461,
-    -3461,-3461, 3740,-3461,-3461,-3461,-3461,-3461,-3461,-3461,
-    -3461,-3461,-3461,-3461, 3741,-3461,-3461,-3461,-3461,-3461,
-    -3461,-3461,-3461,-3461,-3461
-    },
-
-    {
-       27,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,
-    -3462,-3462,-3462,-3462, 3742,-3462,-3462,-3462,-3462,-3462,
-    -3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,
-    -3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,
-     3742,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,
-    -3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,-3462,
-
-    -3462,-3462,-3462,-3462,-3462
-    },
-
-    {
-       27,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463, 3743,
-    -3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,
-    -3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,
-    -3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463, 3744,
-    -3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,
-    -3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,-3463,
-    -3463,-3463,-3463,-3463,-3463
-    },
-
-    {
-       27,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,
-    -3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,
-
-    -3464,-3464, 3745,-3464,-3464,-3464,-3464,-3464,-3464,-3464,
-    -3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,
-    -3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464, 3745,-3464,
-    -3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,-3464,
-    -3464,-3464,-3464,-3464,-3464
-    },
-
-    {
-       27,-3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465,
-    -3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465, 3746,-3465,
-    -3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465,
-    -3465,-3465,-3465,-3465, 3747,-3465,-3465,-3465,-3465,-3465,
-    -3465,-3465,-3465,-3465, 3746,-3465,-3465,-3465,-3465,-3465,
-
-    -3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465,-3465, 3747,
-    -3465,-3465,-3465,-3465,-3465
-    },
-
-    {
-       27,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,
-    -3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466, 3748,-3466,
-    -3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,
-    -3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,
-    -3466,-3466,-3466,-3466, 3748,-3466,-3466,-3466,-3466,-3466,
-    -3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,-3466,
-    -3466,-3466,-3466,-3466,-3466
-    },
-
-    {
-       27,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,
-
-    -3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467, 3749,-3467,
-    -3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,
-    -3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,
-    -3467,-3467,-3467,-3467, 3749,-3467,-3467,-3467,-3467,-3467,
-    -3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,-3467,
-    -3467,-3467,-3467,-3467,-3467
-    },
-
-    {
-       27,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,
-    -3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468, 3750,-3468,
-    -3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,
-    -3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,
-
-    -3468,-3468,-3468,-3468, 3750,-3468,-3468,-3468,-3468,-3468,
-    -3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,-3468,
-    -3468,-3468,-3468,-3468,-3468
-    },
-
-    {
-       27,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,
-    -3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,
-    -3469,-3469,-3469,-3469,-3469,-3469,-3469, 3751,-3469,-3469,
-    -3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,
-    -3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,-3469,
-    -3469,-3469, 3751,-3469,-3469,-3469,-3469,-3469,-3469,-3469,
-    -3469,-3469,-3469,-3469,-3469
-
-    },
-
-    {
-       27,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,
-    -3470,-3470,-3470, 3752,-3470,-3470,-3470,-3470,-3470,-3470,
-    -3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,
-    -3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,
-    -3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,
-    -3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,-3470,
-    -3470,-3470,-3470,-3470,-3470
-    },
-
-    {
-       27,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,
-    -3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,
-    -3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471, 3753,-3471,
-
-    -3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,
-    -3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,-3471,
-    -3471,-3471,-3471, 3753,-3471,-3471,-3471,-3471,-3471,-3471,
-    -3471,-3471,-3471,-3471,-3471
-    },
-
-    {
-       27,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,
-    -3472,-3472,-3472, 3754,-3472,-3472,-3472,-3472,-3472,-3472,
-    -3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,
-    -3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,
-    -3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,
-    -3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,-3472,
-
-    -3472,-3472,-3472,-3472,-3472
-    },
-
-    {
-       27,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,
-    -3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,
-    -3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,
-    -3473,-3473,-3473, 3755,-3473,-3473,-3473,-3473,-3473,-3473,
-    -3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473,
-    -3473,-3473,-3473,-3473,-3473,-3473,-3473,-3473, 3755,-3473,
-    -3473,-3473,-3473,-3473,-3473
-    },
-
-    {
-       27,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,
-    -3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,
-
-    -3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,
-    -3474,-3474,-3474, 3756,-3474,-3474,-3474,-3474,-3474,-3474,
-    -3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474,
-    -3474,-3474,-3474,-3474,-3474,-3474,-3474,-3474, 3756,-3474,
-    -3474,-3474,-3474,-3474,-3474
-    },
-
-    {
-       27,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,
-    -3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,
-    -3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,
-    -3475,-3475,-3475, 3757,-3475,-3475,-3475,-3475,-3475,-3475,
-    -3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475,
-
-    -3475,-3475,-3475,-3475,-3475,-3475,-3475,-3475, 3757,-3475,
-    -3475,-3475,-3475,-3475,-3475
-    },
-
-    {
-       27,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,
-    -3476,-3476,-3476,-3476, 3758,-3476,-3476,-3476,-3476,-3476,
-    -3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,
-    -3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,
-     3758,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,
-    -3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,-3476,
-    -3476,-3476,-3476,-3476,-3476
-    },
-
-    {
-       27,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,
-
-    -3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,
-    -3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,
-    -3477,-3477,-3477, 3759,-3477,-3477,-3477,-3477,-3477,-3477,
-    -3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477,
-    -3477,-3477,-3477,-3477,-3477,-3477,-3477,-3477, 3759,-3477,
-    -3477,-3477,-3477,-3477,-3477
-    },
-
-    {
-       27,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,
-    -3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,
-    -3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,
-    -3478,-3478,-3478, 3760,-3478,-3478,-3478,-3478,-3478,-3478,
-
-    -3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478,
-    -3478,-3478,-3478,-3478,-3478,-3478,-3478,-3478, 3760,-3478,
-    -3478,-3478,-3478,-3478,-3478
-    },
-
-    {
-       27,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,
-    -3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,
-    -3479,-3479,-3479,-3479,-3479,-3479,-3479, 3761,-3479,-3479,
-    -3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,
-    -3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,-3479,
-    -3479,-3479, 3761,-3479,-3479,-3479,-3479,-3479,-3479,-3479,
-    -3479,-3479,-3479,-3479,-3479
-
-    },
-
-    {
-       27,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480, 2145,
-    -3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,
-    -3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,
-    -3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,
-    -3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,
-    -3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,-3480,
-    -3480,-3480,-3480,-3480,-3480
-    },
-
-    {
-       27,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,
-    -3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,
-    -3481,-3481,-3481,-3481,-3481,-3481,-3481, 3762,-3481,-3481,
-
-    -3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,
-    -3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,-3481,
-    -3481,-3481, 3762,-3481,-3481,-3481,-3481,-3481,-3481,-3481,
-    -3481,-3481,-3481,-3481,-3481
-    },
-
-    {
-       27,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482, 2147,
-    -3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,
-    -3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,
-    -3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,
-    -3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,
-    -3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,-3482,
-
-    -3482,-3482,-3482,-3482,-3482
-    },
-
-    {
-       27,-3483, 3483, 3483,-3483,-3483,-3483,-3483,-3483,-3483,
-    -3483,-3483, 3484,-3483,-3483,-3483,-3483,-3483,-3483,-3483,
-    -3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,
-    -3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,
-    -3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,
-    -3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,-3483,
-    -3483,-3483,-3483,-3483,-3483
-    },
-
-    {
-       27,-3484,-3484,-3484,-3484,-3484,-3484,-3484,-3484,-3484,
-    -3484,-3484,-3484,-3484,-3484,-3484, 3763,-3484,-3484,-3484,
-
-    -3484,-3484,-3484,-3484,-3484,-3484,-3484,-3484,-3484, 3764,
-    -3484,-3484,-3484,-3484,-3484,-3484,-3484,-3484,-3484,-3484,
-    -3484,-3484, 3763,-3484,-3484,-3484,-3484,-3484,-3484,-3484,
-    -3484,-3484,-3484,-3484, 3764,-3484,-3484,-3484,-3484,-3484,
-    -3484,-3484,-3484,-3484,-3484
-    },
-
-    {
-       27,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,
-    -3485,-3485,-3485,-3485, 3765,-3485,-3485,-3485,-3485,-3485,
-    -3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,
-    -3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,
-     3765,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,
-
-    -3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,-3485,
-    -3485,-3485,-3485,-3485,-3485
-    },
-
-    {
-       27,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,
-    -3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,
-    -3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,
-    -3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,
-    -3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,
-    -3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,-3486,
-    -3486,-3486,-3486,-3486,-3486
-    },
-
-    {
-       27,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,
-
-    -3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,
-    -3487,-3487,-3487,-3487,-3487,-3487,-3487, 3766,-3487,-3487,
-    -3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,
-    -3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,-3487,
-    -3487,-3487, 3766,-3487,-3487,-3487,-3487,-3487,-3487,-3487,
-    -3487,-3487,-3487,-3487,-3487
-    },
-
-    {
-       27,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,
-    -3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,
-    -3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488, 3767,-3488,
-    -3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,
-
-    -3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,-3488,
-    -3488,-3488,-3488, 3767,-3488,-3488,-3488,-3488,-3488,-3488,
-    -3488,-3488,-3488,-3488,-3488
-    },
-
-    {
-       27,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,
-    -3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,
-    -3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,
-    -3489, 3768,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,
-    -3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,-3489,
-    -3489,-3489,-3489,-3489,-3489,-3489, 3768,-3489,-3489,-3489,
-    -3489,-3489,-3489,-3489,-3489
-
-    },
-
-    {
-       27,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,
-    -3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490, 3769,-3490,
-    -3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,
-    -3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,
-    -3490,-3490,-3490,-3490, 3769,-3490,-3490,-3490,-3490,-3490,
-    -3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,-3490,
-    -3490,-3490,-3490,-3490,-3490
-    },
-
-    {
-       27,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,
-    -3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,
-    -3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,
-
-    -3491,-3491,-3491, 3770,-3491,-3491,-3491,-3491,-3491,-3491,
-    -3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491,
-    -3491,-3491,-3491,-3491,-3491,-3491,-3491,-3491, 3770,-3491,
-    -3491,-3491,-3491,-3491,-3491
-    },
-
-    {
-       27,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,
-    -3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,
-    -3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,
-    -3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,
-    -3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,
-    -3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,-3492,
-
-    -3492,-3492,-3492,-3492,-3492
-    },
-
-    {
-       27,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,
-    -3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,
-    -3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,
-    -3493,-3493, 3771,-3493,-3493,-3493,-3493,-3493,-3493,-3493,
-    -3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,-3493,
-    -3493,-3493,-3493,-3493,-3493,-3493,-3493, 3771,-3493,-3493,
-    -3493,-3493,-3493,-3493,-3493
-    },
-
-    {
-       27,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,
-    -3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,
-
-    -3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,
-    -3494,-3494,-3494, 3772,-3494,-3494,-3494,-3494,-3494,-3494,
-    -3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494,
-    -3494,-3494,-3494,-3494,-3494,-3494,-3494,-3494, 3772,-3494,
-    -3494,-3494,-3494,-3494,-3494
-    },
-
-    {
-       27,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,
-    -3495,-3495,-3495,-3495, 3773,-3495,-3495,-3495,-3495,-3495,
-    -3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,
-    -3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,
-     3773,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,
-
-    -3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,-3495,
-    -3495,-3495,-3495,-3495,-3495
-    },
-
-    {
-       27,-3496, 3496, 3496,-3496,-3496,-3496,-3496,-3496,-3496,
-    -3496,-3496, 3497,-3496,-3496,-3496,-3496,-3496,-3496,-3496,
-    -3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,
-    -3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,
-    -3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,
-    -3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,-3496,
-    -3496,-3496,-3496,-3496,-3496
-    },
-
-    {
-       27,-3497,-3497,-3497,-3497,-3497,-3497,-3497,-3497,-3497,
-
-    -3497,-3497,-3497,-3497,-3497,-3497, 3774,-3497,-3497,-3497,
-    -3497,-3497,-3497,-3497,-3497,-3497,-3497,-3497,-3497, 3775,
-    -3497,-3497,-3497,-3497,-3497,-3497,-3497,-3497,-3497,-3497,
-    -3497,-3497, 3774,-3497,-3497,-3497,-3497,-3497,-3497,-3497,
-    -3497,-3497,-3497,-3497, 3775,-3497,-3497,-3497,-3497,-3497,
-    -3497,-3497,-3497,-3497,-3497
-    },
-
-    {
-       27,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,
-    -3498,-3498,-3498,-3498, 3776,-3498,-3498,-3498,-3498,-3498,
-    -3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,
-    -3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,
-
-     3776,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,
-    -3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,-3498,
-    -3498,-3498,-3498,-3498,-3498
-    },
-
-    {
-       27,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499, 3777,
-    -3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,
-    -3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,
-    -3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499, 3778,
-    -3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,
-    -3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,-3499,
-    -3499,-3499,-3499,-3499,-3499
-
-    },
-
-    {
-       27,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,
-    -3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,
-    -3500,-3500, 3779,-3500,-3500,-3500,-3500,-3500,-3500,-3500,
-    -3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,
-    -3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500, 3779,-3500,
-    -3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,-3500,
-    -3500,-3500,-3500,-3500,-3500
-    },
-
-    {
-       27,-3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501,
-    -3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501, 3780,-3501,
-    -3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501,
-
-    -3501,-3501,-3501,-3501, 3781,-3501,-3501,-3501,-3501,-3501,
-    -3501,-3501,-3501,-3501, 3780,-3501,-3501,-3501,-3501,-3501,
-    -3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501,-3501, 3781,
-    -3501,-3501,-3501,-3501,-3501
-    },
-
-    {
-       27,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,
-    -3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502, 3782,-3502,
-    -3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,
-    -3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,
-    -3502,-3502,-3502,-3502, 3782,-3502,-3502,-3502,-3502,-3502,
-    -3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,-3502,
-
-    -3502,-3502,-3502,-3502,-3502
-    },
-
-    {
-       27,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,
-    -3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503, 3783,-3503,
-    -3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,
-    -3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,
-    -3503,-3503,-3503,-3503, 3783,-3503,-3503,-3503,-3503,-3503,
-    -3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,-3503,
-    -3503,-3503,-3503,-3503,-3503
-    },
-
-    {
-       27,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,
-    -3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504, 3784,-3504,
-
-    -3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,
-    -3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,
-    -3504,-3504,-3504,-3504, 3784,-3504,-3504,-3504,-3504,-3504,
-    -3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,-3504,
-    -3504,-3504,-3504,-3504,-3504
-    },
-
-    {
-       27,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,
-    -3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,
-    -3505,-3505,-3505,-3505,-3505,-3505,-3505, 3785,-3505,-3505,
-    -3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,
-    -3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,-3505,
-
-    -3505,-3505, 3785,-3505,-3505,-3505,-3505,-3505,-3505,-3505,
-    -3505,-3505,-3505,-3505,-3505
-    },
-
-    {
-       27,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,
-    -3506,-3506,-3506, 3786,-3506,-3506,-3506,-3506,-3506,-3506,
-    -3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,
-    -3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,
-    -3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,
-    -3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,-3506,
-    -3506,-3506,-3506,-3506,-3506
-    },
-
-    {
-       27,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,
-
-    -3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,
-    -3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507, 3787,-3507,
-    -3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,
-    -3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,-3507,
-    -3507,-3507,-3507, 3787,-3507,-3507,-3507,-3507,-3507,-3507,
-    -3507,-3507,-3507,-3507,-3507
-    },
-
-    {
-       27,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,
-    -3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,
-    -3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,
-    -3508, 3788,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,
-
-    -3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,-3508,
-    -3508,-3508,-3508,-3508,-3508,-3508, 3788,-3508,-3508,-3508,
-    -3508,-3508,-3508,-3508,-3508
-    },
-
-    {
-       27,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,
-    -3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,
-    -3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,
-    -3509,-3509,-3509, 3789,-3509,-3509,-3509,-3509,-3509,-3509,
-    -3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509,
-    -3509,-3509,-3509,-3509,-3509,-3509,-3509,-3509, 3789,-3509,
-    -3509,-3509,-3509,-3509,-3509
-
-    },
-
-    {
-       27,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,
-    -3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,
-    -3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,
-    -3510,-3510,-3510, 3790,-3510,-3510,-3510,-3510,-3510,-3510,
-    -3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510,
-    -3510,-3510,-3510,-3510,-3510,-3510,-3510,-3510, 3790,-3510,
-    -3510,-3510,-3510,-3510,-3510
-    },
-
-    {
-       27,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,
-    -3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,
-    -3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,
-
-    -3511,-3511,-3511, 3791,-3511,-3511,-3511,-3511,-3511,-3511,
-    -3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511,
-    -3511,-3511,-3511,-3511,-3511,-3511,-3511,-3511, 3791,-3511,
-    -3511,-3511,-3511,-3511,-3511
-    },
-
-    {
-       27,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,
-    -3512,-3512,-3512,-3512, 3792,-3512,-3512,-3512,-3512,-3512,
-    -3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,
-    -3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,
-     3792,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,
-    -3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,-3512,
-
-    -3512,-3512,-3512,-3512,-3512
-    },
-
-    {
-       27,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,
-    -3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,
-    -3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,
-    -3513,-3513,-3513, 3793,-3513,-3513,-3513,-3513,-3513,-3513,
-    -3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513,
-    -3513,-3513,-3513,-3513,-3513,-3513,-3513,-3513, 3793,-3513,
-    -3513,-3513,-3513,-3513,-3513
-    },
-
-    {
-       27,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,
-    -3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,
-
-    -3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,
-    -3514,-3514,-3514, 3794,-3514,-3514,-3514,-3514,-3514,-3514,
-    -3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514,
-    -3514,-3514,-3514,-3514,-3514,-3514,-3514,-3514, 3794,-3514,
-    -3514,-3514,-3514,-3514,-3514
-    },
-
-    {
-       27,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,
-    -3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,
-    -3515,-3515,-3515,-3515,-3515,-3515,-3515, 3795,-3515,-3515,
-    -3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,
-    -3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,-3515,
-
-    -3515,-3515, 3795,-3515,-3515,-3515,-3515,-3515,-3515,-3515,
-    -3515,-3515,-3515,-3515,-3515
-    },
-
-    {
-       27,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516, 2190,
-    -3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,
-    -3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,
-    -3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,
-    -3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,
-    -3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,-3516,
-    -3516,-3516,-3516,-3516,-3516
-    },
-
-    {
-       27,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,
-
-    -3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,
-    -3517,-3517,-3517,-3517,-3517,-3517,-3517, 3796,-3517,-3517,
-    -3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,
-    -3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,-3517,
-    -3517,-3517, 3796,-3517,-3517,-3517,-3517,-3517,-3517,-3517,
-    -3517,-3517,-3517,-3517,-3517
-    },
-
-    {
-       27,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518, 2192,
-    -3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,
-    -3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,
-    -3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,
-
-    -3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,
-    -3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,-3518,
-    -3518,-3518,-3518,-3518,-3518
-    },
-
-    {
-       27,-3519, 3519, 3519,-3519,-3519,-3519,-3519,-3519,-3519,
-    -3519,-3519, 3520,-3519,-3519,-3519,-3519,-3519,-3519,-3519,
-    -3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,
-    -3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,
-    -3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,
-    -3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,-3519,
-    -3519,-3519,-3519,-3519,-3519
-
-    },
-
-    {
-       27,-3520,-3520,-3520,-3520,-3520,-3520,-3520,-3520,-3520,
-    -3520,-3520,-3520,-3520,-3520,-3520, 3797,-3520,-3520,-3520,
-    -3520,-3520,-3520,-3520,-3520,-3520,-3520,-3520,-3520, 3798,
-    -3520,-3520,-3520,-3520,-3520,-3520,-3520,-3520,-3520,-3520,
-    -3520,-3520, 3797,-3520,-3520,-3520,-3520,-3520,-3520,-3520,
-    -3520,-3520,-3520,-3520, 3798,-3520,-3520,-3520,-3520,-3520,
-    -3520,-3520,-3520,-3520,-3520
-    },
-
-    {
-       27,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,
-    -3521,-3521,-3521,-3521, 3799,-3521,-3521,-3521,-3521,-3521,
-    -3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,
-
-    -3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,
-     3799,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,
-    -3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,-3521,
-    -3521,-3521,-3521,-3521,-3521
-    },
-
-    {
-       27,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,
-    -3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,
-    -3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,
-    -3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,
-    -3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,
-    -3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,-3522,
-
-    -3522,-3522,-3522,-3522,-3522
-    },
-
-    {
-       27,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,
-    -3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,
-    -3523,-3523,-3523,-3523,-3523,-3523,-3523, 3800,-3523,-3523,
-    -3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,
-    -3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,-3523,
-    -3523,-3523, 3800,-3523,-3523,-3523,-3523,-3523,-3523,-3523,
-    -3523,-3523,-3523,-3523,-3523
-    },
-
-    {
-       27,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,
-    -3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,
-
-    -3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524, 3801,-3524,
-    -3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,
-    -3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,-3524,
-    -3524,-3524,-3524, 3801,-3524,-3524,-3524,-3524,-3524,-3524,
-    -3524,-3524,-3524,-3524,-3524
-    },
-
-    {
-       27,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,
-    -3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,
-    -3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,
-    -3525, 3802,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,
-    -3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,-3525,
-
-    -3525,-3525,-3525,-3525,-3525,-3525, 3802,-3525,-3525,-3525,
-    -3525,-3525,-3525,-3525,-3525
-    },
-
-    {
-       27,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,
-    -3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526, 3803,-3526,
-    -3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,
-    -3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,
-    -3526,-3526,-3526,-3526, 3803,-3526,-3526,-3526,-3526,-3526,
-    -3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,-3526,
-    -3526,-3526,-3526,-3526,-3526
-    },
-
-    {
-       27,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,
-
-    -3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,
-    -3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,
-    -3527,-3527,-3527, 3804,-3527,-3527,-3527,-3527,-3527,-3527,
-    -3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527,
-    -3527,-3527,-3527,-3527,-3527,-3527,-3527,-3527, 3804,-3527,
-    -3527,-3527,-3527,-3527,-3527
-    },
-
-    {
-       27,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,
-    -3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,
-    -3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,
-    -3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,
-
-    -3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,
-    -3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,-3528,
-    -3528,-3528,-3528,-3528,-3528
-    },
-
-    {
-       27,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,
-    -3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,
-    -3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,
-    -3529,-3529, 3805,-3529,-3529,-3529,-3529,-3529,-3529,-3529,
-    -3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,-3529,
-    -3529,-3529,-3529,-3529,-3529,-3529,-3529, 3805,-3529,-3529,
-    -3529,-3529,-3529,-3529,-3529
-
-    },
-
-    {
-       27,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,
-    -3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,
-    -3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,
-    -3530,-3530,-3530, 3806,-3530,-3530,-3530,-3530,-3530,-3530,
-    -3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530,
-    -3530,-3530,-3530,-3530,-3530,-3530,-3530,-3530, 3806,-3530,
-    -3530,-3530,-3530,-3530,-3530
-    },
-
-    {
-       27,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,
-    -3531,-3531,-3531,-3531, 3807,-3531,-3531,-3531,-3531,-3531,
-    -3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,
-
-    -3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,
-     3807,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,
-    -3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,-3531,
-    -3531,-3531,-3531,-3531,-3531
-    },
-
-    {
-       27,-3532, 3532, 3532,-3532,-3532,-3532,-3532,-3532,-3532,
-    -3532,-3532, 3533,-3532,-3532,-3532,-3532,-3532,-3532,-3532,
-    -3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,
-    -3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,
-    -3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,
-    -3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,-3532,
-
-    -3532,-3532,-3532,-3532,-3532
-    },
-
-    {
-       27,-3533,-3533,-3533,-3533,-3533,-3533,-3533,-3533,-3533,
-    -3533,-3533,-3533,-3533,-3533,-3533, 3808,-3533,-3533,-3533,
-    -3533,-3533,-3533,-3533,-3533,-3533,-3533,-3533,-3533, 3809,
-    -3533,-3533,-3533,-3533,-3533,-3533,-3533,-3533,-3533,-3533,
-    -3533,-3533, 3808,-3533,-3533,-3533,-3533,-3533,-3533,-3533,
-    -3533,-3533,-3533,-3533, 3809,-3533,-3533,-3533,-3533,-3533,
-    -3533,-3533,-3533,-3533,-3533
-    },
-
-    {
-       27,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,
-    -3534,-3534,-3534,-3534, 3810,-3534,-3534,-3534,-3534,-3534,
-
-    -3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,
-    -3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,
-     3810,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,
-    -3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,-3534,
-    -3534,-3534,-3534,-3534,-3534
-    },
-
-    {
-       27,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535, 3811,
-    -3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,
-    -3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,
-    -3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535, 3812,
-    -3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,
-
-    -3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,-3535,
-    -3535,-3535,-3535,-3535,-3535
-    },
-
-    {
-       27,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,
-    -3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,
-    -3536,-3536, 3813,-3536,-3536,-3536,-3536,-3536,-3536,-3536,
-    -3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,
-    -3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536, 3813,-3536,
-    -3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,-3536,
-    -3536,-3536,-3536,-3536,-3536
-    },
-
-    {
-       27,-3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537,
-
-    -3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537, 3814,-3537,
-    -3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537,
-    -3537,-3537,-3537,-3537, 3815,-3537,-3537,-3537,-3537,-3537,
-    -3537,-3537,-3537,-3537, 3814,-3537,-3537,-3537,-3537,-3537,
-    -3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537,-3537, 3815,
-    -3537,-3537,-3537,-3537,-3537
-    },
-
-    {
-       27,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,
-    -3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538, 3816,-3538,
-    -3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,
-    -3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,
-
-    -3538,-3538,-3538,-3538, 3816,-3538,-3538,-3538,-3538,-3538,
-    -3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,-3538,
-    -3538,-3538,-3538,-3538,-3538
-    },
-
-    {
-       27,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,
-    -3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539, 3817,-3539,
-    -3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,
-    -3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,
-    -3539,-3539,-3539,-3539, 3817,-3539,-3539,-3539,-3539,-3539,
-    -3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,-3539,
-    -3539,-3539,-3539,-3539,-3539
-
-    },
-
-    {
-       27,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,
-    -3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540, 3818,-3540,
-    -3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,
-    -3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,
-    -3540,-3540,-3540,-3540, 3818,-3540,-3540,-3540,-3540,-3540,
-    -3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,-3540,
-    -3540,-3540,-3540,-3540,-3540
-    },
-
-    {
-       27,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,
-    -3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,
-    -3541,-3541,-3541,-3541,-3541,-3541,-3541, 3819,-3541,-3541,
-
-    -3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,
-    -3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,-3541,
-    -3541,-3541, 3819,-3541,-3541,-3541,-3541,-3541,-3541,-3541,
-    -3541,-3541,-3541,-3541,-3541
-    },
-
-    {
-       27,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,
-    -3542,-3542,-3542, 3820,-3542,-3542,-3542,-3542,-3542,-3542,
-    -3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,
-    -3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,
-    -3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,
-    -3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,-3542,
-
-    -3542,-3542,-3542,-3542,-3542
-    },
-
-    {
-       27,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,
-    -3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,
-    -3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543, 3821,-3543,
-    -3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,
-    -3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,-3543,
-    -3543,-3543,-3543, 3821,-3543,-3543,-3543,-3543,-3543,-3543,
-    -3543,-3543,-3543,-3543,-3543
-    },
-
-    {
-       27,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,
-    -3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,
-
-    -3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544, 3822,
-    -3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,
-    -3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,-3544,
-    -3544,-3544,-3544,-3544, 3822,-3544,-3544,-3544,-3544,-3544,
-    -3544,-3544,-3544,-3544,-3544
-    },
-
-    {
-       27,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,
-    -3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,
-    -3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,
-    -3545,-3545,-3545, 3823,-3545,-3545,-3545,-3545,-3545,-3545,
-    -3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545,
-
-    -3545,-3545,-3545,-3545,-3545,-3545,-3545,-3545, 3823,-3545,
-    -3545,-3545,-3545,-3545,-3545
-    },
-
-    {
-       27,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,
-    -3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,
-    -3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,
-    -3546,-3546,-3546, 3824,-3546,-3546,-3546,-3546,-3546,-3546,
-    -3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546,
-    -3546,-3546,-3546,-3546,-3546,-3546,-3546,-3546, 3824,-3546,
-    -3546,-3546,-3546,-3546,-3546
-    },
-
-    {
-       27,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,
-
-    -3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,
-    -3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,
-    -3547,-3547,-3547, 3825,-3547,-3547,-3547,-3547,-3547,-3547,
-    -3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547,
-    -3547,-3547,-3547,-3547,-3547,-3547,-3547,-3547, 3825,-3547,
-    -3547,-3547,-3547,-3547,-3547
-    },
-
-    {
-       27,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,
-    -3548,-3548,-3548,-3548, 3826,-3548,-3548,-3548,-3548,-3548,
-    -3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,
-    -3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,
-
-     3826,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,
-    -3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,-3548,
-    -3548,-3548,-3548,-3548,-3548
-    },
-
-    {
-       27,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,
-    -3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,
-    -3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,
-    -3549,-3549,-3549, 3827,-3549,-3549,-3549,-3549,-3549,-3549,
-    -3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549,
-    -3549,-3549,-3549,-3549,-3549,-3549,-3549,-3549, 3827,-3549,
-    -3549,-3549,-3549,-3549,-3549
-
-    },
-
-    {
-       27,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,
-    -3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,
-    -3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,
-    -3550,-3550,-3550, 3828,-3550,-3550,-3550,-3550,-3550,-3550,
-    -3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550,
-    -3550,-3550,-3550,-3550,-3550,-3550,-3550,-3550, 3828,-3550,
-    -3550,-3550,-3550,-3550,-3550
-    },
-
-    {
-       27,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,
-    -3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,
-    -3551,-3551,-3551,-3551,-3551,-3551,-3551, 3829,-3551,-3551,
-
-    -3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,
-    -3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,-3551,
-    -3551,-3551, 3829,-3551,-3551,-3551,-3551,-3551,-3551,-3551,
-    -3551,-3551,-3551,-3551,-3551
-    },
-
-    {
-       27,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552, 2235,
-    -3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,
-    -3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,
-    -3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,
-    -3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,
-    -3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,-3552,
-
-    -3552,-3552,-3552,-3552,-3552
-    },
-
-    {
-       27,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,
-    -3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,
-    -3553,-3553,-3553,-3553,-3553,-3553,-3553, 3830,-3553,-3553,
-    -3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,
-    -3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,-3553,
-    -3553,-3553, 3830,-3553,-3553,-3553,-3553,-3553,-3553,-3553,
-    -3553,-3553,-3553,-3553,-3553
-    },
-
-    {
-       27,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554, 2237,
-    -3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,
-
-    -3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,
-    -3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,
-    -3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,
-    -3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,-3554,
-    -3554,-3554,-3554,-3554,-3554
-    },
-
-    {
-       27,-3555, 3555, 3555,-3555,-3555,-3555,-3555,-3555,-3555,
-    -3555,-3555, 3556,-3555,-3555,-3555,-3555,-3555,-3555,-3555,
-    -3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,
-    -3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,
-    -3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,
-
-    -3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,-3555,
-    -3555,-3555,-3555,-3555,-3555
-    },
-
-    {
-       27,-3556,-3556,-3556,-3556,-3556,-3556,-3556,-3556,-3556,
-    -3556,-3556,-3556,-3556,-3556,-3556, 3831,-3556,-3556,-3556,
-    -3556,-3556,-3556,-3556,-3556,-3556,-3556,-3556,-3556, 3832,
-    -3556,-3556,-3556,-3556,-3556,-3556,-3556,-3556,-3556,-3556,
-    -3556,-3556, 3831,-3556,-3556,-3556,-3556,-3556,-3556,-3556,
-    -3556,-3556,-3556,-3556, 3832,-3556,-3556,-3556,-3556,-3556,
-    -3556,-3556,-3556,-3556,-3556
-    },
-
-    {
-       27,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,
-
-    -3557,-3557,-3557,-3557, 3833,-3557,-3557,-3557,-3557,-3557,
-    -3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,
-    -3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,
-     3833,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,
-    -3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,-3557,
-    -3557,-3557,-3557,-3557,-3557
-    },
-
-    {
-       27,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,
-    -3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,
-    -3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,
-    -3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,
-
-    -3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,
-    -3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,-3558,
-    -3558,-3558,-3558,-3558,-3558
-    },
-
-    {
-       27,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,
-    -3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,
-    -3559,-3559,-3559,-3559,-3559,-3559,-3559, 3834,-3559,-3559,
-    -3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,
-    -3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,-3559,
-    -3559,-3559, 3834,-3559,-3559,-3559,-3559,-3559,-3559,-3559,
-    -3559,-3559,-3559,-3559,-3559
-
-    },
-
-    {
-       27,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,
-    -3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,
-    -3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560, 3835,-3560,
-    -3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,
-    -3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,-3560,
-    -3560,-3560,-3560, 3835,-3560,-3560,-3560,-3560,-3560,-3560,
-    -3560,-3560,-3560,-3560,-3560
-    },
-
-    {
-       27,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,
-    -3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,
-    -3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,
-
-    -3561, 3836,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,
-    -3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,-3561,
-    -3561,-3561,-3561,-3561,-3561,-3561, 3836,-3561,-3561,-3561,
-    -3561,-3561,-3561,-3561,-3561
-    },
-
-    {
-       27,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,
-    -3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562, 3837,-3562,
-    -3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,
-    -3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,
-    -3562,-3562,-3562,-3562, 3837,-3562,-3562,-3562,-3562,-3562,
-    -3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,-3562,
-
-    -3562,-3562,-3562,-3562,-3562
-    },
-
-    {
-       27,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,
-    -3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,
-    -3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,
-    -3563,-3563,-3563, 3838,-3563,-3563,-3563,-3563,-3563,-3563,
-    -3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563,
-    -3563,-3563,-3563,-3563,-3563,-3563,-3563,-3563, 3838,-3563,
-    -3563,-3563,-3563,-3563,-3563
-    },
-
-    {
-       27,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,
-    -3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,
-
-    -3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,
-    -3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,
-    -3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,
-    -3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,-3564,
-    -3564,-3564,-3564,-3564,-3564
-    },
-
-    {
-       27,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,
-    -3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,
-    -3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,
-    -3565,-3565, 3839,-3565,-3565,-3565,-3565,-3565,-3565,-3565,
-    -3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,-3565,
-
-    -3565,-3565,-3565,-3565,-3565,-3565,-3565, 3839,-3565,-3565,
-    -3565,-3565,-3565,-3565,-3565
-    },
-
-    {
-       27,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,
-    -3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,
-    -3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,
-    -3566,-3566,-3566, 3840,-3566,-3566,-3566,-3566,-3566,-3566,
-    -3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566,
-    -3566,-3566,-3566,-3566,-3566,-3566,-3566,-3566, 3840,-3566,
-    -3566,-3566,-3566,-3566,-3566
-    },
-
-    {
-       27,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,
-
-    -3567,-3567,-3567,-3567, 3841,-3567,-3567,-3567,-3567,-3567,
-    -3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,
-    -3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,
-     3841,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,
-    -3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,-3567,
-    -3567,-3567,-3567,-3567,-3567
-    },
-
-    {
-       27,-3568, 3568, 3568,-3568,-3568,-3568,-3568,-3568,-3568,
-    -3568,-3568, 3569,-3568,-3568,-3568,-3568,-3568,-3568,-3568,
-    -3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,
-    -3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,
-
-    -3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,
-    -3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,-3568,
-    -3568,-3568,-3568,-3568,-3568
-    },
-
-    {
-       27,-3569,-3569,-3569,-3569,-3569,-3569,-3569,-3569,-3569,
-    -3569,-3569,-3569,-3569,-3569,-3569, 3842,-3569,-3569,-3569,
-    -3569,-3569,-3569,-3569,-3569,-3569,-3569,-3569,-3569, 3843,
-    -3569,-3569,-3569,-3569,-3569,-3569,-3569,-3569,-3569,-3569,
-    -3569,-3569, 3842,-3569,-3569,-3569,-3569,-3569,-3569,-3569,
-    -3569,-3569,-3569,-3569, 3843,-3569,-3569,-3569,-3569,-3569,
-    -3569,-3569,-3569,-3569,-3569
-
-    },
-
-    {
-       27,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,
-    -3570,-3570,-3570,-3570, 3844,-3570,-3570,-3570,-3570,-3570,
-    -3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,
-    -3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,
-     3844,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,
-    -3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,-3570,
-    -3570,-3570,-3570,-3570,-3570
-    },
-
-    {
-       27,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571, 3845,
-    -3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,
-    -3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,
-
-    -3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571, 3846,
-    -3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,
-    -3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,-3571,
-    -3571,-3571,-3571,-3571,-3571
-    },
-
-    {
-       27,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,
-    -3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,
-    -3572,-3572, 3847,-3572,-3572,-3572,-3572,-3572,-3572,-3572,
-    -3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,
-    -3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572, 3847,-3572,
-    -3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,-3572,
-
-    -3572,-3572,-3572,-3572,-3572
-    },
-
-    {
-       27,-3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573,
-    -3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573, 3848,-3573,
-    -3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573,
-    -3573,-3573,-3573,-3573, 3849,-3573,-3573,-3573,-3573,-3573,
-    -3573,-3573,-3573,-3573, 3848,-3573,-3573,-3573,-3573,-3573,
-    -3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573,-3573, 3849,
-    -3573,-3573,-3573,-3573,-3573
-    },
-
-    {
-       27,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,
-    -3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574, 3850,-3574,
-
-    -3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,
-    -3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,
-    -3574,-3574,-3574,-3574, 3850,-3574,-3574,-3574,-3574,-3574,
-    -3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,-3574,
-    -3574,-3574,-3574,-3574,-3574
-    },
-
-    {
-       27,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,
-    -3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575, 3851,-3575,
-    -3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,
-    -3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,
-    -3575,-3575,-3575,-3575, 3851,-3575,-3575,-3575,-3575,-3575,
-
-    -3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,-3575,
-    -3575,-3575,-3575,-3575,-3575
-    },
-
-    {
-       27,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,
-    -3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576, 3852,-3576,
-    -3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,
-    -3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,
-    -3576,-3576,-3576,-3576, 3852,-3576,-3576,-3576,-3576,-3576,
-    -3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,-3576,
-    -3576,-3576,-3576,-3576,-3576
-    },
-
-    {
-       27,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,
-
-    -3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,
-    -3577,-3577,-3577,-3577,-3577,-3577,-3577, 3853,-3577,-3577,
-    -3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,
-    -3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,-3577,
-    -3577,-3577, 3853,-3577,-3577,-3577,-3577,-3577,-3577,-3577,
-    -3577,-3577,-3577,-3577,-3577
-    },
-
-    {
-       27,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,
-    -3578,-3578,-3578, 3854,-3578,-3578,-3578,-3578,-3578,-3578,
-    -3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,
-    -3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,
-
-    -3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,
-    -3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,-3578,
-    -3578,-3578,-3578,-3578,-3578
-    },
-
-    {
-       27,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,
-    -3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,
-    -3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579, 3855,-3579,
-    -3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,
-    -3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,-3579,
-    -3579,-3579,-3579, 3855,-3579,-3579,-3579,-3579,-3579,-3579,
-    -3579,-3579,-3579,-3579,-3579
-
-    },
-
-    {
-       27,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,
-    -3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,
-    -3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,
-    -3580, 3856,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,
-    -3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,-3580,
-    -3580,-3580,-3580,-3580,-3580,-3580, 3856,-3580,-3580,-3580,
-    -3580,-3580,-3580,-3580,-3580
-    },
-
-    {
-       27,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,
-    -3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,
-    -3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,
-
-    -3581,-3581,-3581, 3857,-3581,-3581,-3581,-3581,-3581,-3581,
-    -3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581,
-    -3581,-3581,-3581,-3581,-3581,-3581,-3581,-3581, 3857,-3581,
-    -3581,-3581,-3581,-3581,-3581
-    },
-
-    {
-       27,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,
-    -3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,
-    -3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,
-    -3582,-3582,-3582, 3858,-3582,-3582,-3582,-3582,-3582,-3582,
-    -3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582,
-    -3582,-3582,-3582,-3582,-3582,-3582,-3582,-3582, 3858,-3582,
-
-    -3582,-3582,-3582,-3582,-3582
-    },
-
-    {
-       27,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,
-    -3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,
-    -3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,
-    -3583,-3583,-3583, 3859,-3583,-3583,-3583,-3583,-3583,-3583,
-    -3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583,
-    -3583,-3583,-3583,-3583,-3583,-3583,-3583,-3583, 3859,-3583,
-    -3583,-3583,-3583,-3583,-3583
-    },
-
-    {
-       27,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,
-    -3584,-3584,-3584,-3584, 3860,-3584,-3584,-3584,-3584,-3584,
-
-    -3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,
-    -3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,
-     3860,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,
-    -3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,-3584,
-    -3584,-3584,-3584,-3584,-3584
-    },
-
-    {
-       27,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,
-    -3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,
-    -3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,
-    -3585,-3585,-3585, 3861,-3585,-3585,-3585,-3585,-3585,-3585,
-    -3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585,
-
-    -3585,-3585,-3585,-3585,-3585,-3585,-3585,-3585, 3861,-3585,
-    -3585,-3585,-3585,-3585,-3585
-    },
-
-    {
-       27,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,
-    -3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,
-    -3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,
-    -3586,-3586,-3586, 3862,-3586,-3586,-3586,-3586,-3586,-3586,
-    -3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586,
-    -3586,-3586,-3586,-3586,-3586,-3586,-3586,-3586, 3862,-3586,
-    -3586,-3586,-3586,-3586,-3586
-    },
-
-    {
-       27,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,
-
-    -3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,
-    -3587,-3587,-3587,-3587,-3587,-3587,-3587, 3863,-3587,-3587,
-    -3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,
-    -3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,-3587,
-    -3587,-3587, 3863,-3587,-3587,-3587,-3587,-3587,-3587,-3587,
-    -3587,-3587,-3587,-3587,-3587
-    },
-
-    {
-       27,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588, 2280,
-    -3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,
-    -3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,
-    -3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,
-
-    -3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,
-    -3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,-3588,
-    -3588,-3588,-3588,-3588,-3588
-    },
-
-    {
-       27,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,
-    -3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,
-    -3589,-3589,-3589,-3589,-3589,-3589,-3589, 3864,-3589,-3589,
-    -3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,
-    -3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,-3589,
-    -3589,-3589, 3864,-3589,-3589,-3589,-3589,-3589,-3589,-3589,
-    -3589,-3589,-3589,-3589,-3589
-
-    },
-
-    {
-       27,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590, 2282,
-    -3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,
-    -3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,
-    -3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,
-    -3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,
-    -3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,-3590,
-    -3590,-3590,-3590,-3590,-3590
-    },
-
-    {
-       27,-3591, 3591, 3591,-3591,-3591,-3591,-3591,-3591,-3591,
-    -3591,-3591, 3592,-3591,-3591,-3591,-3591,-3591,-3591,-3591,
-    -3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,
-
-    -3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,
-    -3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,
-    -3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,-3591,
-    -3591,-3591,-3591,-3591,-3591
-    },
-
-    {
-       27,-3592,-3592,-3592,-3592,-3592,-3592,-3592,-3592,-3592,
-    -3592,-3592,-3592,-3592,-3592,-3592, 3865,-3592,-3592,-3592,
-    -3592,-3592,-3592,-3592,-3592,-3592,-3592,-3592,-3592, 3866,
-    -3592,-3592,-3592,-3592,-3592,-3592,-3592,-3592,-3592,-3592,
-    -3592,-3592, 3865,-3592,-3592,-3592,-3592,-3592,-3592,-3592,
-    -3592,-3592,-3592,-3592, 3866,-3592,-3592,-3592,-3592,-3592,
-
-    -3592,-3592,-3592,-3592,-3592
-    },
-
-    {
-       27,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,
-    -3593,-3593,-3593,-3593, 3867,-3593,-3593,-3593,-3593,-3593,
-    -3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,
-    -3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,
-     3867,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,
-    -3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,-3593,
-    -3593,-3593,-3593,-3593,-3593
-    },
-
-    {
-       27,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,
-    -3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,
-
-    -3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,
-    -3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,
-    -3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,
-    -3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,-3594,
-    -3594,-3594,-3594,-3594,-3594
-    },
-
-    {
-       27,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,
-    -3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,
-    -3595,-3595,-3595,-3595,-3595,-3595,-3595, 3868,-3595,-3595,
-    -3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,
-    -3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,-3595,
-
-    -3595,-3595, 3868,-3595,-3595,-3595,-3595,-3595,-3595,-3595,
-    -3595,-3595,-3595,-3595,-3595
-    },
-
-    {
-       27,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,
-    -3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,
-    -3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596, 3869,-3596,
-    -3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,
-    -3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,-3596,
-    -3596,-3596,-3596, 3869,-3596,-3596,-3596,-3596,-3596,-3596,
-    -3596,-3596,-3596,-3596,-3596
-    },
-
-    {
-       27,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,
-
-    -3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,
-    -3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,
-    -3597, 3870,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,
-    -3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,-3597,
-    -3597,-3597,-3597,-3597,-3597,-3597, 3870,-3597,-3597,-3597,
-    -3597,-3597,-3597,-3597,-3597
-    },
-
-    {
-       27,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,
-    -3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598, 3871,-3598,
-    -3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,
-    -3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,
-
-    -3598,-3598,-3598,-3598, 3871,-3598,-3598,-3598,-3598,-3598,
-    -3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,-3598,
-    -3598,-3598,-3598,-3598,-3598
-    },
-
-    {
-       27,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,
-    -3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,
-    -3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,
-    -3599,-3599,-3599, 3872,-3599,-3599,-3599,-3599,-3599,-3599,
-    -3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599,
-    -3599,-3599,-3599,-3599,-3599,-3599,-3599,-3599, 3872,-3599,
-    -3599,-3599,-3599,-3599,-3599
-
-    },
-
-    {
-       27,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,
-    -3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,
-    -3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,
-    -3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,
-    -3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,
-    -3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,-3600,
-    -3600,-3600,-3600,-3600,-3600
-    },
-
-    {
-       27,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,
-    -3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,
-    -3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,
-
-    -3601,-3601, 3873,-3601,-3601,-3601,-3601,-3601,-3601,-3601,
-    -3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,-3601,
-    -3601,-3601,-3601,-3601,-3601,-3601,-3601, 3873,-3601,-3601,
-    -3601,-3601,-3601,-3601,-3601
-    },
-
-    {
-       27,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,
-    -3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,
-    -3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,
-    -3602,-3602,-3602, 3874,-3602,-3602,-3602,-3602,-3602,-3602,
-    -3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602,
-    -3602,-3602,-3602,-3602,-3602,-3602,-3602,-3602, 3874,-3602,
-
-    -3602,-3602,-3602,-3602,-3602
-    },
-
-    {
-       27,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,
-    -3603,-3603,-3603,-3603, 3875,-3603,-3603,-3603,-3603,-3603,
-    -3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,
-    -3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,
-     3875,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,
-    -3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,-3603,
-    -3603,-3603,-3603,-3603,-3603
-    },
-
-    {
-       27,-3604, 3604, 3604,-3604,-3604,-3604,-3604,-3604,-3604,
-    -3604,-3604, 3605,-3604,-3604,-3604,-3604,-3604,-3604,-3604,
-
-    -3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,
-    -3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,
-    -3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,
-    -3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,-3604,
-    -3604,-3604,-3604,-3604,-3604
-    },
-
-    {
-       27,-3605,-3605,-3605,-3605,-3605,-3605,-3605,-3605,-3605,
-    -3605,-3605,-3605,-3605,-3605,-3605, 3876,-3605,-3605,-3605,
-    -3605,-3605,-3605,-3605,-3605,-3605,-3605,-3605,-3605, 3877,
-    -3605,-3605,-3605,-3605,-3605,-3605,-3605,-3605,-3605,-3605,
-    -3605,-3605, 3876,-3605,-3605,-3605,-3605,-3605,-3605,-3605,
-
-    -3605,-3605,-3605,-3605, 3877,-3605,-3605,-3605,-3605,-3605,
-    -3605,-3605,-3605,-3605,-3605
-    },
-
-    {
-       27,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,
-    -3606,-3606,-3606,-3606, 3878,-3606,-3606,-3606,-3606,-3606,
-    -3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,
-    -3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,
-     3878,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,
-    -3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,-3606,
-    -3606,-3606,-3606,-3606,-3606
-    },
-
-    {
-       27,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607, 3879,
-
-    -3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,
-    -3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,
-    -3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607, 3880,
-    -3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,
-    -3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,-3607,
-    -3607,-3607,-3607,-3607,-3607
-    },
-
-    {
-       27,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,
-    -3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,
-    -3608,-3608, 3881,-3608,-3608,-3608,-3608,-3608,-3608,-3608,
-    -3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,
-
-    -3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608, 3881,-3608,
-    -3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,-3608,
-    -3608,-3608,-3608,-3608,-3608
-    },
-
-    {
-       27,-3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609,
-    -3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609, 3882,-3609,
-    -3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609,
-    -3609,-3609,-3609,-3609, 3883,-3609,-3609,-3609,-3609,-3609,
-    -3609,-3609,-3609,-3609, 3882,-3609,-3609,-3609,-3609,-3609,
-    -3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609,-3609, 3883,
-    -3609,-3609,-3609,-3609,-3609
-
-    },
-
-    {
-       27,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,
-    -3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610, 3884,-3610,
-    -3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,
-    -3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,
-    -3610,-3610,-3610,-3610, 3884,-3610,-3610,-3610,-3610,-3610,
-    -3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,-3610,
-    -3610,-3610,-3610,-3610,-3610
-    },
-
-    {
-       27,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,
-    -3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611, 3885,-3611,
-    -3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,
-
-    -3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,
-    -3611,-3611,-3611,-3611, 3885,-3611,-3611,-3611,-3611,-3611,
-    -3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,-3611,
-    -3611,-3611,-3611,-3611,-3611
-    },
-
-    {
-       27,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,
-    -3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612, 3886,-3612,
-    -3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,
-    -3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,
-    -3612,-3612,-3612,-3612, 3886,-3612,-3612,-3612,-3612,-3612,
-    -3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,-3612,
-
-    -3612,-3612,-3612,-3612,-3612
-    },
-
-    {
-       27,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,
-    -3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,
-    -3613,-3613,-3613,-3613,-3613,-3613,-3613, 3887,-3613,-3613,
-    -3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,
-    -3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,-3613,
-    -3613,-3613, 3887,-3613,-3613,-3613,-3613,-3613,-3613,-3613,
-    -3613,-3613,-3613,-3613,-3613
-    },
-
-    {
-       27,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,
-    -3614,-3614,-3614, 3888,-3614,-3614,-3614,-3614,-3614,-3614,
-
-    -3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,
-    -3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,
-    -3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,
-    -3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,-3614,
-    -3614,-3614,-3614,-3614,-3614
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  367,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366, 3889,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-
-      366,  366,  366,  366,  366,  366,  366, 3889,  366,  366,
-      366,  366,  366,  366,  366
-    },
-
-    {
-       27,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,
-    -3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,
-    -3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,
-    -3616,-3616,-3616, 3890,-3616,-3616,-3616,-3616,-3616,-3616,
-    -3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616,
-    -3616,-3616,-3616,-3616,-3616,-3616,-3616,-3616, 3890,-3616,
-    -3616,-3616,-3616,-3616,-3616
-    },
-
-    {
-       27,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,
-
-    -3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,
-    -3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,
-    -3617,-3617, 3891,-3617,-3617,-3617,-3617,-3617,-3617,-3617,
-    -3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,-3617,
-    -3617,-3617,-3617,-3617,-3617,-3617,-3617, 3891,-3617,-3617,
-    -3617,-3617,-3617,-3617,-3617
-    },
-
-    {
-       27,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,
-    -3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618, 3892,-3618,
-    -3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,
-    -3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,
-
-    -3618,-3618,-3618,-3618, 3892,-3618,-3618,-3618,-3618,-3618,
-    -3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,-3618,
-    -3618,-3618,-3618,-3618,-3618
-    },
-
-    {
-       27,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,
-    -3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619, 3893,-3619,
-    -3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,
-    -3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,
-    -3619,-3619,-3619,-3619, 3893,-3619,-3619,-3619,-3619,-3619,
-    -3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,-3619,
-    -3619,-3619,-3619,-3619,-3619
-
-    },
-
-    {
-       27,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,
-    -3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,
-    -3620,-3620,-3620,-3620,-3620,-3620, 3894,-3620,-3620,-3620,
-    -3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,
-    -3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,
-    -3620, 3894,-3620,-3620,-3620,-3620,-3620,-3620,-3620,-3620,
-    -3620,-3620,-3620,-3620,-3620
-    },
-
-    {
-       27,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,
-    -3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,
-    -3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,
-
-    -3621,-3621, 3895,-3621,-3621,-3621,-3621,-3621,-3621,-3621,
-    -3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,-3621,
-    -3621,-3621,-3621,-3621,-3621,-3621,-3621, 3895,-3621,-3621,
-    -3621,-3621,-3621,-3621,-3621
-    },
-
-    {
-       27,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,
-    -3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,
-    -3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,
-    -3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,
-    -3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,
-    -3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,-3622,
-
-    -3622,-3622,-3622,-3622,-3622
-    },
-
-    {
-       27,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,
-    -3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,
-    -3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,
-    -3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,
-    -3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,
-    -3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,-3623,
-    -3623,-3623,-3623,-3623,-3623
-    },
-
-    {
-       27,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,
-    -3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,
-
-    -3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,
-    -3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,
-    -3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,
-    -3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,-3624,
-    -3624,-3624,-3624,-3624,-3624
-    },
-
-    {
-       27,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,
-    -3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,
-    -3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,
-    -3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,
-    -3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,
-
-    -3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,-3625,
-    -3625,-3625,-3625,-3625,-3625
-    },
-
-    {
-       27,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,
-    -3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,
-    -3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,
-    -3626,-3626, 3896,-3626,-3626,-3626,-3626,-3626,-3626,-3626,
-    -3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,-3626,
-    -3626,-3626,-3626,-3626,-3626,-3626,-3626, 3896,-3626,-3626,
-    -3626,-3626,-3626,-3626,-3626
-    },
-
-    {
-       27,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,
-
-    -3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,
-    -3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,
-    -3627,-3627,-3627, 3897,-3627,-3627,-3627,-3627,-3627,-3627,
-    -3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627,
-    -3627,-3627,-3627,-3627,-3627,-3627,-3627,-3627, 3897,-3627,
-    -3627,-3627,-3627,-3627,-3627
-    },
-
-    {
-       27,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,
-    -3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,
-    -3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,
-    -3628,-3628,-3628, 3898,-3628,-3628,-3628,-3628,-3628,-3628,
-
-    -3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628,
-    -3628,-3628,-3628,-3628,-3628,-3628,-3628,-3628, 3898,-3628,
-    -3628,-3628,-3628,-3628,-3628
-    },
-
-    {
-       27,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,
-    -3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,
-    -3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629, 3899,-3629,
-    -3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,
-    -3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,-3629,
-    -3629,-3629,-3629, 3899,-3629,-3629,-3629,-3629,-3629,-3629,
-    -3629,-3629,-3629,-3629,-3629
-
-    },
-
-    {
-       27,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,
-    -3630,-3630,-3630,-3630, 3900,-3630,-3630,-3630,-3630,-3630,
-    -3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,
-    -3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,
-     3900,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,
-    -3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,-3630,
-    -3630,-3630,-3630,-3630,-3630
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184, 3901,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3901,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,
-    -3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,
-    -3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,
-    -3632,-3632,-3632, 3902,-3632,-3632,-3632,-3632,-3632,-3632,
-    -3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632,
-    -3632,-3632,-3632,-3632,-3632,-3632,-3632,-3632, 3902,-3632,
-
-    -3632,-3632,-3632,-3632,-3632
-    },
-
-    {
-       27,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,
-    -3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,
-    -3633,-3633,-3633,-3633,-3633,-3633,-3633, 3903,-3633,-3633,
-    -3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,
-    -3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,-3633,
-    -3633,-3633, 3903,-3633,-3633,-3633,-3633,-3633,-3633,-3633,
-    -3633,-3633,-3633,-3633,-3633
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 2342,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,
-    -3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,
-    -3635,-3635,-3635,-3635,-3635,-3635,-3635, 3904,-3635,-3635,
-    -3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,
-    -3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,-3635,
-
-    -3635,-3635, 3904,-3635,-3635,-3635,-3635,-3635,-3635,-3635,
-    -3635,-3635,-3635,-3635,-3635
-    },
-
-    {
-       27,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,
-    -3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,
-    -3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,
-    -3636,-3636, 3905,-3636,-3636,-3636,-3636,-3636,-3636,-3636,
-    -3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,-3636,
-    -3636,-3636,-3636,-3636,-3636,-3636,-3636, 3905,-3636,-3636,
-    -3636,-3636,-3636,-3636,-3636
-    },
-
-    {
-       27,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,
-
-    -3637,-3637,-3637, 3906,-3637,-3637,-3637,-3637,-3637,-3637,
-    -3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,
-    -3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,
-    -3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,
-    -3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,-3637,
-    -3637,-3637,-3637,-3637,-3637
-    },
-
-    {
-       27,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,
-    -3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638, 3907,-3638,
-    -3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,
-    -3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,
-
-    -3638,-3638,-3638,-3638, 3907,-3638,-3638,-3638,-3638,-3638,
-    -3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,-3638,
-    -3638,-3638,-3638,-3638,-3638
-    },
-
-    {
-       27,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,
-    -3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,
-    -3639,-3639,-3639,-3639,-3639,-3639, 3908,-3639,-3639,-3639,
-    -3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,
-    -3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,
-    -3639, 3908,-3639,-3639,-3639,-3639,-3639,-3639,-3639,-3639,
-    -3639,-3639,-3639,-3639,-3639
-
-    },
-
-    {
-       27,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,
-    -3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,
-    -3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640, 3909,-3640,
-    -3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,
-    -3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,-3640,
-    -3640,-3640,-3640, 3909,-3640,-3640,-3640,-3640,-3640,-3640,
-    -3640,-3640,-3640,-3640,-3640
-    },
-
-    {
-       27,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,
-    -3641,-3641,-3641,-3641, 3910,-3641,-3641,-3641,-3641,-3641,
-    -3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,
-
-    -3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,
-     3910,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,
-    -3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,-3641,
-    -3641,-3641,-3641,-3641,-3641
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3911,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 3911,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 3912,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3913,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 3913,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 3914,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 3914,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184, 3915,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3915,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184, 3916,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 3916,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,
-    -3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,
-    -3648,-3648,-3648,-3648,-3648,-3648,-3648, 3917,-3648,-3648,
-    -3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,
-
-    -3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,-3648,
-    -3648,-3648, 3917,-3648,-3648,-3648,-3648,-3648,-3648,-3648,
-    -3648,-3648,-3648,-3648,-3648
-    },
-
-    {
-       27,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,
-    -3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,
-    -3649,-3649,-3649,-3649,-3649,-3649,-3649, 3918,-3649,-3649,
-    -3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,
-    -3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,-3649,
-    -3649,-3649, 3918,-3649,-3649,-3649,-3649,-3649,-3649,-3649,
-    -3649,-3649,-3649,-3649,-3649
-
-    },
-
-    {
-       27,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,
-    -3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,
-    -3650,-3650,-3650,-3650,-3650,-3650,-3650, 3919,-3650,-3650,
-    -3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,
-    -3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,-3650,
-    -3650,-3650, 3919,-3650,-3650,-3650,-3650,-3650,-3650,-3650,
-    -3650,-3650,-3650,-3650,-3650
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184, 3920,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 3920,  184,  184
-    },
-
-    {
-       27,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,
-    -3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,
-    -3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,
-    -3652,-3652,-3652, 3921,-3652,-3652,-3652,-3652,-3652,-3652,
-    -3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652,
-    -3652,-3652,-3652,-3652,-3652,-3652,-3652,-3652, 3921,-3652,
-
-    -3652,-3652,-3652,-3652,-3652
-    },
-
-    {
-       27,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,
-    -3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,
-    -3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,
-    -3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,
-    -3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,
-    -3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,-3653,
-    -3653,-3653,-3653,-3653,-3653
-    },
-
-    {
-       27,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,
-    -3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,
-
-    -3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,
-    -3654,-3654, 3922,-3654,-3654,-3654,-3654,-3654,-3654,-3654,
-    -3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,-3654,
-    -3654,-3654,-3654,-3654,-3654,-3654,-3654, 3922,-3654,-3654,
-    -3654,-3654,-3654,-3654,-3654
-    },
-
-    {
-       27,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,
-    -3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,
-    -3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,
-    -3655,-3655, 3923,-3655,-3655,-3655,-3655,-3655,-3655,-3655,
-    -3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,-3655,
-
-    -3655,-3655,-3655,-3655,-3655,-3655,-3655, 3923,-3655,-3655,
-    -3655,-3655,-3655,-3655,-3655
-    },
-
-    {
-       27,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,
-    -3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656, 3924,-3656,
-    -3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,
-    -3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,
-    -3656,-3656,-3656,-3656, 3924,-3656,-3656,-3656,-3656,-3656,
-    -3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,-3656,
-    -3656,-3656,-3656,-3656,-3656
-    },
-
-    {
-       27,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,
-
-    -3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657, 3925,-3657,
-    -3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,
-    -3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,
-    -3657,-3657,-3657,-3657, 3925,-3657,-3657,-3657,-3657,-3657,
-    -3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,-3657,
-    -3657,-3657,-3657,-3657,-3657
-    },
-
-    {
-       27,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,
-    -3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,
-    -3658,-3658,-3658,-3658,-3658,-3658, 3926,-3658,-3658,-3658,
-    -3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,
-
-    -3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,
-    -3658, 3926,-3658,-3658,-3658,-3658,-3658,-3658,-3658,-3658,
-    -3658,-3658,-3658,-3658,-3658
-    },
-
-    {
-       27,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,
-    -3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,
-    -3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,
-    -3659,-3659, 3927,-3659,-3659,-3659,-3659,-3659,-3659,-3659,
-    -3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,-3659,
-    -3659,-3659,-3659,-3659,-3659,-3659,-3659, 3927,-3659,-3659,
-    -3659,-3659,-3659,-3659,-3659
-
-    },
-
-    {
-       27,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,
-    -3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,
-    -3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,
-    -3660,-3660, 3928,-3660,-3660,-3660,-3660,-3660,-3660,-3660,
-    -3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,-3660,
-    -3660,-3660,-3660,-3660,-3660,-3660,-3660, 3928,-3660,-3660,
-    -3660,-3660,-3660,-3660,-3660
-    },
-
-    {
-       27,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,
-    -3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,
-    -3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,
-
-    -3661,-3661,-3661, 3929,-3661,-3661,-3661,-3661,-3661,-3661,
-    -3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661,
-    -3661,-3661,-3661,-3661,-3661,-3661,-3661,-3661, 3929,-3661,
-    -3661,-3661,-3661,-3661,-3661
-    },
-
-    {
-       27,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,
-    -3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,
-    -3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,
-    -3662,-3662,-3662, 3930,-3662,-3662,-3662,-3662,-3662,-3662,
-    -3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662,
-    -3662,-3662,-3662,-3662,-3662,-3662,-3662,-3662, 3930,-3662,
-
-    -3662,-3662,-3662,-3662,-3662
-    },
-
-    {
-       27,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,
-    -3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,
-    -3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663, 3931,-3663,
-    -3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,
-    -3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,-3663,
-    -3663,-3663,-3663, 3931,-3663,-3663,-3663,-3663,-3663,-3663,
-    -3663,-3663,-3663,-3663,-3663
-    },
-
-    {
-       27,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,
-    -3664,-3664,-3664,-3664, 3932,-3664,-3664,-3664,-3664,-3664,
-
-    -3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,
-    -3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,
-     3932,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,
-    -3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,-3664,
-    -3664,-3664,-3664,-3664,-3664
-    },
-
-    {
-       27,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,
-    -3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,
-    -3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,
-    -3665, 3933,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,
-    -3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,-3665,
-
-    -3665,-3665,-3665,-3665,-3665,-3665, 3933,-3665,-3665,-3665,
-    -3665,-3665,-3665,-3665,-3665
-    },
-
-    {
-       27,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,
-    -3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,
-    -3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,
-    -3666,-3666,-3666, 3934,-3666,-3666,-3666,-3666,-3666,-3666,
-    -3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666,
-    -3666,-3666,-3666,-3666,-3666,-3666,-3666,-3666, 3934,-3666,
-    -3666,-3666,-3666,-3666,-3666
-    },
-
-    {
-       27,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,
-
-    -3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,
-    -3667,-3667,-3667,-3667,-3667,-3667,-3667, 3935,-3667,-3667,
-    -3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,
-    -3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,-3667,
-    -3667,-3667, 3935,-3667,-3667,-3667,-3667,-3667,-3667,-3667,
-    -3667,-3667,-3667,-3667,-3667
-    },
-
-    {
-       27,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668, 2386,
-    -3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,
-    -3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,
-    -3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,
-
-    -3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,
-    -3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,-3668,
-    -3668,-3668,-3668,-3668,-3668
-    },
-
-    {
-       27,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,
-    -3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,
-    -3669,-3669,-3669,-3669,-3669,-3669,-3669, 3936,-3669,-3669,
-    -3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,
-    -3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,-3669,
-    -3669,-3669, 3936,-3669,-3669,-3669,-3669,-3669,-3669,-3669,
-    -3669,-3669,-3669,-3669,-3669
-
-    },
-
-    {
-       27,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,
-    -3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,
-    -3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,
-    -3670,-3670, 3937,-3670,-3670,-3670,-3670,-3670,-3670,-3670,
-    -3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,-3670,
-    -3670,-3670,-3670,-3670,-3670,-3670,-3670, 3937,-3670,-3670,
-    -3670,-3670,-3670,-3670,-3670
-    },
-
-    {
-       27,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,
-    -3671,-3671,-3671, 3938,-3671,-3671,-3671,-3671,-3671,-3671,
-    -3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,
-
-    -3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,
-    -3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,
-    -3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,-3671,
-    -3671,-3671,-3671,-3671,-3671
-    },
-
-    {
-       27,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,
-    -3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672, 3939,-3672,
-    -3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,
-    -3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,
-    -3672,-3672,-3672,-3672, 3939,-3672,-3672,-3672,-3672,-3672,
-    -3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,-3672,
-
-    -3672,-3672,-3672,-3672,-3672
-    },
-
-    {
-       27,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,
-    -3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,
-    -3673,-3673,-3673,-3673,-3673,-3673, 3940,-3673,-3673,-3673,
-    -3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,
-    -3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,
-    -3673, 3940,-3673,-3673,-3673,-3673,-3673,-3673,-3673,-3673,
-    -3673,-3673,-3673,-3673,-3673
-    },
-
-    {
-       27,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,
-    -3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,
-
-    -3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674, 3941,-3674,
-    -3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,
-    -3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,-3674,
-    -3674,-3674,-3674, 3941,-3674,-3674,-3674,-3674,-3674,-3674,
-    -3674,-3674,-3674,-3674,-3674
-    },
-
-    {
-       27,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,
-    -3675,-3675,-3675,-3675, 3942,-3675,-3675,-3675,-3675,-3675,
-    -3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,
-    -3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,
-     3942,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,
-
-    -3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,-3675,
-    -3675,-3675,-3675,-3675,-3675
-    },
-
-    {
-       27,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,
-    -3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,
-    -3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,
-    -3676, 3943,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,
-    -3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,-3676,
-    -3676,-3676,-3676,-3676,-3676,-3676, 3943,-3676,-3676,-3676,
-    -3676,-3676,-3676,-3676,-3676
-    },
-
-    {
-       27,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,
-
-    -3677,-3677,-3677, 3944,-3677,-3677,-3677,-3677,-3677,-3677,
-    -3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,
-    -3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,
-    -3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,
-    -3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,-3677,
-    -3677,-3677,-3677,-3677,-3677
-    },
-
-    {
-       27,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,
-    -3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,
-    -3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,
-    -3678,-3678, 3945,-3678,-3678,-3678,-3678,-3678,-3678,-3678,
-
-    -3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,-3678,
-    -3678,-3678,-3678,-3678,-3678,-3678,-3678, 3945,-3678,-3678,
-    -3678,-3678,-3678,-3678,-3678
-    },
-
-    {
-       27,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,
-    -3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,
-    -3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679, 3946,-3679,
-    -3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,
-    -3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,-3679,
-    -3679,-3679,-3679, 3946,-3679,-3679,-3679,-3679,-3679,-3679,
-    -3679,-3679,-3679,-3679,-3679
-
-    },
-
-    {
-       27,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,
-    -3680,-3680,-3680,-3680,-3680,-3680, 3947,-3680,-3680,-3680,
-    -3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,
-    -3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,
-    -3680,-3680, 3947,-3680,-3680,-3680,-3680,-3680,-3680,-3680,
-    -3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,-3680,
-    -3680,-3680,-3680,-3680,-3680
-    },
-
-    {
-       27,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,
-    -3681,-3681,-3681,-3681,-3681, 3948,-3681,-3681,-3681,-3681,
-    -3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,
-
-    -3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,
-    -3681, 3948,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,
-    -3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,-3681,
-    -3681,-3681,-3681,-3681,-3681
-    },
-
-    {
-       27,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,
-    -3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,
-    -3682,-3682,-3682,-3682,-3682,-3682,-3682, 3949,-3682,-3682,
-    -3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,
-    -3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,-3682,
-    -3682,-3682, 3949,-3682,-3682,-3682,-3682,-3682,-3682,-3682,
-
-    -3682,-3682,-3682,-3682,-3682
-    },
-
-    {
-       27,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,
-    -3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,
-    -3683,-3683,-3683,-3683,-3683,-3683,-3683, 3950,-3683,-3683,
-    -3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,
-    -3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,-3683,
-    -3683,-3683, 3950,-3683,-3683,-3683,-3683,-3683,-3683,-3683,
-    -3683,-3683,-3683,-3683,-3683
-    },
-
-    {
-       27,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,
-    -3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,
-
-    -3684,-3684,-3684,-3684,-3684,-3684,-3684, 3951,-3684,-3684,
-    -3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,
-    -3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,-3684,
-    -3684,-3684, 3951,-3684,-3684,-3684,-3684,-3684,-3684,-3684,
-    -3684,-3684,-3684,-3684,-3684
-    },
-
-    {
-       27,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,
-    -3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,
-    -3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,
-    -3685,-3685,-3685, 3952,-3685,-3685,-3685,-3685,-3685,-3685,
-    -3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685,
-
-    -3685,-3685,-3685,-3685,-3685,-3685,-3685,-3685, 3952,-3685,
-    -3685,-3685,-3685,-3685,-3685
-    },
-
-    {
-       27,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,
-    -3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,
-    -3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,
-    -3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,
-    -3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,
-    -3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,-3686,
-    -3686,-3686,-3686,-3686,-3686
-    },
-
-    {
-       27,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,
-
-    -3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,
-    -3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,
-    -3687,-3687, 3953,-3687,-3687,-3687,-3687,-3687,-3687,-3687,
-    -3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,-3687,
-    -3687,-3687,-3687,-3687,-3687,-3687,-3687, 3953,-3687,-3687,
-    -3687,-3687,-3687,-3687,-3687
-    },
-
-    {
-       27,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,
-    -3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,
-    -3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,
-    -3688,-3688, 3954,-3688,-3688,-3688,-3688,-3688,-3688,-3688,
-
-    -3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,-3688,
-    -3688,-3688,-3688,-3688,-3688,-3688,-3688, 3954,-3688,-3688,
-    -3688,-3688,-3688,-3688,-3688
-    },
-
-    {
-       27,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,
-    -3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689, 3955,-3689,
-    -3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,
-    -3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,
-    -3689,-3689,-3689,-3689, 3955,-3689,-3689,-3689,-3689,-3689,
-    -3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,-3689,
-    -3689,-3689,-3689,-3689,-3689
-
-    },
-
-    {
-       27,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,
-    -3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690, 3956,-3690,
-    -3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,
-    -3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,
-    -3690,-3690,-3690,-3690, 3956,-3690,-3690,-3690,-3690,-3690,
-    -3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,-3690,
-    -3690,-3690,-3690,-3690,-3690
-    },
-
-    {
-       27,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,
-    -3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,
-    -3691,-3691,-3691,-3691,-3691,-3691, 3957,-3691,-3691,-3691,
-
-    -3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,
-    -3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,
-    -3691, 3957,-3691,-3691,-3691,-3691,-3691,-3691,-3691,-3691,
-    -3691,-3691,-3691,-3691,-3691
-    },
-
-    {
-       27,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,
-    -3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,
-    -3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,
-    -3692,-3692, 3958,-3692,-3692,-3692,-3692,-3692,-3692,-3692,
-    -3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,-3692,
-    -3692,-3692,-3692,-3692,-3692,-3692,-3692, 3958,-3692,-3692,
-
-    -3692,-3692,-3692,-3692,-3692
-    },
-
-    {
-       27,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,
-    -3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,
-    -3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,
-    -3693,-3693, 3959,-3693,-3693,-3693,-3693,-3693,-3693,-3693,
-    -3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,-3693,
-    -3693,-3693,-3693,-3693,-3693,-3693,-3693, 3959,-3693,-3693,
-    -3693,-3693,-3693,-3693,-3693
-    },
-
-    {
-       27,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,
-    -3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,
-
-    -3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,
-    -3694,-3694,-3694, 3960,-3694,-3694,-3694,-3694,-3694,-3694,
-    -3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694,
-    -3694,-3694,-3694,-3694,-3694,-3694,-3694,-3694, 3960,-3694,
-    -3694,-3694,-3694,-3694,-3694
-    },
-
-    {
-       27,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,
-    -3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,
-    -3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,
-    -3695,-3695,-3695, 3961,-3695,-3695,-3695,-3695,-3695,-3695,
-    -3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695,
-
-    -3695,-3695,-3695,-3695,-3695,-3695,-3695,-3695, 3961,-3695,
-    -3695,-3695,-3695,-3695,-3695
-    },
-
-    {
-       27,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,
-    -3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,
-    -3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696, 3962,-3696,
-    -3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,
-    -3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,-3696,
-    -3696,-3696,-3696, 3962,-3696,-3696,-3696,-3696,-3696,-3696,
-    -3696,-3696,-3696,-3696,-3696
-    },
-
-    {
-       27,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,
-
-    -3697,-3697,-3697,-3697, 3963,-3697,-3697,-3697,-3697,-3697,
-    -3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,
-    -3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,
-     3963,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,
-    -3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,-3697,
-    -3697,-3697,-3697,-3697,-3697
-    },
-
-    {
-       27,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,
-    -3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,
-    -3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,
-    -3698, 3964,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,
-
-    -3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,-3698,
-    -3698,-3698,-3698,-3698,-3698,-3698, 3964,-3698,-3698,-3698,
-    -3698,-3698,-3698,-3698,-3698
-    },
-
-    {
-       27,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,
-    -3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,
-    -3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,
-    -3699,-3699,-3699, 3965,-3699,-3699,-3699,-3699,-3699,-3699,
-    -3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699,
-    -3699,-3699,-3699,-3699,-3699,-3699,-3699,-3699, 3965,-3699,
-    -3699,-3699,-3699,-3699,-3699
-
-    },
-
-    {
-       27,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,
-    -3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,
-    -3700,-3700,-3700,-3700,-3700,-3700,-3700, 3966,-3700,-3700,
-    -3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,
-    -3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,-3700,
-    -3700,-3700, 3966,-3700,-3700,-3700,-3700,-3700,-3700,-3700,
-    -3700,-3700,-3700,-3700,-3700
-    },
-
-    {
-       27,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701, 2426,
-    -3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,
-    -3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,
-
-    -3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,
-    -3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,
-    -3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,-3701,
-    -3701,-3701,-3701,-3701,-3701
-    },
-
-    {
-       27,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,
-    -3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,
-    -3702,-3702,-3702,-3702,-3702,-3702,-3702, 3967,-3702,-3702,
-    -3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,
-    -3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,-3702,
-    -3702,-3702, 3967,-3702,-3702,-3702,-3702,-3702,-3702,-3702,
-
-    -3702,-3702,-3702,-3702,-3702
-    },
-
-    {
-       27,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,
-    -3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,
-    -3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,
-    -3703,-3703, 3968,-3703,-3703,-3703,-3703,-3703,-3703,-3703,
-    -3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,-3703,
-    -3703,-3703,-3703,-3703,-3703,-3703,-3703, 3968,-3703,-3703,
-    -3703,-3703,-3703,-3703,-3703
-    },
-
-    {
-       27,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,
-    -3704,-3704,-3704, 3969,-3704,-3704,-3704,-3704,-3704,-3704,
-
-    -3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,
-    -3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,
-    -3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,
-    -3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,-3704,
-    -3704,-3704,-3704,-3704,-3704
-    },
-
-    {
-       27,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,
-    -3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705, 3970,-3705,
-    -3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,
-    -3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,
-    -3705,-3705,-3705,-3705, 3970,-3705,-3705,-3705,-3705,-3705,
-
-    -3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,-3705,
-    -3705,-3705,-3705,-3705,-3705
-    },
-
-    {
-       27,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,
-    -3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,
-    -3706,-3706,-3706,-3706,-3706,-3706, 3971,-3706,-3706,-3706,
-    -3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,
-    -3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,
-    -3706, 3971,-3706,-3706,-3706,-3706,-3706,-3706,-3706,-3706,
-    -3706,-3706,-3706,-3706,-3706
-    },
-
-    {
-       27,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,
-
-    -3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,
-    -3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707, 3972,-3707,
-    -3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,
-    -3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,-3707,
-    -3707,-3707,-3707, 3972,-3707,-3707,-3707,-3707,-3707,-3707,
-    -3707,-3707,-3707,-3707,-3707
-    },
-
-    {
-       27,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,
-    -3708,-3708,-3708,-3708, 3973,-3708,-3708,-3708,-3708,-3708,
-    -3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,
-    -3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,
-
-     3973,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,
-    -3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,-3708,
-    -3708,-3708,-3708,-3708,-3708
-    },
-
-    {
-       27,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,
-    -3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,
-    -3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,
-    -3709, 3974,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,
-    -3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,-3709,
-    -3709,-3709,-3709,-3709,-3709,-3709, 3974,-3709,-3709,-3709,
-    -3709,-3709,-3709,-3709,-3709
-
-    },
-
-    {
-       27,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,
-    -3710,-3710,-3710, 3975,-3710,-3710,-3710,-3710,-3710,-3710,
-    -3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,
-    -3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,
-    -3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,
-    -3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,-3710,
-    -3710,-3710,-3710,-3710,-3710
-    },
-
-    {
-       27,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,
-    -3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,
-    -3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,
-
-    -3711,-3711, 3976,-3711,-3711,-3711,-3711,-3711,-3711,-3711,
-    -3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,-3711,
-    -3711,-3711,-3711,-3711,-3711,-3711,-3711, 3976,-3711,-3711,
-    -3711,-3711,-3711,-3711,-3711
-    },
-
-    {
-       27,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,
-    -3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,
-    -3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712, 3977,-3712,
-    -3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,
-    -3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,-3712,
-    -3712,-3712,-3712, 3977,-3712,-3712,-3712,-3712,-3712,-3712,
-
-    -3712,-3712,-3712,-3712,-3712
-    },
-
-    {
-       27,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,
-    -3713,-3713,-3713,-3713,-3713,-3713, 3978,-3713,-3713,-3713,
-    -3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,
-    -3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,
-    -3713,-3713, 3978,-3713,-3713,-3713,-3713,-3713,-3713,-3713,
-    -3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,-3713,
-    -3713,-3713,-3713,-3713,-3713
-    },
-
-    {
-       27,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,
-    -3714,-3714,-3714,-3714,-3714, 3979,-3714,-3714,-3714,-3714,
-
-    -3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,
-    -3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,
-    -3714, 3979,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,
-    -3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,-3714,
-    -3714,-3714,-3714,-3714,-3714
-    },
-
-    {
-       27,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,
-    -3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,
-    -3715,-3715,-3715,-3715,-3715,-3715,-3715, 3980,-3715,-3715,
-    -3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,
-    -3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,-3715,
-
-    -3715,-3715, 3980,-3715,-3715,-3715,-3715,-3715,-3715,-3715,
-    -3715,-3715,-3715,-3715,-3715
-    },
-
-    {
-       27,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,
-    -3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,
-    -3716,-3716,-3716,-3716,-3716,-3716,-3716, 3981,-3716,-3716,
-    -3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,
-    -3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,-3716,
-    -3716,-3716, 3981,-3716,-3716,-3716,-3716,-3716,-3716,-3716,
-    -3716,-3716,-3716,-3716,-3716
-    },
-
-    {
-       27,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,
-
-    -3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,
-    -3717,-3717,-3717,-3717,-3717,-3717,-3717, 3982,-3717,-3717,
-    -3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,
-    -3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,-3717,
-    -3717,-3717, 3982,-3717,-3717,-3717,-3717,-3717,-3717,-3717,
-    -3717,-3717,-3717,-3717,-3717
-    },
-
-    {
-       27,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,
-    -3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,
-    -3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,
-    -3718,-3718,-3718, 3983,-3718,-3718,-3718,-3718,-3718,-3718,
-
-    -3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718,
-    -3718,-3718,-3718,-3718,-3718,-3718,-3718,-3718, 3983,-3718,
-    -3718,-3718,-3718,-3718,-3718
-    },
-
-    {
-       27,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,
-    -3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,
-    -3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,
-    -3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,
-    -3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,
-    -3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,-3719,
-    -3719,-3719,-3719,-3719,-3719
-
-    },
-
-    {
-       27,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,
-    -3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,
-    -3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,
-    -3720,-3720, 3984,-3720,-3720,-3720,-3720,-3720,-3720,-3720,
-    -3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,-3720,
-    -3720,-3720,-3720,-3720,-3720,-3720,-3720, 3984,-3720,-3720,
-    -3720,-3720,-3720,-3720,-3720
-    },
-
-    {
-       27,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,
-    -3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,
-    -3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,
-
-    -3721,-3721, 3985,-3721,-3721,-3721,-3721,-3721,-3721,-3721,
-    -3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,-3721,
-    -3721,-3721,-3721,-3721,-3721,-3721,-3721, 3985,-3721,-3721,
-    -3721,-3721,-3721,-3721,-3721
-    },
-
-    {
-       27,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,
-    -3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722, 3986,-3722,
-    -3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,
-    -3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,
-    -3722,-3722,-3722,-3722, 3986,-3722,-3722,-3722,-3722,-3722,
-    -3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,-3722,
-
-    -3722,-3722,-3722,-3722,-3722
-    },
-
-    {
-       27,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,
-    -3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723, 3987,-3723,
-    -3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,
-    -3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,
-    -3723,-3723,-3723,-3723, 3987,-3723,-3723,-3723,-3723,-3723,
-    -3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,-3723,
-    -3723,-3723,-3723,-3723,-3723
-    },
-
-    {
-       27,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,
-    -3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,
-
-    -3724,-3724,-3724,-3724,-3724,-3724, 3988,-3724,-3724,-3724,
-    -3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,
-    -3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,
-    -3724, 3988,-3724,-3724,-3724,-3724,-3724,-3724,-3724,-3724,
-    -3724,-3724,-3724,-3724,-3724
-    },
-
-    {
-       27,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,
-    -3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,
-    -3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,
-    -3725,-3725, 3989,-3725,-3725,-3725,-3725,-3725,-3725,-3725,
-    -3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,-3725,
-
-    -3725,-3725,-3725,-3725,-3725,-3725,-3725, 3989,-3725,-3725,
-    -3725,-3725,-3725,-3725,-3725
-    },
-
-    {
-       27,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,
-    -3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,
-    -3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,
-    -3726,-3726, 3990,-3726,-3726,-3726,-3726,-3726,-3726,-3726,
-    -3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,-3726,
-    -3726,-3726,-3726,-3726,-3726,-3726,-3726, 3990,-3726,-3726,
-    -3726,-3726,-3726,-3726,-3726
-    },
-
-    {
-       27,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,
-
-    -3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,
-    -3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,
-    -3727,-3727,-3727, 3991,-3727,-3727,-3727,-3727,-3727,-3727,
-    -3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727,
-    -3727,-3727,-3727,-3727,-3727,-3727,-3727,-3727, 3991,-3727,
-    -3727,-3727,-3727,-3727,-3727
-    },
-
-    {
-       27,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,
-    -3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,
-    -3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,
-    -3728,-3728,-3728, 3992,-3728,-3728,-3728,-3728,-3728,-3728,
-
-    -3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728,
-    -3728,-3728,-3728,-3728,-3728,-3728,-3728,-3728, 3992,-3728,
-    -3728,-3728,-3728,-3728,-3728
-    },
-
-    {
-       27,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,
-    -3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,
-    -3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729, 3993,-3729,
-    -3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,
-    -3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,-3729,
-    -3729,-3729,-3729, 3993,-3729,-3729,-3729,-3729,-3729,-3729,
-    -3729,-3729,-3729,-3729,-3729
-
-    },
-
-    {
-       27,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,
-    -3730,-3730,-3730,-3730, 3994,-3730,-3730,-3730,-3730,-3730,
-    -3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,
-    -3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,
-     3994,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,
-    -3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,-3730,
-    -3730,-3730,-3730,-3730,-3730
-    },
-
-    {
-       27,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,
-    -3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,
-    -3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,
-
-    -3731, 3995,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,
-    -3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,-3731,
-    -3731,-3731,-3731,-3731,-3731,-3731, 3995,-3731,-3731,-3731,
-    -3731,-3731,-3731,-3731,-3731
-    },
-
-    {
-       27,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,
-    -3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,
-    -3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,
-    -3732,-3732,-3732, 3996,-3732,-3732,-3732,-3732,-3732,-3732,
-    -3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732,
-    -3732,-3732,-3732,-3732,-3732,-3732,-3732,-3732, 3996,-3732,
-
-    -3732,-3732,-3732,-3732,-3732
-    },
-
-    {
-       27,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,
-    -3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,
-    -3733,-3733,-3733,-3733,-3733,-3733,-3733, 3997,-3733,-3733,
-    -3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,
-    -3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,-3733,
-    -3733,-3733, 3997,-3733,-3733,-3733,-3733,-3733,-3733,-3733,
-    -3733,-3733,-3733,-3733,-3733
-    },
-
-    {
-       27,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734, 2467,
-    -3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,
-
-    -3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,
-    -3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,
-    -3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,
-    -3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,-3734,
-    -3734,-3734,-3734,-3734,-3734
-    },
-
-    {
-       27,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,
-    -3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,
-    -3735,-3735,-3735,-3735,-3735,-3735,-3735, 3998,-3735,-3735,
-    -3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,
-    -3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,-3735,
-
-    -3735,-3735, 3998,-3735,-3735,-3735,-3735,-3735,-3735,-3735,
-    -3735,-3735,-3735,-3735,-3735
-    },
-
-    {
-       27,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,
-    -3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,
-    -3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,
-    -3736,-3736, 3999,-3736,-3736,-3736,-3736,-3736,-3736,-3736,
-    -3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,-3736,
-    -3736,-3736,-3736,-3736,-3736,-3736,-3736, 3999,-3736,-3736,
-    -3736,-3736,-3736,-3736,-3736
-    },
-
-    {
-       27,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,
-
-    -3737,-3737,-3737, 4000,-3737,-3737,-3737,-3737,-3737,-3737,
-    -3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,
-    -3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,
-    -3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,
-    -3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,-3737,
-    -3737,-3737,-3737,-3737,-3737
-    },
-
-    {
-       27,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,
-    -3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738, 4001,-3738,
-    -3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,
-    -3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,
-
-    -3738,-3738,-3738,-3738, 4001,-3738,-3738,-3738,-3738,-3738,
-    -3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,-3738,
-    -3738,-3738,-3738,-3738,-3738
-    },
-
-    {
-       27,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,
-    -3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,
-    -3739,-3739,-3739,-3739,-3739,-3739, 4002,-3739,-3739,-3739,
-    -3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,
-    -3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,
-    -3739, 4002,-3739,-3739,-3739,-3739,-3739,-3739,-3739,-3739,
-    -3739,-3739,-3739,-3739,-3739
-
-    },
-
-    {
-       27,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,
-    -3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,
-    -3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740, 4003,-3740,
-    -3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,
-    -3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,-3740,
-    -3740,-3740,-3740, 4003,-3740,-3740,-3740,-3740,-3740,-3740,
-    -3740,-3740,-3740,-3740,-3740
-    },
-
-    {
-       27,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,
-    -3741,-3741,-3741,-3741, 4004,-3741,-3741,-3741,-3741,-3741,
-    -3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,
-
-    -3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,
-     4004,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,
-    -3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,-3741,
-    -3741,-3741,-3741,-3741,-3741
-    },
-
-    {
-       27,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,
-    -3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,
-    -3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,
-    -3742, 4005,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,
-    -3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,-3742,
-    -3742,-3742,-3742,-3742,-3742,-3742, 4005,-3742,-3742,-3742,
-
-    -3742,-3742,-3742,-3742,-3742
-    },
-
-    {
-       27,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,
-    -3743,-3743,-3743, 4006,-3743,-3743,-3743,-3743,-3743,-3743,
-    -3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,
-    -3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,
-    -3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,
-    -3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,-3743,
-    -3743,-3743,-3743,-3743,-3743
-    },
-
-    {
-       27,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,
-    -3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,
-
-    -3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,
-    -3744,-3744, 4007,-3744,-3744,-3744,-3744,-3744,-3744,-3744,
-    -3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,-3744,
-    -3744,-3744,-3744,-3744,-3744,-3744,-3744, 4007,-3744,-3744,
-    -3744,-3744,-3744,-3744,-3744
-    },
-
-    {
-       27,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,
-    -3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,
-    -3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745, 4008,-3745,
-    -3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,
-    -3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,-3745,
-
-    -3745,-3745,-3745, 4008,-3745,-3745,-3745,-3745,-3745,-3745,
-    -3745,-3745,-3745,-3745,-3745
-    },
-
-    {
-       27,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,
-    -3746,-3746,-3746,-3746,-3746,-3746, 4009,-3746,-3746,-3746,
-    -3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,
-    -3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,
-    -3746,-3746, 4009,-3746,-3746,-3746,-3746,-3746,-3746,-3746,
-    -3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,-3746,
-    -3746,-3746,-3746,-3746,-3746
-    },
-
-    {
-       27,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,
-
-    -3747,-3747,-3747,-3747,-3747, 4010,-3747,-3747,-3747,-3747,
-    -3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,
-    -3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,
-    -3747, 4010,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,
-    -3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,-3747,
-    -3747,-3747,-3747,-3747,-3747
-    },
-
-    {
-       27,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,
-    -3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,
-    -3748,-3748,-3748,-3748,-3748,-3748,-3748, 4011,-3748,-3748,
-    -3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,
-
-    -3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,-3748,
-    -3748,-3748, 4011,-3748,-3748,-3748,-3748,-3748,-3748,-3748,
-    -3748,-3748,-3748,-3748,-3748
-    },
-
-    {
-       27,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,
-    -3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,
-    -3749,-3749,-3749,-3749,-3749,-3749,-3749, 4012,-3749,-3749,
-    -3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,
-    -3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,-3749,
-    -3749,-3749, 4012,-3749,-3749,-3749,-3749,-3749,-3749,-3749,
-    -3749,-3749,-3749,-3749,-3749
-
-    },
-
-    {
-       27,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,
-    -3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,
-    -3750,-3750,-3750,-3750,-3750,-3750,-3750, 4013,-3750,-3750,
-    -3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,
-    -3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,-3750,
-    -3750,-3750, 4013,-3750,-3750,-3750,-3750,-3750,-3750,-3750,
-    -3750,-3750,-3750,-3750,-3750
-    },
-
-    {
-       27,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,
-    -3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,
-    -3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,
-
-    -3751,-3751,-3751, 4014,-3751,-3751,-3751,-3751,-3751,-3751,
-    -3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751,
-    -3751,-3751,-3751,-3751,-3751,-3751,-3751,-3751, 4014,-3751,
-    -3751,-3751,-3751,-3751,-3751
-    },
-
-    {
-       27,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,
-    -3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,
-    -3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,
-    -3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,
-    -3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,
-    -3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,-3752,
-
-    -3752,-3752,-3752,-3752,-3752
-    },
-
-    {
-       27,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,
-    -3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,
-    -3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,
-    -3753,-3753, 4015,-3753,-3753,-3753,-3753,-3753,-3753,-3753,
-    -3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,-3753,
-    -3753,-3753,-3753,-3753,-3753,-3753,-3753, 4015,-3753,-3753,
-    -3753,-3753,-3753,-3753,-3753
-    },
-
-    {
-       27,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,
-    -3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,
-
-    -3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,
-    -3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,
-    -3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,
-    -3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,-3754,
-    -3754,-3754,-3754,-3754,-3754
-    },
-
-    {
-       27,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,
-    -3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,
-    -3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,
-    -3755,-3755, 4016,-3755,-3755,-3755,-3755,-3755,-3755,-3755,
-    -3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,-3755,
-
-    -3755,-3755,-3755,-3755,-3755,-3755,-3755, 4016,-3755,-3755,
-    -3755,-3755,-3755,-3755,-3755
-    },
-
-    {
-       27,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,
-    -3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756, 4017,-3756,
-    -3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,
-    -3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,
-    -3756,-3756,-3756,-3756, 4017,-3756,-3756,-3756,-3756,-3756,
-    -3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,-3756,
-    -3756,-3756,-3756,-3756,-3756
-    },
-
-    {
-       27,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,
-
-    -3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757, 4018,-3757,
-    -3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,
-    -3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,
-    -3757,-3757,-3757,-3757, 4018,-3757,-3757,-3757,-3757,-3757,
-    -3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,-3757,
-    -3757,-3757,-3757,-3757,-3757
-    },
-
-    {
-       27,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,
-    -3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,
-    -3758,-3758,-3758,-3758,-3758,-3758, 4019,-3758,-3758,-3758,
-    -3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,
-
-    -3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,
-    -3758, 4019,-3758,-3758,-3758,-3758,-3758,-3758,-3758,-3758,
-    -3758,-3758,-3758,-3758,-3758
-    },
-
-    {
-       27,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,
-    -3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,
-    -3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,
-    -3759,-3759, 4020,-3759,-3759,-3759,-3759,-3759,-3759,-3759,
-    -3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,-3759,
-    -3759,-3759,-3759,-3759,-3759,-3759,-3759, 4020,-3759,-3759,
-    -3759,-3759,-3759,-3759,-3759
-
-    },
-
-    {
-       27,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,
-    -3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,
-    -3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,
-    -3760,-3760, 4021,-3760,-3760,-3760,-3760,-3760,-3760,-3760,
-    -3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,-3760,
-    -3760,-3760,-3760,-3760,-3760,-3760,-3760, 4021,-3760,-3760,
-    -3760,-3760,-3760,-3760,-3760
-    },
-
-    {
-       27,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,
-    -3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,
-    -3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,
-
-    -3761,-3761,-3761, 4022,-3761,-3761,-3761,-3761,-3761,-3761,
-    -3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761,
-    -3761,-3761,-3761,-3761,-3761,-3761,-3761,-3761, 4022,-3761,
-    -3761,-3761,-3761,-3761,-3761
-    },
-
-    {
-       27,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,
-    -3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,
-    -3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,
-    -3762,-3762,-3762, 4023,-3762,-3762,-3762,-3762,-3762,-3762,
-    -3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762,
-    -3762,-3762,-3762,-3762,-3762,-3762,-3762,-3762, 4023,-3762,
-
-    -3762,-3762,-3762,-3762,-3762
-    },
-
-    {
-       27,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,
-    -3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,
-    -3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763, 4024,-3763,
-    -3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,
-    -3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,-3763,
-    -3763,-3763,-3763, 4024,-3763,-3763,-3763,-3763,-3763,-3763,
-    -3763,-3763,-3763,-3763,-3763
-    },
-
-    {
-       27,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,
-    -3764,-3764,-3764,-3764, 4025,-3764,-3764,-3764,-3764,-3764,
-
-    -3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,
-    -3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,
-     4025,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,
-    -3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,-3764,
-    -3764,-3764,-3764,-3764,-3764
-    },
-
-    {
-       27,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,
-    -3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,
-    -3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,
-    -3765, 4026,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,
-    -3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,-3765,
-
-    -3765,-3765,-3765,-3765,-3765,-3765, 4026,-3765,-3765,-3765,
-    -3765,-3765,-3765,-3765,-3765
-    },
-
-    {
-       27,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,
-    -3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,
-    -3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,
-    -3766,-3766,-3766, 4027,-3766,-3766,-3766,-3766,-3766,-3766,
-    -3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766,
-    -3766,-3766,-3766,-3766,-3766,-3766,-3766,-3766, 4027,-3766,
-    -3766,-3766,-3766,-3766,-3766
-    },
-
-    {
-       27,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,
-
-    -3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,
-    -3767,-3767,-3767,-3767,-3767,-3767,-3767, 4028,-3767,-3767,
-    -3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,
-    -3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,-3767,
-    -3767,-3767, 4028,-3767,-3767,-3767,-3767,-3767,-3767,-3767,
-    -3767,-3767,-3767,-3767,-3767
-    },
-
-    {
-       27,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768, 2508,
-    -3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,
-    -3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,
-    -3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,
-
-    -3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,
-    -3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,-3768,
-    -3768,-3768,-3768,-3768,-3768
-    },
-
-    {
-       27,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,
-    -3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,
-    -3769,-3769,-3769,-3769,-3769,-3769,-3769, 4029,-3769,-3769,
-    -3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,
-    -3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,-3769,
-    -3769,-3769, 4029,-3769,-3769,-3769,-3769,-3769,-3769,-3769,
-    -3769,-3769,-3769,-3769,-3769
-
-    },
-
-    {
-       27,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,
-    -3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,
-    -3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,
-    -3770,-3770, 4030,-3770,-3770,-3770,-3770,-3770,-3770,-3770,
-    -3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,-3770,
-    -3770,-3770,-3770,-3770,-3770,-3770,-3770, 4030,-3770,-3770,
-    -3770,-3770,-3770,-3770,-3770
-    },
-
-    {
-       27,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,
-    -3771,-3771,-3771, 4031,-3771,-3771,-3771,-3771,-3771,-3771,
-    -3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,
-
-    -3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,
-    -3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,
-    -3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,-3771,
-    -3771,-3771,-3771,-3771,-3771
-    },
-
-    {
-       27,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,
-    -3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772, 4032,-3772,
-    -3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,
-    -3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,
-    -3772,-3772,-3772,-3772, 4032,-3772,-3772,-3772,-3772,-3772,
-    -3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,-3772,
-
-    -3772,-3772,-3772,-3772,-3772
-    },
-
-    {
-       27,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,
-    -3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,
-    -3773,-3773,-3773,-3773,-3773,-3773, 4033,-3773,-3773,-3773,
-    -3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,
-    -3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,
-    -3773, 4033,-3773,-3773,-3773,-3773,-3773,-3773,-3773,-3773,
-    -3773,-3773,-3773,-3773,-3773
-    },
-
-    {
-       27,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,
-    -3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,
-
-    -3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774, 4034,-3774,
-    -3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,
-    -3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,-3774,
-    -3774,-3774,-3774, 4034,-3774,-3774,-3774,-3774,-3774,-3774,
-    -3774,-3774,-3774,-3774,-3774
-    },
-
-    {
-       27,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,
-    -3775,-3775,-3775,-3775, 4035,-3775,-3775,-3775,-3775,-3775,
-    -3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,
-    -3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,
-     4035,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,
-
-    -3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,-3775,
-    -3775,-3775,-3775,-3775,-3775
-    },
-
-    {
-       27,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,
-    -3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,
-    -3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,
-    -3776, 4036,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,
-    -3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,-3776,
-    -3776,-3776,-3776,-3776,-3776,-3776, 4036,-3776,-3776,-3776,
-    -3776,-3776,-3776,-3776,-3776
-    },
-
-    {
-       27,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,
-
-    -3777,-3777,-3777, 4037,-3777,-3777,-3777,-3777,-3777,-3777,
-    -3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,
-    -3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,
-    -3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,
-    -3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,-3777,
-    -3777,-3777,-3777,-3777,-3777
-    },
-
-    {
-       27,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,
-    -3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,
-    -3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,
-    -3778,-3778, 4038,-3778,-3778,-3778,-3778,-3778,-3778,-3778,
-
-    -3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,-3778,
-    -3778,-3778,-3778,-3778,-3778,-3778,-3778, 4038,-3778,-3778,
-    -3778,-3778,-3778,-3778,-3778
-    },
-
-    {
-       27,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,
-    -3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,
-    -3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779, 4039,-3779,
-    -3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,
-    -3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,-3779,
-    -3779,-3779,-3779, 4039,-3779,-3779,-3779,-3779,-3779,-3779,
-    -3779,-3779,-3779,-3779,-3779
-
-    },
-
-    {
-       27,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,
-    -3780,-3780,-3780,-3780,-3780,-3780, 4040,-3780,-3780,-3780,
-    -3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,
-    -3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,
-    -3780,-3780, 4040,-3780,-3780,-3780,-3780,-3780,-3780,-3780,
-    -3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,-3780,
-    -3780,-3780,-3780,-3780,-3780
-    },
-
-    {
-       27,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,
-    -3781,-3781,-3781,-3781,-3781, 4041,-3781,-3781,-3781,-3781,
-    -3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,
-
-    -3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,
-    -3781, 4041,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,
-    -3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,-3781,
-    -3781,-3781,-3781,-3781,-3781
-    },
-
-    {
-       27,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,
-    -3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,
-    -3782,-3782,-3782,-3782,-3782,-3782,-3782, 4042,-3782,-3782,
-    -3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,
-    -3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,-3782,
-    -3782,-3782, 4042,-3782,-3782,-3782,-3782,-3782,-3782,-3782,
-
-    -3782,-3782,-3782,-3782,-3782
-    },
-
-    {
-       27,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,
-    -3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,
-    -3783,-3783,-3783,-3783,-3783,-3783,-3783, 4043,-3783,-3783,
-    -3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,
-    -3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,-3783,
-    -3783,-3783, 4043,-3783,-3783,-3783,-3783,-3783,-3783,-3783,
-    -3783,-3783,-3783,-3783,-3783
-    },
-
-    {
-       27,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,
-    -3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,
-
-    -3784,-3784,-3784,-3784,-3784,-3784,-3784, 4044,-3784,-3784,
-    -3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,
-    -3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,-3784,
-    -3784,-3784, 4044,-3784,-3784,-3784,-3784,-3784,-3784,-3784,
-    -3784,-3784,-3784,-3784,-3784
-    },
-
-    {
-       27,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,
-    -3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,
-    -3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,
-    -3785,-3785,-3785, 4045,-3785,-3785,-3785,-3785,-3785,-3785,
-    -3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785,
-
-    -3785,-3785,-3785,-3785,-3785,-3785,-3785,-3785, 4045,-3785,
-    -3785,-3785,-3785,-3785,-3785
-    },
-
-    {
-       27,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,
-    -3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,
-    -3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,
-    -3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,
-    -3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,
-    -3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,-3786,
-    -3786,-3786,-3786,-3786,-3786
-    },
-
-    {
-       27,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,
-
-    -3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,
-    -3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,
-    -3787,-3787, 4046,-3787,-3787,-3787,-3787,-3787,-3787,-3787,
-    -3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,-3787,
-    -3787,-3787,-3787,-3787,-3787,-3787,-3787, 4046,-3787,-3787,
-    -3787,-3787,-3787,-3787,-3787
-    },
-
-    {
-       27,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,
-    -3788,-3788,-3788, 2531,-3788,-3788,-3788,-3788,-3788,-3788,
-    -3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,
-    -3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,
-
-    -3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,
-    -3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,-3788,
-    -3788,-3788,-3788,-3788,-3788
-    },
-
-    {
-       27,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,
-    -3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,
-    -3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,
-    -3789,-3789, 4047,-3789,-3789,-3789,-3789,-3789,-3789,-3789,
-    -3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,-3789,
-    -3789,-3789,-3789,-3789,-3789,-3789,-3789, 4047,-3789,-3789,
-    -3789,-3789,-3789,-3789,-3789
-
-    },
-
-    {
-       27,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,
-    -3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790, 4048,-3790,
-    -3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,
-    -3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,
-    -3790,-3790,-3790,-3790, 4048,-3790,-3790,-3790,-3790,-3790,
-    -3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,-3790,
-    -3790,-3790,-3790,-3790,-3790
-    },
-
-    {
-       27,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,
-    -3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791, 4049,-3791,
-    -3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,
-
-    -3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,
-    -3791,-3791,-3791,-3791, 4049,-3791,-3791,-3791,-3791,-3791,
-    -3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,-3791,
-    -3791,-3791,-3791,-3791,-3791
-    },
-
-    {
-       27,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,
-    -3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,
-    -3792,-3792,-3792,-3792,-3792,-3792, 4050,-3792,-3792,-3792,
-    -3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,
-    -3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,
-    -3792, 4050,-3792,-3792,-3792,-3792,-3792,-3792,-3792,-3792,
-
-    -3792,-3792,-3792,-3792,-3792
-    },
-
-    {
-       27,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,
-    -3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,
-    -3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,
-    -3793,-3793, 4051,-3793,-3793,-3793,-3793,-3793,-3793,-3793,
-    -3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,-3793,
-    -3793,-3793,-3793,-3793,-3793,-3793,-3793, 4051,-3793,-3793,
-    -3793,-3793,-3793,-3793,-3793
-    },
-
-    {
-       27,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,
-    -3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,
-
-    -3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,
-    -3794,-3794, 4052,-3794,-3794,-3794,-3794,-3794,-3794,-3794,
-    -3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,-3794,
-    -3794,-3794,-3794,-3794,-3794,-3794,-3794, 4052,-3794,-3794,
-    -3794,-3794,-3794,-3794,-3794
-    },
-
-    {
-       27,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,
-    -3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,
-    -3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,
-    -3795,-3795,-3795, 4053,-3795,-3795,-3795,-3795,-3795,-3795,
-    -3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795,
-
-    -3795,-3795,-3795,-3795,-3795,-3795,-3795,-3795, 4053,-3795,
-    -3795,-3795,-3795,-3795,-3795
-    },
-
-    {
-       27,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,
-    -3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,
-    -3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,
-    -3796,-3796,-3796, 4054,-3796,-3796,-3796,-3796,-3796,-3796,
-    -3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796,
-    -3796,-3796,-3796,-3796,-3796,-3796,-3796,-3796, 4054,-3796,
-    -3796,-3796,-3796,-3796,-3796
-    },
-
-    {
-       27,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,
-
-    -3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,
-    -3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797, 4055,-3797,
-    -3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,
-    -3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,-3797,
-    -3797,-3797,-3797, 4055,-3797,-3797,-3797,-3797,-3797,-3797,
-    -3797,-3797,-3797,-3797,-3797
-    },
-
-    {
-       27,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,
-    -3798,-3798,-3798,-3798, 4056,-3798,-3798,-3798,-3798,-3798,
-    -3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,
-    -3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,
-
-     4056,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,
-    -3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,-3798,
-    -3798,-3798,-3798,-3798,-3798
-    },
-
-    {
-       27,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,
-    -3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,
-    -3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,
-    -3799, 4057,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,
-    -3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,-3799,
-    -3799,-3799,-3799,-3799,-3799,-3799, 4057,-3799,-3799,-3799,
-    -3799,-3799,-3799,-3799,-3799
-
-    },
-
-    {
-       27,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,
-    -3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,
-    -3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,
-    -3800,-3800,-3800, 4058,-3800,-3800,-3800,-3800,-3800,-3800,
-    -3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800,
-    -3800,-3800,-3800,-3800,-3800,-3800,-3800,-3800, 4058,-3800,
-    -3800,-3800,-3800,-3800,-3800
-    },
-
-    {
-       27,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,
-    -3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,
-    -3801,-3801,-3801,-3801,-3801,-3801,-3801, 4059,-3801,-3801,
-
-    -3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,
-    -3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,-3801,
-    -3801,-3801, 4059,-3801,-3801,-3801,-3801,-3801,-3801,-3801,
-    -3801,-3801,-3801,-3801,-3801
-    },
-
-    {
-       27,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802, 2550,
-    -3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,
-    -3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,
-    -3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,
-    -3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,
-    -3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,-3802,
-
-    -3802,-3802,-3802,-3802,-3802
-    },
-
-    {
-       27,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,
-    -3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,
-    -3803,-3803,-3803,-3803,-3803,-3803,-3803, 4060,-3803,-3803,
-    -3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,
-    -3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,-3803,
-    -3803,-3803, 4060,-3803,-3803,-3803,-3803,-3803,-3803,-3803,
-    -3803,-3803,-3803,-3803,-3803
-    },
-
-    {
-       27,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,
-    -3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,
-
-    -3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,
-    -3804,-3804, 4061,-3804,-3804,-3804,-3804,-3804,-3804,-3804,
-    -3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,-3804,
-    -3804,-3804,-3804,-3804,-3804,-3804,-3804, 4061,-3804,-3804,
-    -3804,-3804,-3804,-3804,-3804
-    },
-
-    {
-       27,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,
-    -3805,-3805,-3805, 4062,-3805,-3805,-3805,-3805,-3805,-3805,
-    -3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,
-    -3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,
-    -3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,
-
-    -3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,-3805,
-    -3805,-3805,-3805,-3805,-3805
-    },
-
-    {
-       27,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,
-    -3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806, 4063,-3806,
-    -3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,
-    -3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,
-    -3806,-3806,-3806,-3806, 4063,-3806,-3806,-3806,-3806,-3806,
-    -3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,-3806,
-    -3806,-3806,-3806,-3806,-3806
-    },
-
-    {
-       27,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,
-
-    -3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,
-    -3807,-3807,-3807,-3807,-3807,-3807, 4064,-3807,-3807,-3807,
-    -3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,
-    -3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,
-    -3807, 4064,-3807,-3807,-3807,-3807,-3807,-3807,-3807,-3807,
-    -3807,-3807,-3807,-3807,-3807
-    },
-
-    {
-       27,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,
-    -3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,
-    -3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808, 4065,-3808,
-    -3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,
-
-    -3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,-3808,
-    -3808,-3808,-3808, 4065,-3808,-3808,-3808,-3808,-3808,-3808,
-    -3808,-3808,-3808,-3808,-3808
-    },
-
-    {
-       27,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,
-    -3809,-3809,-3809,-3809, 4066,-3809,-3809,-3809,-3809,-3809,
-    -3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,
-    -3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,
-     4066,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,
-    -3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,-3809,
-    -3809,-3809,-3809,-3809,-3809
-
-    },
-
-    {
-       27,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,
-    -3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,
-    -3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,
-    -3810, 4067,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,
-    -3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,-3810,
-    -3810,-3810,-3810,-3810,-3810,-3810, 4067,-3810,-3810,-3810,
-    -3810,-3810,-3810,-3810,-3810
-    },
-
-    {
-       27,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,
-    -3811,-3811,-3811, 4068,-3811,-3811,-3811,-3811,-3811,-3811,
-    -3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,
-
-    -3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,
-    -3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,
-    -3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,-3811,
-    -3811,-3811,-3811,-3811,-3811
-    },
-
-    {
-       27,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,
-    -3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,
-    -3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,
-    -3812,-3812, 4069,-3812,-3812,-3812,-3812,-3812,-3812,-3812,
-    -3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,-3812,
-    -3812,-3812,-3812,-3812,-3812,-3812,-3812, 4069,-3812,-3812,
-
-    -3812,-3812,-3812,-3812,-3812
-    },
-
-    {
-       27,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,
-    -3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,
-    -3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813, 4070,-3813,
-    -3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,
-    -3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,-3813,
-    -3813,-3813,-3813, 4070,-3813,-3813,-3813,-3813,-3813,-3813,
-    -3813,-3813,-3813,-3813,-3813
-    },
-
-    {
-       27,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,
-    -3814,-3814,-3814,-3814,-3814,-3814, 4071,-3814,-3814,-3814,
-
-    -3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,
-    -3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,
-    -3814,-3814, 4071,-3814,-3814,-3814,-3814,-3814,-3814,-3814,
-    -3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,-3814,
-    -3814,-3814,-3814,-3814,-3814
-    },
-
-    {
-       27,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,
-    -3815,-3815,-3815,-3815,-3815, 4072,-3815,-3815,-3815,-3815,
-    -3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,
-    -3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,
-    -3815, 4072,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,
-
-    -3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,-3815,
-    -3815,-3815,-3815,-3815,-3815
-    },
-
-    {
-       27,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,
-    -3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,
-    -3816,-3816,-3816,-3816,-3816,-3816,-3816, 4073,-3816,-3816,
-    -3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,
-    -3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,-3816,
-    -3816,-3816, 4073,-3816,-3816,-3816,-3816,-3816,-3816,-3816,
-    -3816,-3816,-3816,-3816,-3816
-    },
-
-    {
-       27,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,
-
-    -3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,
-    -3817,-3817,-3817,-3817,-3817,-3817,-3817, 4074,-3817,-3817,
-    -3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,
-    -3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,-3817,
-    -3817,-3817, 4074,-3817,-3817,-3817,-3817,-3817,-3817,-3817,
-    -3817,-3817,-3817,-3817,-3817
-    },
-
-    {
-       27,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,
-    -3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,
-    -3818,-3818,-3818,-3818,-3818,-3818,-3818, 4075,-3818,-3818,
-    -3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,
-
-    -3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,-3818,
-    -3818,-3818, 4075,-3818,-3818,-3818,-3818,-3818,-3818,-3818,
-    -3818,-3818,-3818,-3818,-3818
-    },
-
-    {
-       27,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,
-    -3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,
-    -3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,
-    -3819,-3819,-3819, 4076,-3819,-3819,-3819,-3819,-3819,-3819,
-    -3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819,
-    -3819,-3819,-3819,-3819,-3819,-3819,-3819,-3819, 4076,-3819,
-    -3819,-3819,-3819,-3819,-3819
-
-    },
-
-    {
-       27,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,
-    -3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,
-    -3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,
-    -3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,
-    -3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,
-    -3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,-3820,
-    -3820,-3820,-3820,-3820,-3820
-    },
-
-    {
-       27,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,
-    -3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,
-    -3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,
-
-    -3821,-3821, 4077,-3821,-3821,-3821,-3821,-3821,-3821,-3821,
-    -3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,-3821,
-    -3821,-3821,-3821,-3821,-3821,-3821,-3821, 4077,-3821,-3821,
-    -3821,-3821,-3821,-3821,-3821
-    },
-
-    {
-       27,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,
-    -3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,
-    -3822, 4078,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,
-    -3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,
-    -3822,-3822,-3822,-3822,-3822,-3822,-3822, 4078,-3822,-3822,
-    -3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,-3822,
-
-    -3822,-3822,-3822,-3822,-3822
-    },
-
-    {
-       27,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,
-    -3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,
-    -3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,
-    -3823,-3823, 4079,-3823,-3823,-3823,-3823,-3823,-3823,-3823,
-    -3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,-3823,
-    -3823,-3823,-3823,-3823,-3823,-3823,-3823, 4079,-3823,-3823,
-    -3823,-3823,-3823,-3823,-3823
-    },
-
-    {
-       27,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,
-    -3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824, 4080,-3824,
-
-    -3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,
-    -3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,
-    -3824,-3824,-3824,-3824, 4080,-3824,-3824,-3824,-3824,-3824,
-    -3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,-3824,
-    -3824,-3824,-3824,-3824,-3824
-    },
-
-    {
-       27,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,
-    -3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825, 4081,-3825,
-    -3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,
-    -3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,
-    -3825,-3825,-3825,-3825, 4081,-3825,-3825,-3825,-3825,-3825,
-
-    -3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,-3825,
-    -3825,-3825,-3825,-3825,-3825
-    },
-
-    {
-       27,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,
-    -3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,
-    -3826,-3826,-3826,-3826,-3826,-3826, 4082,-3826,-3826,-3826,
-    -3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,
-    -3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,
-    -3826, 4082,-3826,-3826,-3826,-3826,-3826,-3826,-3826,-3826,
-    -3826,-3826,-3826,-3826,-3826
-    },
-
-    {
-       27,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,
-
-    -3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,
-    -3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,
-    -3827,-3827, 4083,-3827,-3827,-3827,-3827,-3827,-3827,-3827,
-    -3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,-3827,
-    -3827,-3827,-3827,-3827,-3827,-3827,-3827, 4083,-3827,-3827,
-    -3827,-3827,-3827,-3827,-3827
-    },
-
-    {
-       27,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,
-    -3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,
-    -3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,
-    -3828,-3828, 4084,-3828,-3828,-3828,-3828,-3828,-3828,-3828,
-
-    -3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,-3828,
-    -3828,-3828,-3828,-3828,-3828,-3828,-3828, 4084,-3828,-3828,
-    -3828,-3828,-3828,-3828,-3828
-    },
-
-    {
-       27,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,
-    -3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,
-    -3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,
-    -3829,-3829,-3829, 4085,-3829,-3829,-3829,-3829,-3829,-3829,
-    -3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829,
-    -3829,-3829,-3829,-3829,-3829,-3829,-3829,-3829, 4085,-3829,
-    -3829,-3829,-3829,-3829,-3829
-
-    },
-
-    {
-       27,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,
-    -3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,
-    -3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,
-    -3830,-3830,-3830, 4086,-3830,-3830,-3830,-3830,-3830,-3830,
-    -3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830,
-    -3830,-3830,-3830,-3830,-3830,-3830,-3830,-3830, 4086,-3830,
-    -3830,-3830,-3830,-3830,-3830
-    },
-
-    {
-       27,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,
-    -3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,
-    -3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831, 4087,-3831,
-
-    -3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,
-    -3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,-3831,
-    -3831,-3831,-3831, 4087,-3831,-3831,-3831,-3831,-3831,-3831,
-    -3831,-3831,-3831,-3831,-3831
-    },
-
-    {
-       27,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,
-    -3832,-3832,-3832,-3832, 4088,-3832,-3832,-3832,-3832,-3832,
-    -3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,
-    -3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,
-     4088,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,
-    -3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,-3832,
-
-    -3832,-3832,-3832,-3832,-3832
-    },
-
-    {
-       27,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,
-    -3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,
-    -3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,
-    -3833, 4089,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,
-    -3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,-3833,
-    -3833,-3833,-3833,-3833,-3833,-3833, 4089,-3833,-3833,-3833,
-    -3833,-3833,-3833,-3833,-3833
-    },
-
-    {
-       27,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,
-    -3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,
-
-    -3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,
-    -3834,-3834,-3834, 4090,-3834,-3834,-3834,-3834,-3834,-3834,
-    -3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834,
-    -3834,-3834,-3834,-3834,-3834,-3834,-3834,-3834, 4090,-3834,
-    -3834,-3834,-3834,-3834,-3834
-    },
-
-    {
-       27,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,
-    -3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,
-    -3835,-3835,-3835,-3835,-3835,-3835,-3835, 4091,-3835,-3835,
-    -3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,
-    -3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,-3835,
-
-    -3835,-3835, 4091,-3835,-3835,-3835,-3835,-3835,-3835,-3835,
-    -3835,-3835,-3835,-3835,-3835
-    },
-
-    {
-       27,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836, 2591,
-    -3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,
-    -3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,
-    -3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,
-    -3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,
-    -3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,-3836,
-    -3836,-3836,-3836,-3836,-3836
-    },
-
-    {
-       27,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,
-
-    -3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,
-    -3837,-3837,-3837,-3837,-3837,-3837,-3837, 4092,-3837,-3837,
-    -3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,
-    -3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,-3837,
-    -3837,-3837, 4092,-3837,-3837,-3837,-3837,-3837,-3837,-3837,
-    -3837,-3837,-3837,-3837,-3837
-    },
-
-    {
-       27,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,
-    -3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,
-    -3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,
-    -3838,-3838, 4093,-3838,-3838,-3838,-3838,-3838,-3838,-3838,
-
-    -3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,-3838,
-    -3838,-3838,-3838,-3838,-3838,-3838,-3838, 4093,-3838,-3838,
-    -3838,-3838,-3838,-3838,-3838
-    },
-
-    {
-       27,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,
-    -3839,-3839,-3839, 4094,-3839,-3839,-3839,-3839,-3839,-3839,
-    -3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,
-    -3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,
-    -3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,
-    -3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,-3839,
-    -3839,-3839,-3839,-3839,-3839
-
-    },
-
-    {
-       27,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,
-    -3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840, 4095,-3840,
-    -3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,
-    -3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,
-    -3840,-3840,-3840,-3840, 4095,-3840,-3840,-3840,-3840,-3840,
-    -3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,-3840,
-    -3840,-3840,-3840,-3840,-3840
-    },
-
-    {
-       27,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,
-    -3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,
-    -3841,-3841,-3841,-3841,-3841,-3841, 4096,-3841,-3841,-3841,
-
-    -3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,
-    -3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,
-    -3841, 4096,-3841,-3841,-3841,-3841,-3841,-3841,-3841,-3841,
-    -3841,-3841,-3841,-3841,-3841
-    },
-
-    {
-       27,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,
-    -3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,
-    -3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842, 4097,-3842,
-    -3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,
-    -3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,-3842,
-    -3842,-3842,-3842, 4097,-3842,-3842,-3842,-3842,-3842,-3842,
-
-    -3842,-3842,-3842,-3842,-3842
-    },
-
-    {
-       27,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,
-    -3843,-3843,-3843,-3843, 4098,-3843,-3843,-3843,-3843,-3843,
-    -3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,
-    -3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,
-     4098,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,
-    -3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,-3843,
-    -3843,-3843,-3843,-3843,-3843
-    },
-
-    {
-       27,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,
-    -3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,
-
-    -3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,
-    -3844, 4099,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,
-    -3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,-3844,
-    -3844,-3844,-3844,-3844,-3844,-3844, 4099,-3844,-3844,-3844,
-    -3844,-3844,-3844,-3844,-3844
-    },
-
-    {
-       27,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,
-    -3845,-3845,-3845, 4100,-3845,-3845,-3845,-3845,-3845,-3845,
-    -3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,
-    -3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,
-    -3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,
-
-    -3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,-3845,
-    -3845,-3845,-3845,-3845,-3845
-    },
-
-    {
-       27,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,
-    -3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,
-    -3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,
-    -3846,-3846, 4101,-3846,-3846,-3846,-3846,-3846,-3846,-3846,
-    -3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,-3846,
-    -3846,-3846,-3846,-3846,-3846,-3846,-3846, 4101,-3846,-3846,
-    -3846,-3846,-3846,-3846,-3846
-    },
-
-    {
-       27,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,
-
-    -3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,
-    -3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847, 4102,-3847,
-    -3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,
-    -3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,-3847,
-    -3847,-3847,-3847, 4102,-3847,-3847,-3847,-3847,-3847,-3847,
-    -3847,-3847,-3847,-3847,-3847
-    },
-
-    {
-       27,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,
-    -3848,-3848,-3848,-3848,-3848,-3848, 4103,-3848,-3848,-3848,
-    -3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,
-    -3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,
-
-    -3848,-3848, 4103,-3848,-3848,-3848,-3848,-3848,-3848,-3848,
-    -3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,-3848,
-    -3848,-3848,-3848,-3848,-3848
-    },
-
-    {
-       27,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,
-    -3849,-3849,-3849,-3849,-3849, 4104,-3849,-3849,-3849,-3849,
-    -3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,
-    -3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,
-    -3849, 4104,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,
-    -3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,-3849,
-    -3849,-3849,-3849,-3849,-3849
-
-    },
-
-    {
-       27,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,
-    -3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,
-    -3850,-3850,-3850,-3850,-3850,-3850,-3850, 4105,-3850,-3850,
-    -3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,
-    -3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,-3850,
-    -3850,-3850, 4105,-3850,-3850,-3850,-3850,-3850,-3850,-3850,
-    -3850,-3850,-3850,-3850,-3850
-    },
-
-    {
-       27,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,
-    -3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,
-    -3851,-3851,-3851,-3851,-3851,-3851,-3851, 4106,-3851,-3851,
-
-    -3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,
-    -3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,-3851,
-    -3851,-3851, 4106,-3851,-3851,-3851,-3851,-3851,-3851,-3851,
-    -3851,-3851,-3851,-3851,-3851
-    },
-
-    {
-       27,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,
-    -3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,
-    -3852,-3852,-3852,-3852,-3852,-3852,-3852, 4107,-3852,-3852,
-    -3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,
-    -3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,-3852,
-    -3852,-3852, 4107,-3852,-3852,-3852,-3852,-3852,-3852,-3852,
-
-    -3852,-3852,-3852,-3852,-3852
-    },
-
-    {
-       27,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,
-    -3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,
-    -3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,
-    -3853,-3853,-3853, 4108,-3853,-3853,-3853,-3853,-3853,-3853,
-    -3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853,
-    -3853,-3853,-3853,-3853,-3853,-3853,-3853,-3853, 4108,-3853,
-    -3853,-3853,-3853,-3853,-3853
-    },
-
-    {
-       27,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,
-    -3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,
-
-    -3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,
-    -3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,
-    -3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,
-    -3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,-3854,
-    -3854,-3854,-3854,-3854,-3854
-    },
-
-    {
-       27,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,
-    -3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,
-    -3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,
-    -3855,-3855, 4109,-3855,-3855,-3855,-3855,-3855,-3855,-3855,
-    -3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,-3855,
-
-    -3855,-3855,-3855,-3855,-3855,-3855,-3855, 4109,-3855,-3855,
-    -3855,-3855,-3855,-3855,-3855
-    },
-
-    {
-       27,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,
-    -3856,-3856,-3856, 2614,-3856,-3856,-3856,-3856,-3856,-3856,
-    -3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,
-    -3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,
-    -3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,
-    -3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,-3856,
-    -3856,-3856,-3856,-3856,-3856
-    },
-
-    {
-       27,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,
-
-    -3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,
-    -3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,
-    -3857,-3857, 4110,-3857,-3857,-3857,-3857,-3857,-3857,-3857,
-    -3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,-3857,
-    -3857,-3857,-3857,-3857,-3857,-3857,-3857, 4110,-3857,-3857,
-    -3857,-3857,-3857,-3857,-3857
-    },
-
-    {
-       27,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,
-    -3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858, 4111,-3858,
-    -3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,
-    -3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,
-
-    -3858,-3858,-3858,-3858, 4111,-3858,-3858,-3858,-3858,-3858,
-    -3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,-3858,
-    -3858,-3858,-3858,-3858,-3858
-    },
-
-    {
-       27,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,
-    -3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859, 4112,-3859,
-    -3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,
-    -3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,
-    -3859,-3859,-3859,-3859, 4112,-3859,-3859,-3859,-3859,-3859,
-    -3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,-3859,
-    -3859,-3859,-3859,-3859,-3859
-
-    },
-
-    {
-       27,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,
-    -3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,
-    -3860,-3860,-3860,-3860,-3860,-3860, 4113,-3860,-3860,-3860,
-    -3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,
-    -3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,
-    -3860, 4113,-3860,-3860,-3860,-3860,-3860,-3860,-3860,-3860,
-    -3860,-3860,-3860,-3860,-3860
-    },
-
-    {
-       27,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,
-    -3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,
-    -3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,
-
-    -3861,-3861, 4114,-3861,-3861,-3861,-3861,-3861,-3861,-3861,
-    -3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,-3861,
-    -3861,-3861,-3861,-3861,-3861,-3861,-3861, 4114,-3861,-3861,
-    -3861,-3861,-3861,-3861,-3861
-    },
-
-    {
-       27,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,
-    -3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,
-    -3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,
-    -3862,-3862, 4115,-3862,-3862,-3862,-3862,-3862,-3862,-3862,
-    -3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,-3862,
-    -3862,-3862,-3862,-3862,-3862,-3862,-3862, 4115,-3862,-3862,
-
-    -3862,-3862,-3862,-3862,-3862
-    },
-
-    {
-       27,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,
-    -3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,
-    -3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,
-    -3863,-3863,-3863, 4116,-3863,-3863,-3863,-3863,-3863,-3863,
-    -3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863,
-    -3863,-3863,-3863,-3863,-3863,-3863,-3863,-3863, 4116,-3863,
-    -3863,-3863,-3863,-3863,-3863
-    },
-
-    {
-       27,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,
-    -3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,
-
-    -3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,
-    -3864,-3864,-3864, 4117,-3864,-3864,-3864,-3864,-3864,-3864,
-    -3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864,
-    -3864,-3864,-3864,-3864,-3864,-3864,-3864,-3864, 4117,-3864,
-    -3864,-3864,-3864,-3864,-3864
-    },
-
-    {
-       27,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,
-    -3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,
-    -3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865, 4118,-3865,
-    -3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,
-    -3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,-3865,
-
-    -3865,-3865,-3865, 4118,-3865,-3865,-3865,-3865,-3865,-3865,
-    -3865,-3865,-3865,-3865,-3865
-    },
-
-    {
-       27,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,
-    -3866,-3866,-3866,-3866, 4119,-3866,-3866,-3866,-3866,-3866,
-    -3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,
-    -3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,
-     4119,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,
-    -3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,-3866,
-    -3866,-3866,-3866,-3866,-3866
-    },
-
-    {
-       27,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,
-
-    -3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,
-    -3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,
-    -3867, 4120,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,
-    -3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,-3867,
-    -3867,-3867,-3867,-3867,-3867,-3867, 4120,-3867,-3867,-3867,
-    -3867,-3867,-3867,-3867,-3867
-    },
-
-    {
-       27,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,
-    -3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,
-    -3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,
-    -3868,-3868,-3868, 4121,-3868,-3868,-3868,-3868,-3868,-3868,
-
-    -3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868,
-    -3868,-3868,-3868,-3868,-3868,-3868,-3868,-3868, 4121,-3868,
-    -3868,-3868,-3868,-3868,-3868
-    },
-
-    {
-       27,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,
-    -3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,
-    -3869,-3869,-3869,-3869,-3869,-3869,-3869, 4122,-3869,-3869,
-    -3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,
-    -3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,-3869,
-    -3869,-3869, 4122,-3869,-3869,-3869,-3869,-3869,-3869,-3869,
-    -3869,-3869,-3869,-3869,-3869
-
-    },
-
-    {
-       27,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870, 2633,
-    -3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,
-    -3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,
-    -3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,
-    -3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,
-    -3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,-3870,
-    -3870,-3870,-3870,-3870,-3870
-    },
-
-    {
-       27,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,
-    -3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,
-    -3871,-3871,-3871,-3871,-3871,-3871,-3871, 4123,-3871,-3871,
-
-    -3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,
-    -3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,-3871,
-    -3871,-3871, 4123,-3871,-3871,-3871,-3871,-3871,-3871,-3871,
-    -3871,-3871,-3871,-3871,-3871
-    },
-
-    {
-       27,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,
-    -3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,
-    -3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,
-    -3872,-3872, 4124,-3872,-3872,-3872,-3872,-3872,-3872,-3872,
-    -3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,-3872,
-    -3872,-3872,-3872,-3872,-3872,-3872,-3872, 4124,-3872,-3872,
-
-    -3872,-3872,-3872,-3872,-3872
-    },
-
-    {
-       27,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,
-    -3873,-3873,-3873, 4125,-3873,-3873,-3873,-3873,-3873,-3873,
-    -3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,
-    -3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,
-    -3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,
-    -3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,-3873,
-    -3873,-3873,-3873,-3873,-3873
-    },
-
-    {
-       27,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,
-    -3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874, 4126,-3874,
-
-    -3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,
-    -3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,
-    -3874,-3874,-3874,-3874, 4126,-3874,-3874,-3874,-3874,-3874,
-    -3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,-3874,
-    -3874,-3874,-3874,-3874,-3874
-    },
-
-    {
-       27,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,
-    -3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,
-    -3875,-3875,-3875,-3875,-3875,-3875, 4127,-3875,-3875,-3875,
-    -3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,
-    -3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,
-
-    -3875, 4127,-3875,-3875,-3875,-3875,-3875,-3875,-3875,-3875,
-    -3875,-3875,-3875,-3875,-3875
-    },
-
-    {
-       27,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,
-    -3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,
-    -3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876, 4128,-3876,
-    -3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,
-    -3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,-3876,
-    -3876,-3876,-3876, 4128,-3876,-3876,-3876,-3876,-3876,-3876,
-    -3876,-3876,-3876,-3876,-3876
-    },
-
-    {
-       27,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,
-
-    -3877,-3877,-3877,-3877, 4129,-3877,-3877,-3877,-3877,-3877,
-    -3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,
-    -3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,
-     4129,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,
-    -3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,-3877,
-    -3877,-3877,-3877,-3877,-3877
-    },
-
-    {
-       27,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,
-    -3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,
-    -3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,
-    -3878, 4130,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,
-
-    -3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,-3878,
-    -3878,-3878,-3878,-3878,-3878,-3878, 4130,-3878,-3878,-3878,
-    -3878,-3878,-3878,-3878,-3878
-    },
-
-    {
-       27,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,
-    -3879,-3879,-3879, 4131,-3879,-3879,-3879,-3879,-3879,-3879,
-    -3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,
-    -3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,
-    -3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,
-    -3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,-3879,
-    -3879,-3879,-3879,-3879,-3879
-
-    },
-
-    {
-       27,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,
-    -3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,
-    -3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,
-    -3880,-3880, 4132,-3880,-3880,-3880,-3880,-3880,-3880,-3880,
-    -3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,-3880,
-    -3880,-3880,-3880,-3880,-3880,-3880,-3880, 4132,-3880,-3880,
-    -3880,-3880,-3880,-3880,-3880
-    },
-
-    {
-       27,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,
-    -3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,
-    -3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881, 4133,-3881,
-
-    -3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,
-    -3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,-3881,
-    -3881,-3881,-3881, 4133,-3881,-3881,-3881,-3881,-3881,-3881,
-    -3881,-3881,-3881,-3881,-3881
-    },
-
-    {
-       27,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,
-    -3882,-3882,-3882,-3882,-3882,-3882, 4134,-3882,-3882,-3882,
-    -3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,
-    -3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,
-    -3882,-3882, 4134,-3882,-3882,-3882,-3882,-3882,-3882,-3882,
-    -3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,-3882,
-
-    -3882,-3882,-3882,-3882,-3882
-    },
-
-    {
-       27,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,
-    -3883,-3883,-3883,-3883,-3883, 4135,-3883,-3883,-3883,-3883,
-    -3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,
-    -3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,
-    -3883, 4135,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,
-    -3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,-3883,
-    -3883,-3883,-3883,-3883,-3883
-    },
-
-    {
-       27,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,
-    -3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,
-
-    -3884,-3884,-3884,-3884,-3884,-3884,-3884, 4136,-3884,-3884,
-    -3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,
-    -3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,-3884,
-    -3884,-3884, 4136,-3884,-3884,-3884,-3884,-3884,-3884,-3884,
-    -3884,-3884,-3884,-3884,-3884
-    },
-
-    {
-       27,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,
-    -3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,
-    -3885,-3885,-3885,-3885,-3885,-3885,-3885, 4137,-3885,-3885,
-    -3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,
-    -3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,-3885,
-
-    -3885,-3885, 4137,-3885,-3885,-3885,-3885,-3885,-3885,-3885,
-    -3885,-3885,-3885,-3885,-3885
-    },
-
-    {
-       27,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,
-    -3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,
-    -3886,-3886,-3886,-3886,-3886,-3886,-3886, 4138,-3886,-3886,
-    -3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,
-    -3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,-3886,
-    -3886,-3886, 4138,-3886,-3886,-3886,-3886,-3886,-3886,-3886,
-    -3886,-3886,-3886,-3886,-3886
-    },
-
-    {
-       27,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,
-
-    -3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,
-    -3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,
-    -3887,-3887,-3887, 4139,-3887,-3887,-3887,-3887,-3887,-3887,
-    -3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887,
-    -3887,-3887,-3887,-3887,-3887,-3887,-3887,-3887, 4139,-3887,
-    -3887,-3887,-3887,-3887,-3887
-    },
-
-    {
-       27,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,
-    -3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,
-    -3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,
-    -3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,
-
-    -3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,
-    -3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,-3888,
-    -3888,-3888,-3888,-3888,-3888
-    },
-
-    {
-       27,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366, 4140,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
-      366,  366,  366,  366,  366
-
-    },
-
-    {
-       27,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,
-    -3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,
-    -3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,
-    -3890,-3890, 4141,-3890,-3890,-3890,-3890,-3890,-3890,-3890,
-    -3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,-3890,
-    -3890,-3890,-3890,-3890,-3890,-3890,-3890, 4141,-3890,-3890,
-    -3890,-3890,-3890,-3890,-3890
-    },
-
-    {
-       27,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,
-    -3891,-3891,-3891, 4142,-3891,-3891,-3891,-3891,-3891,-3891,
-    -3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,
-
-    -3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,
-    -3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,
-    -3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,-3891,
-    -3891,-3891,-3891,-3891,-3891
-    },
-
-    {
-       27,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,
-    -3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,
-    -3892,-3892,-3892,-3892,-3892,-3892,-3892, 4143,-3892,-3892,
-    -3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,
-    -3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,-3892,
-    -3892,-3892, 4143,-3892,-3892,-3892,-3892,-3892,-3892,-3892,
-
-    -3892,-3892,-3892,-3892,-3892
-    },
-
-    {
-       27,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,
-    -3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,
-    -3893,-3893,-3893,-3893,-3893,-3893,-3893, 4144,-3893,-3893,
-    -3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,
-    -3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,-3893,
-    -3893,-3893, 4144,-3893,-3893,-3893,-3893,-3893,-3893,-3893,
-    -3893,-3893,-3893,-3893,-3893
-    },
-
-    {
-       27,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,
-    -3894,-3894,-3894, 4145,-3894,-3894,-3894,-3894,-3894,-3894,
-
-    -3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,
-    -3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,
-    -3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,
-    -3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,-3894,
-    -3894,-3894,-3894,-3894,-3894
-    },
-
-    {
-       27,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,
-    -3895,-3895,-3895, 4146,-3895,-3895,-3895,-3895,-3895,-3895,
-    -3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,
-    -3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,
-    -3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,
-
-    -3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,-3895,
-    -3895,-3895,-3895,-3895,-3895
-    },
-
-    {
-       27,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,
-    -3896,-3896,-3896, 4147,-3896,-3896,-3896,-3896,-3896,-3896,
-    -3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,
-    -3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,
-    -3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,
-    -3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,-3896,
-    -3896,-3896,-3896,-3896,-3896
-    },
-
-    {
-       27,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,
-
-    -3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897, 4148,-3897,
-    -3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,
-    -3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,
-    -3897,-3897,-3897,-3897, 4148,-3897,-3897,-3897,-3897,-3897,
-    -3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,-3897,
-    -3897,-3897,-3897,-3897,-3897
-    },
-
-    {
-       27,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,
-    -3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898, 4149,-3898,
-    -3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,
-    -3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,
-
-    -3898,-3898,-3898,-3898, 4149,-3898,-3898,-3898,-3898,-3898,
-    -3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,-3898,
-    -3898,-3898,-3898,-3898,-3898
-    },
-
-    {
-       27,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,
-    -3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,
-    -3899,-3899,-3899,-3899,-3899,-3899,-3899, 4150,-3899,-3899,
-    -3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,
-    -3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,-3899,
-    -3899,-3899, 4150,-3899,-3899,-3899,-3899,-3899,-3899,-3899,
-    -3899,-3899,-3899,-3899,-3899
-
-    },
-
-    {
-       27,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,
-    -3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,
-    -3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,
-    -3900, 4151,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,
-    -3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,-3900,
-    -3900,-3900,-3900,-3900,-3900,-3900, 4151,-3900,-3900,-3900,
-    -3900,-3900,-3900,-3900,-3900
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 2677,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,
-    -3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,
-    -3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,
-    -3902,-3902, 4152,-3902,-3902,-3902,-3902,-3902,-3902,-3902,
-    -3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,-3902,
-    -3902,-3902,-3902,-3902,-3902,-3902,-3902, 4152,-3902,-3902,
-
-    -3902,-3902,-3902,-3902,-3902
-    },
-
-    {
-       27,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,
-    -3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,
-    -3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,
-    -3903,-3903,-3903, 4153,-3903,-3903,-3903,-3903,-3903,-3903,
-    -3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903,
-    -3903,-3903,-3903,-3903,-3903,-3903,-3903,-3903, 4153,-3903,
-    -3903,-3903,-3903,-3903,-3903
-    },
-
-    {
-       27,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,
-    -3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,
-
-    -3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,
-    -3904,-3904,-3904, 4154,-3904,-3904,-3904,-3904,-3904,-3904,
-    -3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904,
-    -3904,-3904,-3904,-3904,-3904,-3904,-3904,-3904, 4154,-3904,
-    -3904,-3904,-3904,-3904,-3904
-    },
-
-    {
-       27,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,
-    -3905,-3905,-3905, 4155,-3905,-3905,-3905,-3905,-3905,-3905,
-    -3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,
-    -3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,
-    -3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,
-
-    -3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,-3905,
-    -3905,-3905,-3905,-3905,-3905
-    },
-
-    {
-       27,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,
-    -3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,
-    -3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,
-    -3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,
-    -3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,
-    -3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,-3906,
-    -3906,-3906,-3906,-3906,-3906
-    },
-
-    {
-       27,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,
-
-    -3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,
-    -3907,-3907,-3907,-3907,-3907,-3907,-3907, 4156,-3907,-3907,
-    -3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,
-    -3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,-3907,
-    -3907,-3907, 4156,-3907,-3907,-3907,-3907,-3907,-3907,-3907,
-    -3907,-3907,-3907,-3907,-3907
-    },
-
-    {
-       27,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,
-    -3908,-3908,-3908, 4157,-3908,-3908,-3908,-3908,-3908,-3908,
-    -3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,
-    -3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,
-
-    -3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,
-    -3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,-3908,
-    -3908,-3908,-3908,-3908,-3908
-    },
-
-    {
-       27,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,
-    -3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,
-    -3909,-3909,-3909,-3909,-3909,-3909,-3909, 4158,-3909,-3909,
-    -3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,
-    -3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,-3909,
-    -3909,-3909, 4158,-3909,-3909,-3909,-3909,-3909,-3909,-3909,
-    -3909,-3909,-3909,-3909,-3909
-
-    },
-
-    {
-       27,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,
-    -3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,
-    -3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,
-    -3910, 4159,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,
-    -3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,-3910,
-    -3910,-3910,-3910,-3910,-3910,-3910, 4159,-3910,-3910,-3910,
-    -3910,-3910,-3910,-3910,-3910
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 2694,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3912, 4160, 4160,-3912,-3912,-3912,-3912,-3912,-3912,
-    -3912,-3912, 4161,-3912,-3912,-3912,-3912,-3912,-3912,-3912,
-    -3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,
-    -3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,
-    -3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,
-    -3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,-3912,
-
-    -3912,-3912,-3912,-3912,-3912
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4162,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 4162,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184, 4163,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 4163,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4164,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184, 4164,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 4165,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 4165,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,
-
-    -3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,
-    -3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,
-    -3917,-3917,-3917, 4166,-3917,-3917,-3917,-3917,-3917,-3917,
-    -3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917,
-    -3917,-3917,-3917,-3917,-3917,-3917,-3917,-3917, 4166,-3917,
-    -3917,-3917,-3917,-3917,-3917
-    },
-
-    {
-       27,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,
-    -3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,
-    -3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,
-    -3918,-3918,-3918, 4167,-3918,-3918,-3918,-3918,-3918,-3918,
-
-    -3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918,
-    -3918,-3918,-3918,-3918,-3918,-3918,-3918,-3918, 4167,-3918,
-    -3918,-3918,-3918,-3918,-3918
-    },
-
-    {
-       27,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,
-    -3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,
-    -3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,
-    -3919,-3919,-3919, 4168,-3919,-3919,-3919,-3919,-3919,-3919,
-    -3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919,
-    -3919,-3919,-3919,-3919,-3919,-3919,-3919,-3919, 4168,-3919,
-    -3919,-3919,-3919,-3919,-3919
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4169,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 4170,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,
-    -3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,
-    -3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,
-
-    -3921,-3921, 4171,-3921,-3921,-3921,-3921,-3921,-3921,-3921,
-    -3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,-3921,
-    -3921,-3921,-3921,-3921,-3921,-3921,-3921, 4171,-3921,-3921,
-    -3921,-3921,-3921,-3921,-3921
-    },
-
-    {
-       27,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,
-    -3922,-3922,-3922, 4172,-3922,-3922,-3922,-3922,-3922,-3922,
-    -3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,
-    -3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,
-    -3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,
-    -3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,-3922,
-
-    -3922,-3922,-3922,-3922,-3922
-    },
-
-    {
-       27,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,
-    -3923,-3923,-3923, 4173,-3923,-3923,-3923,-3923,-3923,-3923,
-    -3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,
-    -3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,
-    -3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,
-    -3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,-3923,
-    -3923,-3923,-3923,-3923,-3923
-    },
-
-    {
-       27,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,
-    -3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,
-
-    -3924,-3924,-3924,-3924,-3924,-3924,-3924, 4174,-3924,-3924,
-    -3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,
-    -3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,-3924,
-    -3924,-3924, 4174,-3924,-3924,-3924,-3924,-3924,-3924,-3924,
-    -3924,-3924,-3924,-3924,-3924
-    },
-
-    {
-       27,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,
-    -3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,
-    -3925,-3925,-3925,-3925,-3925,-3925,-3925, 4175,-3925,-3925,
-    -3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,
-    -3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,-3925,
-
-    -3925,-3925, 4175,-3925,-3925,-3925,-3925,-3925,-3925,-3925,
-    -3925,-3925,-3925,-3925,-3925
-    },
-
-    {
-       27,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,
-    -3926,-3926,-3926, 4176,-3926,-3926,-3926,-3926,-3926,-3926,
-    -3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,
-    -3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,
-    -3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,
-    -3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,-3926,
-    -3926,-3926,-3926,-3926,-3926
-    },
-
-    {
-       27,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,
-
-    -3927,-3927,-3927, 4177,-3927,-3927,-3927,-3927,-3927,-3927,
-    -3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,
-    -3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,
-    -3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,
-    -3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,-3927,
-    -3927,-3927,-3927,-3927,-3927
-    },
-
-    {
-       27,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,
-    -3928,-3928,-3928, 4178,-3928,-3928,-3928,-3928,-3928,-3928,
-    -3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,
-    -3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,
-
-    -3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,
-    -3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,-3928,
-    -3928,-3928,-3928,-3928,-3928
-    },
-
-    {
-       27,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,
-    -3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929, 4179,-3929,
-    -3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,
-    -3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,
-    -3929,-3929,-3929,-3929, 4179,-3929,-3929,-3929,-3929,-3929,
-    -3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,-3929,
-    -3929,-3929,-3929,-3929,-3929
-
-    },
-
-    {
-       27,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,
-    -3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930, 4180,-3930,
-    -3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,
-    -3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,
-    -3930,-3930,-3930,-3930, 4180,-3930,-3930,-3930,-3930,-3930,
-    -3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,-3930,
-    -3930,-3930,-3930,-3930,-3930
-    },
-
-    {
-       27,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,
-    -3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,
-    -3931,-3931,-3931,-3931,-3931,-3931,-3931, 4181,-3931,-3931,
-
-    -3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,
-    -3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,-3931,
-    -3931,-3931, 4181,-3931,-3931,-3931,-3931,-3931,-3931,-3931,
-    -3931,-3931,-3931,-3931,-3931
-    },
-
-    {
-       27,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,
-    -3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,
-    -3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,
-    -3932, 4182,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,
-    -3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,-3932,
-    -3932,-3932,-3932,-3932,-3932,-3932, 4182,-3932,-3932,-3932,
-
-    -3932,-3932,-3932,-3932,-3932
-    },
-
-    {
-       27,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933, 2723,
-    -3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,
-    -3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,
-    -3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,
-    -3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,
-    -3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,-3933,
-    -3933,-3933,-3933,-3933,-3933
-    },
-
-    {
-       27,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,
-    -3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,
-
-    -3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,
-    -3934,-3934, 4183,-3934,-3934,-3934,-3934,-3934,-3934,-3934,
-    -3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,-3934,
-    -3934,-3934,-3934,-3934,-3934,-3934,-3934, 4183,-3934,-3934,
-    -3934,-3934,-3934,-3934,-3934
-    },
-
-    {
-       27,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,
-    -3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,
-    -3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,
-    -3935,-3935,-3935, 4184,-3935,-3935,-3935,-3935,-3935,-3935,
-    -3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935,
-
-    -3935,-3935,-3935,-3935,-3935,-3935,-3935,-3935, 4184,-3935,
-    -3935,-3935,-3935,-3935,-3935
-    },
-
-    {
-       27,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,
-    -3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,
-    -3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,
-    -3936,-3936,-3936, 4185,-3936,-3936,-3936,-3936,-3936,-3936,
-    -3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936,
-    -3936,-3936,-3936,-3936,-3936,-3936,-3936,-3936, 4185,-3936,
-    -3936,-3936,-3936,-3936,-3936
-    },
-
-    {
-       27,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,
-
-    -3937,-3937,-3937, 4186,-3937,-3937,-3937,-3937,-3937,-3937,
-    -3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,
-    -3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,
-    -3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,
-    -3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,-3937,
-    -3937,-3937,-3937,-3937,-3937
-    },
-
-    {
-       27,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,
-    -3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,
-    -3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,
-    -3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,
-
-    -3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,
-    -3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,-3938,
-    -3938,-3938,-3938,-3938,-3938
-    },
-
-    {
-       27,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,
-    -3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,
-    -3939,-3939,-3939,-3939,-3939,-3939,-3939, 4187,-3939,-3939,
-    -3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,
-    -3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,-3939,
-    -3939,-3939, 4187,-3939,-3939,-3939,-3939,-3939,-3939,-3939,
-    -3939,-3939,-3939,-3939,-3939
-
-    },
-
-    {
-       27,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,
-    -3940,-3940,-3940, 4188,-3940,-3940,-3940,-3940,-3940,-3940,
-    -3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,
-    -3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,
-    -3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,
-    -3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,-3940,
-    -3940,-3940,-3940,-3940,-3940
-    },
-
-    {
-       27,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,
-    -3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,
-    -3941,-3941,-3941,-3941,-3941,-3941,-3941, 4189,-3941,-3941,
-
-    -3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,
-    -3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,-3941,
-    -3941,-3941, 4189,-3941,-3941,-3941,-3941,-3941,-3941,-3941,
-    -3941,-3941,-3941,-3941,-3941
-    },
-
-    {
-       27,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,
-    -3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,
-    -3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,
-    -3942, 4190,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,
-    -3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,-3942,
-    -3942,-3942,-3942,-3942,-3942,-3942, 4190,-3942,-3942,-3942,
-
-    -3942,-3942,-3942,-3942,-3942
-    },
-
-    {
-       27,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943, 2737,
-    -3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,
-    -3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,
-    -3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,
-    -3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,
-    -3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,-3943,
-    -3943,-3943,-3943,-3943,-3943
-    },
-
-    {
-       27,-3944, 4191, 4191,-3944,-3944,-3944,-3944,-3944,-3944,
-    -3944,-3944, 4192,-3944,-3944,-3944,-3944,-3944,-3944,-3944,
-
-    -3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,
-    -3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,
-    -3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,
-    -3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,-3944,
-    -3944,-3944,-3944,-3944,-3944
-    },
-
-    {
-       27,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,
-    -3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,
-    -3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,
-    -3945,-3945,-3945, 4193,-3945,-3945,-3945,-3945,-3945,-3945,
-    -3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945,
-
-    -3945,-3945,-3945,-3945,-3945,-3945,-3945,-3945, 4193,-3945,
-    -3945,-3945,-3945,-3945,-3945
-    },
-
-    {
-       27,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,
-    -3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,
-    -3946,-3946,-3946,-3946,-3946,-3946,-3946, 4194,-3946,-3946,
-    -3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,
-    -3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,-3946,
-    -3946,-3946, 4194,-3946,-3946,-3946,-3946,-3946,-3946,-3946,
-    -3946,-3946,-3946,-3946,-3946
-    },
-
-    {
-       27,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,
-
-    -3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,
-    -3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,
-    -3947,-3947,-3947, 4195,-3947,-3947,-3947,-3947,-3947,-3947,
-    -3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947,
-    -3947,-3947,-3947,-3947,-3947,-3947,-3947,-3947, 4195,-3947,
-    -3947,-3947,-3947,-3947,-3947
-    },
-
-    {
-       27,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,
-    -3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,
-    -3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,
-    -3948,-3948, 4196,-3948,-3948,-3948,-3948,-3948,-3948,-3948,
-
-    -3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,-3948,
-    -3948,-3948,-3948,-3948,-3948,-3948,-3948, 4196,-3948,-3948,
-    -3948,-3948,-3948,-3948,-3948
-    },
-
-    {
-       27,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,
-    -3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,
-    -3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,
-    -3949,-3949,-3949, 4197,-3949,-3949,-3949,-3949,-3949,-3949,
-    -3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949,
-    -3949,-3949,-3949,-3949,-3949,-3949,-3949,-3949, 4197,-3949,
-    -3949,-3949,-3949,-3949,-3949
-
-    },
-
-    {
-       27,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,
-    -3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,
-    -3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,
-    -3950,-3950,-3950, 4198,-3950,-3950,-3950,-3950,-3950,-3950,
-    -3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950,
-    -3950,-3950,-3950,-3950,-3950,-3950,-3950,-3950, 4198,-3950,
-    -3950,-3950,-3950,-3950,-3950
-    },
-
-    {
-       27,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,
-    -3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,
-    -3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,
-
-    -3951,-3951,-3951, 4199,-3951,-3951,-3951,-3951,-3951,-3951,
-    -3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951,
-    -3951,-3951,-3951,-3951,-3951,-3951,-3951,-3951, 4199,-3951,
-    -3951,-3951,-3951,-3951,-3951
-    },
-
-    {
-       27,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,
-    -3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,
-    -3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,
-    -3952,-3952, 4200,-3952,-3952,-3952,-3952,-3952,-3952,-3952,
-    -3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,-3952,
-    -3952,-3952,-3952,-3952,-3952,-3952,-3952, 4200,-3952,-3952,
-
-    -3952,-3952,-3952,-3952,-3952
-    },
-
-    {
-       27,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,
-    -3953,-3953,-3953, 4201,-3953,-3953,-3953,-3953,-3953,-3953,
-    -3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,
-    -3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,
-    -3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,
-    -3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,-3953,
-    -3953,-3953,-3953,-3953,-3953
-    },
-
-    {
-       27,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,
-    -3954,-3954,-3954, 4202,-3954,-3954,-3954,-3954,-3954,-3954,
-
-    -3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,
-    -3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,
-    -3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,
-    -3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,-3954,
-    -3954,-3954,-3954,-3954,-3954
-    },
-
-    {
-       27,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,
-    -3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,
-    -3955,-3955,-3955,-3955,-3955,-3955,-3955, 4203,-3955,-3955,
-    -3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,
-    -3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,-3955,
-
-    -3955,-3955, 4203,-3955,-3955,-3955,-3955,-3955,-3955,-3955,
-    -3955,-3955,-3955,-3955,-3955
-    },
-
-    {
-       27,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,
-    -3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,
-    -3956,-3956,-3956,-3956,-3956,-3956,-3956, 4204,-3956,-3956,
-    -3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,
-    -3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,-3956,
-    -3956,-3956, 4204,-3956,-3956,-3956,-3956,-3956,-3956,-3956,
-    -3956,-3956,-3956,-3956,-3956
-    },
-
-    {
-       27,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,
-
-    -3957,-3957,-3957, 4205,-3957,-3957,-3957,-3957,-3957,-3957,
-    -3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,
-    -3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,
-    -3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,
-    -3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,-3957,
-    -3957,-3957,-3957,-3957,-3957
-    },
-
-    {
-       27,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,
-    -3958,-3958,-3958, 4206,-3958,-3958,-3958,-3958,-3958,-3958,
-    -3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,
-    -3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,
-
-    -3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,
-    -3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,-3958,
-    -3958,-3958,-3958,-3958,-3958
-    },
-
-    {
-       27,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,
-    -3959,-3959,-3959, 4207,-3959,-3959,-3959,-3959,-3959,-3959,
-    -3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,
-    -3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,
-    -3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,
-    -3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,-3959,
-    -3959,-3959,-3959,-3959,-3959
-
-    },
-
-    {
-       27,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,
-    -3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960, 4208,-3960,
-    -3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,
-    -3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,
-    -3960,-3960,-3960,-3960, 4208,-3960,-3960,-3960,-3960,-3960,
-    -3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,-3960,
-    -3960,-3960,-3960,-3960,-3960
-    },
-
-    {
-       27,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,
-    -3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961, 4209,-3961,
-    -3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,
-
-    -3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,
-    -3961,-3961,-3961,-3961, 4209,-3961,-3961,-3961,-3961,-3961,
-    -3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,-3961,
-    -3961,-3961,-3961,-3961,-3961
-    },
-
-    {
-       27,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,
-    -3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,
-    -3962,-3962,-3962,-3962,-3962,-3962,-3962, 4210,-3962,-3962,
-    -3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,
-    -3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,-3962,
-    -3962,-3962, 4210,-3962,-3962,-3962,-3962,-3962,-3962,-3962,
-
-    -3962,-3962,-3962,-3962,-3962
-    },
-
-    {
-       27,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,
-    -3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,
-    -3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,
-    -3963, 4211,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,
-    -3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,-3963,
-    -3963,-3963,-3963,-3963,-3963,-3963, 4211,-3963,-3963,-3963,
-    -3963,-3963,-3963,-3963,-3963
-    },
-
-    {
-       27,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964, 2765,
-    -3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,
-
-    -3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,
-    -3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,
-    -3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,
-    -3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,-3964,
-    -3964,-3964,-3964,-3964,-3964
-    },
-
-    {
-       27,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,
-    -3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,
-    -3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,
-    -3965,-3965, 4212,-3965,-3965,-3965,-3965,-3965,-3965,-3965,
-    -3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,-3965,
-
-    -3965,-3965,-3965,-3965,-3965,-3965,-3965, 4212,-3965,-3965,
-    -3965,-3965,-3965,-3965,-3965
-    },
-
-    {
-       27,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,
-    -3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,
-    -3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,
-    -3966,-3966,-3966, 4213,-3966,-3966,-3966,-3966,-3966,-3966,
-    -3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966,
-    -3966,-3966,-3966,-3966,-3966,-3966,-3966,-3966, 4213,-3966,
-    -3966,-3966,-3966,-3966,-3966
-    },
-
-    {
-       27,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,
-
-    -3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,
-    -3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,
-    -3967,-3967,-3967, 4214,-3967,-3967,-3967,-3967,-3967,-3967,
-    -3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967,
-    -3967,-3967,-3967,-3967,-3967,-3967,-3967,-3967, 4214,-3967,
-    -3967,-3967,-3967,-3967,-3967
-    },
-
-    {
-       27,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,
-    -3968,-3968,-3968, 4215,-3968,-3968,-3968,-3968,-3968,-3968,
-    -3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,
-    -3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,
-
-    -3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,
-    -3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,-3968,
-    -3968,-3968,-3968,-3968,-3968
-    },
-
-    {
-       27,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,
-    -3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,
-    -3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,
-    -3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,
-    -3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,
-    -3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,-3969,
-    -3969,-3969,-3969,-3969,-3969
-
-    },
-
-    {
-       27,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,
-    -3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,
-    -3970,-3970,-3970,-3970,-3970,-3970,-3970, 4216,-3970,-3970,
-    -3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,
-    -3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,-3970,
-    -3970,-3970, 4216,-3970,-3970,-3970,-3970,-3970,-3970,-3970,
-    -3970,-3970,-3970,-3970,-3970
-    },
-
-    {
-       27,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,
-    -3971,-3971,-3971, 4217,-3971,-3971,-3971,-3971,-3971,-3971,
-    -3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,
-
-    -3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,
-    -3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,
-    -3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,-3971,
-    -3971,-3971,-3971,-3971,-3971
-    },
-
-    {
-       27,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,
-    -3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,
-    -3972,-3972,-3972,-3972,-3972,-3972,-3972, 4218,-3972,-3972,
-    -3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,
-    -3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,-3972,
-    -3972,-3972, 4218,-3972,-3972,-3972,-3972,-3972,-3972,-3972,
-
-    -3972,-3972,-3972,-3972,-3972
-    },
-
-    {
-       27,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,
-    -3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,
-    -3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,
-    -3973, 4219,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,
-    -3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,-3973,
-    -3973,-3973,-3973,-3973,-3973,-3973, 4219,-3973,-3973,-3973,
-    -3973,-3973,-3973,-3973,-3973
-    },
-
-    {
-       27,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974, 2779,
-    -3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,
-
-    -3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,
-    -3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,
-    -3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,
-    -3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,-3974,
-    -3974,-3974,-3974,-3974,-3974
-    },
-
-    {
-       27,-3975, 4220, 4220,-3975,-3975,-3975,-3975,-3975,-3975,
-    -3975,-3975, 4221,-3975,-3975,-3975,-3975,-3975,-3975,-3975,
-    -3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,
-    -3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,
-    -3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,
-
-    -3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,-3975,
-    -3975,-3975,-3975,-3975,-3975
-    },
-
-    {
-       27,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,
-    -3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,
-    -3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,
-    -3976,-3976,-3976, 4222,-3976,-3976,-3976,-3976,-3976,-3976,
-    -3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976,
-    -3976,-3976,-3976,-3976,-3976,-3976,-3976,-3976, 4222,-3976,
-    -3976,-3976,-3976,-3976,-3976
-    },
-
-    {
-       27,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,
-
-    -3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,
-    -3977,-3977,-3977,-3977,-3977,-3977,-3977, 4223,-3977,-3977,
-    -3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,
-    -3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,-3977,
-    -3977,-3977, 4223,-3977,-3977,-3977,-3977,-3977,-3977,-3977,
-    -3977,-3977,-3977,-3977,-3977
-    },
-
-    {
-       27,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,
-    -3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,
-    -3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,
-    -3978,-3978,-3978, 4224,-3978,-3978,-3978,-3978,-3978,-3978,
-
-    -3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978,
-    -3978,-3978,-3978,-3978,-3978,-3978,-3978,-3978, 4224,-3978,
-    -3978,-3978,-3978,-3978,-3978
-    },
-
-    {
-       27,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,
-    -3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,
-    -3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,
-    -3979,-3979, 4225,-3979,-3979,-3979,-3979,-3979,-3979,-3979,
-    -3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,-3979,
-    -3979,-3979,-3979,-3979,-3979,-3979,-3979, 4225,-3979,-3979,
-    -3979,-3979,-3979,-3979,-3979
-
-    },
-
-    {
-       27,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,
-    -3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,
-    -3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,
-    -3980,-3980,-3980, 4226,-3980,-3980,-3980,-3980,-3980,-3980,
-    -3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980,
-    -3980,-3980,-3980,-3980,-3980,-3980,-3980,-3980, 4226,-3980,
-    -3980,-3980,-3980,-3980,-3980
-    },
-
-    {
-       27,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,
-    -3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,
-    -3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,
-
-    -3981,-3981,-3981, 4227,-3981,-3981,-3981,-3981,-3981,-3981,
-    -3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981,
-    -3981,-3981,-3981,-3981,-3981,-3981,-3981,-3981, 4227,-3981,
-    -3981,-3981,-3981,-3981,-3981
-    },
-
-    {
-       27,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,
-    -3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,
-    -3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,
-    -3982,-3982,-3982, 4228,-3982,-3982,-3982,-3982,-3982,-3982,
-    -3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982,
-    -3982,-3982,-3982,-3982,-3982,-3982,-3982,-3982, 4228,-3982,
-
-    -3982,-3982,-3982,-3982,-3982
-    },
-
-    {
-       27,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,
-    -3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,
-    -3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,
-    -3983,-3983, 4229,-3983,-3983,-3983,-3983,-3983,-3983,-3983,
-    -3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,-3983,
-    -3983,-3983,-3983,-3983,-3983,-3983,-3983, 4229,-3983,-3983,
-    -3983,-3983,-3983,-3983,-3983
-    },
-
-    {
-       27,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,
-    -3984,-3984,-3984, 4230,-3984,-3984,-3984,-3984,-3984,-3984,
-
-    -3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,
-    -3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,
-    -3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,
-    -3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,-3984,
-    -3984,-3984,-3984,-3984,-3984
-    },
-
-    {
-       27,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,
-    -3985,-3985,-3985, 4231,-3985,-3985,-3985,-3985,-3985,-3985,
-    -3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,
-    -3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,
-    -3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,
-
-    -3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,-3985,
-    -3985,-3985,-3985,-3985,-3985
-    },
-
-    {
-       27,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,
-    -3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,
-    -3986,-3986,-3986,-3986,-3986,-3986,-3986, 4232,-3986,-3986,
-    -3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,
-    -3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,-3986,
-    -3986,-3986, 4232,-3986,-3986,-3986,-3986,-3986,-3986,-3986,
-    -3986,-3986,-3986,-3986,-3986
-    },
-
-    {
-       27,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,
-
-    -3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,
-    -3987,-3987,-3987,-3987,-3987,-3987,-3987, 4233,-3987,-3987,
-    -3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,
-    -3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,-3987,
-    -3987,-3987, 4233,-3987,-3987,-3987,-3987,-3987,-3987,-3987,
-    -3987,-3987,-3987,-3987,-3987
-    },
-
-    {
-       27,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,
-    -3988,-3988,-3988, 4234,-3988,-3988,-3988,-3988,-3988,-3988,
-    -3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,
-    -3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,
-
-    -3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,
-    -3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,-3988,
-    -3988,-3988,-3988,-3988,-3988
-    },
-
-    {
-       27,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,
-    -3989,-3989,-3989, 4235,-3989,-3989,-3989,-3989,-3989,-3989,
-    -3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,
-    -3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,
-    -3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,
-    -3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,-3989,
-    -3989,-3989,-3989,-3989,-3989
-
-    },
-
-    {
-       27,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,
-    -3990,-3990,-3990, 4236,-3990,-3990,-3990,-3990,-3990,-3990,
-    -3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,
-    -3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,
-    -3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,
-    -3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,-3990,
-    -3990,-3990,-3990,-3990,-3990
-    },
-
-    {
-       27,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,
-    -3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991, 4237,-3991,
-    -3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,
-
-    -3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,
-    -3991,-3991,-3991,-3991, 4237,-3991,-3991,-3991,-3991,-3991,
-    -3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,-3991,
-    -3991,-3991,-3991,-3991,-3991
-    },
-
-    {
-       27,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,
-    -3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992, 4238,-3992,
-    -3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,
-    -3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,
-    -3992,-3992,-3992,-3992, 4238,-3992,-3992,-3992,-3992,-3992,
-    -3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,-3992,
-
-    -3992,-3992,-3992,-3992,-3992
-    },
-
-    {
-       27,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,
-    -3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,
-    -3993,-3993,-3993,-3993,-3993,-3993,-3993, 4239,-3993,-3993,
-    -3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,
-    -3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,-3993,
-    -3993,-3993, 4239,-3993,-3993,-3993,-3993,-3993,-3993,-3993,
-    -3993,-3993,-3993,-3993,-3993
-    },
-
-    {
-       27,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,
-    -3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,
-
-    -3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,
-    -3994, 4240,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,
-    -3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,-3994,
-    -3994,-3994,-3994,-3994,-3994,-3994, 4240,-3994,-3994,-3994,
-    -3994,-3994,-3994,-3994,-3994
-    },
-
-    {
-       27,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995, 2808,
-    -3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,
-    -3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,
-    -3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,
-    -3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,
-
-    -3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,-3995,
-    -3995,-3995,-3995,-3995,-3995
-    },
-
-    {
-       27,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,
-    -3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,
-    -3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,
-    -3996,-3996, 4241,-3996,-3996,-3996,-3996,-3996,-3996,-3996,
-    -3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,-3996,
-    -3996,-3996,-3996,-3996,-3996,-3996,-3996, 4241,-3996,-3996,
-    -3996,-3996,-3996,-3996,-3996
-    },
-
-    {
-       27,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,
-
-    -3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,
-    -3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,
-    -3997,-3997,-3997, 4242,-3997,-3997,-3997,-3997,-3997,-3997,
-    -3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997,
-    -3997,-3997,-3997,-3997,-3997,-3997,-3997,-3997, 4242,-3997,
-    -3997,-3997,-3997,-3997,-3997
-    },
-
-    {
-       27,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,
-    -3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,
-    -3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,
-    -3998,-3998,-3998, 4243,-3998,-3998,-3998,-3998,-3998,-3998,
-
-    -3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998,
-    -3998,-3998,-3998,-3998,-3998,-3998,-3998,-3998, 4243,-3998,
-    -3998,-3998,-3998,-3998,-3998
-    },
-
-    {
-       27,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,
-    -3999,-3999,-3999, 4244,-3999,-3999,-3999,-3999,-3999,-3999,
-    -3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,
-    -3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,
-    -3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,
-    -3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,-3999,
-    -3999,-3999,-3999,-3999,-3999
-
-    },
-
-    {
-       27,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,
-    -4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,
-    -4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,
-    -4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,
-    -4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,
-    -4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,-4000,
-    -4000,-4000,-4000,-4000,-4000
-    },
-
-    {
-       27,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,
-    -4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,
-    -4001,-4001,-4001,-4001,-4001,-4001,-4001, 4245,-4001,-4001,
-
-    -4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,
-    -4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,-4001,
-    -4001,-4001, 4245,-4001,-4001,-4001,-4001,-4001,-4001,-4001,
-    -4001,-4001,-4001,-4001,-4001
-    },
-
-    {
-       27,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,
-    -4002,-4002,-4002, 4246,-4002,-4002,-4002,-4002,-4002,-4002,
-    -4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,
-    -4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,
-    -4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,
-    -4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,-4002,
-
-    -4002,-4002,-4002,-4002,-4002
-    },
-
-    {
-       27,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,
-    -4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,
-    -4003,-4003,-4003,-4003,-4003,-4003,-4003, 4247,-4003,-4003,
-    -4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,
-    -4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,-4003,
-    -4003,-4003, 4247,-4003,-4003,-4003,-4003,-4003,-4003,-4003,
-    -4003,-4003,-4003,-4003,-4003
-    },
-
-    {
-       27,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,
-    -4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,
-
-    -4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,
-    -4004, 4248,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,
-    -4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,-4004,
-    -4004,-4004,-4004,-4004,-4004,-4004, 4248,-4004,-4004,-4004,
-    -4004,-4004,-4004,-4004,-4004
-    },
-
-    {
-       27,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005, 2822,
-    -4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,
-    -4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,
-    -4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,
-    -4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,
-
-    -4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,-4005,
-    -4005,-4005,-4005,-4005,-4005
-    },
-
-    {
-       27,-4006, 4249, 4249,-4006,-4006,-4006,-4006,-4006,-4006,
-    -4006,-4006, 4250,-4006,-4006,-4006,-4006,-4006,-4006,-4006,
-    -4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,
-    -4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,
-    -4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,
-    -4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,-4006,
-    -4006,-4006,-4006,-4006,-4006
-    },
-
-    {
-       27,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,
-
-    -4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,
-    -4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,
-    -4007,-4007,-4007, 4251,-4007,-4007,-4007,-4007,-4007,-4007,
-    -4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007,
-    -4007,-4007,-4007,-4007,-4007,-4007,-4007,-4007, 4251,-4007,
-    -4007,-4007,-4007,-4007,-4007
-    },
-
-    {
-       27,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,
-    -4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,
-    -4008,-4008,-4008,-4008,-4008,-4008,-4008, 4252,-4008,-4008,
-    -4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,
-
-    -4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,-4008,
-    -4008,-4008, 4252,-4008,-4008,-4008,-4008,-4008,-4008,-4008,
-    -4008,-4008,-4008,-4008,-4008
-    },
-
-    {
-       27,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,
-    -4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,
-    -4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,
-    -4009,-4009,-4009, 4253,-4009,-4009,-4009,-4009,-4009,-4009,
-    -4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009,
-    -4009,-4009,-4009,-4009,-4009,-4009,-4009,-4009, 4253,-4009,
-    -4009,-4009,-4009,-4009,-4009
-
-    },
-
-    {
-       27,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,
-    -4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,
-    -4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,
-    -4010,-4010, 4254,-4010,-4010,-4010,-4010,-4010,-4010,-4010,
-    -4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,-4010,
-    -4010,-4010,-4010,-4010,-4010,-4010,-4010, 4254,-4010,-4010,
-    -4010,-4010,-4010,-4010,-4010
-    },
-
-    {
-       27,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,
-    -4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,
-    -4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,
-
-    -4011,-4011,-4011, 4255,-4011,-4011,-4011,-4011,-4011,-4011,
-    -4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011,
-    -4011,-4011,-4011,-4011,-4011,-4011,-4011,-4011, 4255,-4011,
-    -4011,-4011,-4011,-4011,-4011
-    },
-
-    {
-       27,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,
-    -4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,
-    -4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,
-    -4012,-4012,-4012, 4256,-4012,-4012,-4012,-4012,-4012,-4012,
-    -4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012,
-    -4012,-4012,-4012,-4012,-4012,-4012,-4012,-4012, 4256,-4012,
-
-    -4012,-4012,-4012,-4012,-4012
-    },
-
-    {
-       27,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,
-    -4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,
-    -4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,
-    -4013,-4013,-4013, 4257,-4013,-4013,-4013,-4013,-4013,-4013,
-    -4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013,
-    -4013,-4013,-4013,-4013,-4013,-4013,-4013,-4013, 4257,-4013,
-    -4013,-4013,-4013,-4013,-4013
-    },
-
-    {
-       27,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,
-    -4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,
-
-    -4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,
-    -4014,-4014, 4258,-4014,-4014,-4014,-4014,-4014,-4014,-4014,
-    -4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,-4014,
-    -4014,-4014,-4014,-4014,-4014,-4014,-4014, 4258,-4014,-4014,
-    -4014,-4014,-4014,-4014,-4014
-    },
-
-    {
-       27,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,
-    -4015,-4015,-4015, 4259,-4015,-4015,-4015,-4015,-4015,-4015,
-    -4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,
-    -4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,
-    -4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,
-
-    -4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,-4015,
-    -4015,-4015,-4015,-4015,-4015
-    },
-
-    {
-       27,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,
-    -4016,-4016,-4016, 4260,-4016,-4016,-4016,-4016,-4016,-4016,
-    -4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,
-    -4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,
-    -4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,
-    -4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,-4016,
-    -4016,-4016,-4016,-4016,-4016
-    },
-
-    {
-       27,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,
-
-    -4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,
-    -4017,-4017,-4017,-4017,-4017,-4017,-4017, 4261,-4017,-4017,
-    -4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,
-    -4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,-4017,
-    -4017,-4017, 4261,-4017,-4017,-4017,-4017,-4017,-4017,-4017,
-    -4017,-4017,-4017,-4017,-4017
-    },
-
-    {
-       27,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,
-    -4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,
-    -4018,-4018,-4018,-4018,-4018,-4018,-4018, 4262,-4018,-4018,
-    -4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,
-
-    -4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,-4018,
-    -4018,-4018, 4262,-4018,-4018,-4018,-4018,-4018,-4018,-4018,
-    -4018,-4018,-4018,-4018,-4018
-    },
-
-    {
-       27,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,
-    -4019,-4019,-4019, 4263,-4019,-4019,-4019,-4019,-4019,-4019,
-    -4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,
-    -4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,
-    -4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,
-    -4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,-4019,
-    -4019,-4019,-4019,-4019,-4019
-
-    },
-
-    {
-       27,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,
-    -4020,-4020,-4020, 4264,-4020,-4020,-4020,-4020,-4020,-4020,
-    -4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,
-    -4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,
-    -4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,
-    -4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,-4020,
-    -4020,-4020,-4020,-4020,-4020
-    },
-
-    {
-       27,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,
-    -4021,-4021,-4021, 4265,-4021,-4021,-4021,-4021,-4021,-4021,
-    -4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,
-
-    -4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,
-    -4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,
-    -4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,-4021,
-    -4021,-4021,-4021,-4021,-4021
-    },
-
-    {
-       27,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,
-    -4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022, 4266,-4022,
-    -4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,
-    -4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,
-    -4022,-4022,-4022,-4022, 4266,-4022,-4022,-4022,-4022,-4022,
-    -4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,-4022,
-
-    -4022,-4022,-4022,-4022,-4022
-    },
-
-    {
-       27,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,
-    -4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023, 4267,-4023,
-    -4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,
-    -4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,
-    -4023,-4023,-4023,-4023, 4267,-4023,-4023,-4023,-4023,-4023,
-    -4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,-4023,
-    -4023,-4023,-4023,-4023,-4023
-    },
-
-    {
-       27,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,
-    -4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,
-
-    -4024,-4024,-4024,-4024,-4024,-4024,-4024, 4268,-4024,-4024,
-    -4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,
-    -4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,-4024,
-    -4024,-4024, 4268,-4024,-4024,-4024,-4024,-4024,-4024,-4024,
-    -4024,-4024,-4024,-4024,-4024
-    },
-
-    {
-       27,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,
-    -4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,
-    -4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,
-    -4025, 4269,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,
-    -4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,-4025,
-
-    -4025,-4025,-4025,-4025,-4025,-4025, 4269,-4025,-4025,-4025,
-    -4025,-4025,-4025,-4025,-4025
-    },
-
-    {
-       27,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026, 2851,
-    -4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,
-    -4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,
-    -4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,
-    -4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,
-    -4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,-4026,
-    -4026,-4026,-4026,-4026,-4026
-    },
-
-    {
-       27,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,
-
-    -4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,
-    -4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,
-    -4027,-4027, 4270,-4027,-4027,-4027,-4027,-4027,-4027,-4027,
-    -4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,-4027,
-    -4027,-4027,-4027,-4027,-4027,-4027,-4027, 4270,-4027,-4027,
-    -4027,-4027,-4027,-4027,-4027
-    },
-
-    {
-       27,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,
-    -4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,
-    -4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,
-    -4028,-4028,-4028, 4271,-4028,-4028,-4028,-4028,-4028,-4028,
-
-    -4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028,
-    -4028,-4028,-4028,-4028,-4028,-4028,-4028,-4028, 4271,-4028,
-    -4028,-4028,-4028,-4028,-4028
-    },
-
-    {
-       27,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,
-    -4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,
-    -4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,
-    -4029,-4029,-4029, 4272,-4029,-4029,-4029,-4029,-4029,-4029,
-    -4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029,
-    -4029,-4029,-4029,-4029,-4029,-4029,-4029,-4029, 4272,-4029,
-    -4029,-4029,-4029,-4029,-4029
-
-    },
-
-    {
-       27,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,
-    -4030,-4030,-4030, 4273,-4030,-4030,-4030,-4030,-4030,-4030,
-    -4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,
-    -4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,
-    -4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,
-    -4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,-4030,
-    -4030,-4030,-4030,-4030,-4030
-    },
-
-    {
-       27,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,
-    -4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,
-    -4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,
-
-    -4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,
-    -4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,
-    -4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,-4031,
-    -4031,-4031,-4031,-4031,-4031
-    },
-
-    {
-       27,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,
-    -4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,
-    -4032,-4032,-4032,-4032,-4032,-4032,-4032, 4274,-4032,-4032,
-    -4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,
-    -4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,-4032,
-    -4032,-4032, 4274,-4032,-4032,-4032,-4032,-4032,-4032,-4032,
-
-    -4032,-4032,-4032,-4032,-4032
-    },
-
-    {
-       27,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,
-    -4033,-4033,-4033, 4275,-4033,-4033,-4033,-4033,-4033,-4033,
-    -4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,
-    -4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,
-    -4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,
-    -4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,-4033,
-    -4033,-4033,-4033,-4033,-4033
-    },
-
-    {
-       27,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,
-    -4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,
-
-    -4034,-4034,-4034,-4034,-4034,-4034,-4034, 4276,-4034,-4034,
-    -4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,
-    -4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,-4034,
-    -4034,-4034, 4276,-4034,-4034,-4034,-4034,-4034,-4034,-4034,
-    -4034,-4034,-4034,-4034,-4034
-    },
-
-    {
-       27,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,
-    -4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,
-    -4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,
-    -4035, 4277,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,
-    -4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,-4035,
-
-    -4035,-4035,-4035,-4035,-4035,-4035, 4277,-4035,-4035,-4035,
-    -4035,-4035,-4035,-4035,-4035
-    },
-
-    {
-       27,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036, 2865,
-    -4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,
-    -4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,
-    -4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,
-    -4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,
-    -4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,-4036,
-    -4036,-4036,-4036,-4036,-4036
-    },
-
-    {
-       27,-4037, 4278, 4278,-4037,-4037,-4037,-4037,-4037,-4037,
-
-    -4037,-4037, 4279,-4037,-4037,-4037,-4037,-4037,-4037,-4037,
-    -4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,
-    -4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,
-    -4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,
-    -4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,-4037,
-    -4037,-4037,-4037,-4037,-4037
-    },
-
-    {
-       27,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,
-    -4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,
-    -4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,
-    -4038,-4038,-4038, 4280,-4038,-4038,-4038,-4038,-4038,-4038,
-
-    -4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038,
-    -4038,-4038,-4038,-4038,-4038,-4038,-4038,-4038, 4280,-4038,
-    -4038,-4038,-4038,-4038,-4038
-    },
-
-    {
-       27,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,
-    -4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,
-    -4039,-4039,-4039,-4039,-4039,-4039,-4039, 4281,-4039,-4039,
-    -4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,
-    -4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,-4039,
-    -4039,-4039, 4281,-4039,-4039,-4039,-4039,-4039,-4039,-4039,
-    -4039,-4039,-4039,-4039,-4039
-
-    },
-
-    {
-       27,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,
-    -4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,
-    -4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,
-    -4040,-4040,-4040, 4282,-4040,-4040,-4040,-4040,-4040,-4040,
-    -4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040,
-    -4040,-4040,-4040,-4040,-4040,-4040,-4040,-4040, 4282,-4040,
-    -4040,-4040,-4040,-4040,-4040
-    },
-
-    {
-       27,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,
-    -4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,
-    -4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,
-
-    -4041,-4041, 4283,-4041,-4041,-4041,-4041,-4041,-4041,-4041,
-    -4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,-4041,
-    -4041,-4041,-4041,-4041,-4041,-4041,-4041, 4283,-4041,-4041,
-    -4041,-4041,-4041,-4041,-4041
-    },
-
-    {
-       27,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,
-    -4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,
-    -4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,
-    -4042,-4042,-4042, 4284,-4042,-4042,-4042,-4042,-4042,-4042,
-    -4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042,
-    -4042,-4042,-4042,-4042,-4042,-4042,-4042,-4042, 4284,-4042,
-
-    -4042,-4042,-4042,-4042,-4042
-    },
-
-    {
-       27,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,
-    -4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,
-    -4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,
-    -4043,-4043,-4043, 4285,-4043,-4043,-4043,-4043,-4043,-4043,
-    -4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043,
-    -4043,-4043,-4043,-4043,-4043,-4043,-4043,-4043, 4285,-4043,
-    -4043,-4043,-4043,-4043,-4043
-    },
-
-    {
-       27,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,
-    -4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,
-
-    -4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,
-    -4044,-4044,-4044, 4286,-4044,-4044,-4044,-4044,-4044,-4044,
-    -4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044,
-    -4044,-4044,-4044,-4044,-4044,-4044,-4044,-4044, 4286,-4044,
-    -4044,-4044,-4044,-4044,-4044
-    },
-
-    {
-       27,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,
-    -4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,
-    -4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,
-    -4045,-4045, 4287,-4045,-4045,-4045,-4045,-4045,-4045,-4045,
-    -4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,-4045,
-
-    -4045,-4045,-4045,-4045,-4045,-4045,-4045, 4287,-4045,-4045,
-    -4045,-4045,-4045,-4045,-4045
-    },
-
-    {
-       27,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,
-    -4046,-4046,-4046, 4288,-4046,-4046,-4046,-4046,-4046,-4046,
-    -4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,
-    -4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,
-    -4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,
-    -4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,-4046,
-    -4046,-4046,-4046,-4046,-4046
-    },
-
-    {
-       27,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,
-
-    -4047,-4047,-4047, 4289,-4047,-4047,-4047,-4047,-4047,-4047,
-    -4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,
-    -4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,
-    -4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,
-    -4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,-4047,
-    -4047,-4047,-4047,-4047,-4047
-    },
-
-    {
-       27,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,
-    -4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,
-    -4048,-4048,-4048,-4048,-4048,-4048,-4048, 4290,-4048,-4048,
-    -4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,
-
-    -4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,-4048,
-    -4048,-4048, 4290,-4048,-4048,-4048,-4048,-4048,-4048,-4048,
-    -4048,-4048,-4048,-4048,-4048
-    },
-
-    {
-       27,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,
-    -4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,
-    -4049,-4049,-4049,-4049,-4049,-4049,-4049, 4291,-4049,-4049,
-    -4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,
-    -4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,-4049,
-    -4049,-4049, 4291,-4049,-4049,-4049,-4049,-4049,-4049,-4049,
-    -4049,-4049,-4049,-4049,-4049
-
-    },
-
-    {
-       27,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,
-    -4050,-4050,-4050, 4292,-4050,-4050,-4050,-4050,-4050,-4050,
-    -4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,
-    -4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,
-    -4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,
-    -4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,-4050,
-    -4050,-4050,-4050,-4050,-4050
-    },
-
-    {
-       27,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,
-    -4051,-4051,-4051, 4293,-4051,-4051,-4051,-4051,-4051,-4051,
-    -4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,
-
-    -4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,
-    -4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,
-    -4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,-4051,
-    -4051,-4051,-4051,-4051,-4051
-    },
-
-    {
-       27,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,
-    -4052,-4052,-4052, 4294,-4052,-4052,-4052,-4052,-4052,-4052,
-    -4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,
-    -4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,
-    -4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,
-    -4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,-4052,
-
-    -4052,-4052,-4052,-4052,-4052
-    },
-
-    {
-       27,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,
-    -4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053, 4295,-4053,
-    -4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,
-    -4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,
-    -4053,-4053,-4053,-4053, 4295,-4053,-4053,-4053,-4053,-4053,
-    -4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,-4053,
-    -4053,-4053,-4053,-4053,-4053
-    },
-
-    {
-       27,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,
-    -4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054, 4296,-4054,
-
-    -4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,
-    -4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,
-    -4054,-4054,-4054,-4054, 4296,-4054,-4054,-4054,-4054,-4054,
-    -4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,-4054,
-    -4054,-4054,-4054,-4054,-4054
-    },
-
-    {
-       27,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,
-    -4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,
-    -4055,-4055,-4055,-4055,-4055,-4055,-4055, 4297,-4055,-4055,
-    -4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,
-    -4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,-4055,
-
-    -4055,-4055, 4297,-4055,-4055,-4055,-4055,-4055,-4055,-4055,
-    -4055,-4055,-4055,-4055,-4055
-    },
-
-    {
-       27,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,
-    -4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,
-    -4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,
-    -4056, 4298,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,
-    -4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,-4056,
-    -4056,-4056,-4056,-4056,-4056,-4056, 4298,-4056,-4056,-4056,
-    -4056,-4056,-4056,-4056,-4056
-    },
-
-    {
-       27,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057, 2894,
-
-    -4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,
-    -4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,
-    -4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,
-    -4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,
-    -4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,-4057,
-    -4057,-4057,-4057,-4057,-4057
-    },
-
-    {
-       27,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,
-    -4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,
-    -4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,
-    -4058,-4058, 4299,-4058,-4058,-4058,-4058,-4058,-4058,-4058,
-
-    -4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,-4058,
-    -4058,-4058,-4058,-4058,-4058,-4058,-4058, 4299,-4058,-4058,
-    -4058,-4058,-4058,-4058,-4058
-    },
-
-    {
-       27,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,
-    -4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,
-    -4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,
-    -4059,-4059,-4059, 4300,-4059,-4059,-4059,-4059,-4059,-4059,
-    -4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059,
-    -4059,-4059,-4059,-4059,-4059,-4059,-4059,-4059, 4300,-4059,
-    -4059,-4059,-4059,-4059,-4059
-
-    },
-
-    {
-       27,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,
-    -4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,
-    -4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,
-    -4060,-4060,-4060, 4301,-4060,-4060,-4060,-4060,-4060,-4060,
-    -4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060,
-    -4060,-4060,-4060,-4060,-4060,-4060,-4060,-4060, 4301,-4060,
-    -4060,-4060,-4060,-4060,-4060
-    },
-
-    {
-       27,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,
-    -4061,-4061,-4061, 4302,-4061,-4061,-4061,-4061,-4061,-4061,
-    -4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,
-
-    -4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,
-    -4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,
-    -4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,-4061,
-    -4061,-4061,-4061,-4061,-4061
-    },
-
-    {
-       27,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,
-    -4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,
-    -4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,
-    -4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,
-    -4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,
-    -4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,-4062,
-
-    -4062,-4062,-4062,-4062,-4062
-    },
-
-    {
-       27,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,
-    -4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,
-    -4063,-4063,-4063,-4063,-4063,-4063,-4063, 4303,-4063,-4063,
-    -4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,
-    -4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,-4063,
-    -4063,-4063, 4303,-4063,-4063,-4063,-4063,-4063,-4063,-4063,
-    -4063,-4063,-4063,-4063,-4063
-    },
-
-    {
-       27,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,
-    -4064,-4064,-4064, 4304,-4064,-4064,-4064,-4064,-4064,-4064,
-
-    -4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,
-    -4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,
-    -4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,
-    -4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,-4064,
-    -4064,-4064,-4064,-4064,-4064
-    },
-
-    {
-       27,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,
-    -4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,
-    -4065,-4065,-4065,-4065,-4065,-4065,-4065, 4305,-4065,-4065,
-    -4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,
-    -4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,-4065,
-
-    -4065,-4065, 4305,-4065,-4065,-4065,-4065,-4065,-4065,-4065,
-    -4065,-4065,-4065,-4065,-4065
-    },
-
-    {
-       27,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,
-    -4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,
-    -4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,
-    -4066, 4306,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,
-    -4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,-4066,
-    -4066,-4066,-4066,-4066,-4066,-4066, 4306,-4066,-4066,-4066,
-    -4066,-4066,-4066,-4066,-4066
-    },
-
-    {
-       27,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067, 2908,
-
-    -4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,
-    -4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,
-    -4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,
-    -4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,
-    -4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,-4067,
-    -4067,-4067,-4067,-4067,-4067
-    },
-
-    {
-       27,-4068, 4307, 4307,-4068,-4068,-4068,-4068,-4068,-4068,
-    -4068,-4068, 4308,-4068,-4068,-4068,-4068,-4068,-4068,-4068,
-    -4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,
-    -4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,
-
-    -4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,
-    -4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,-4068,
-    -4068,-4068,-4068,-4068,-4068
-    },
-
-    {
-       27,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,
-    -4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,
-    -4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,
-    -4069,-4069,-4069, 4309,-4069,-4069,-4069,-4069,-4069,-4069,
-    -4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069,
-    -4069,-4069,-4069,-4069,-4069,-4069,-4069,-4069, 4309,-4069,
-    -4069,-4069,-4069,-4069,-4069
-
-    },
-
-    {
-       27,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,
-    -4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,
-    -4070,-4070,-4070,-4070,-4070,-4070,-4070, 4310,-4070,-4070,
-    -4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,
-    -4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,-4070,
-    -4070,-4070, 4310,-4070,-4070,-4070,-4070,-4070,-4070,-4070,
-    -4070,-4070,-4070,-4070,-4070
-    },
-
-    {
-       27,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,
-    -4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,
-    -4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,
-
-    -4071,-4071,-4071, 4311,-4071,-4071,-4071,-4071,-4071,-4071,
-    -4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071,
-    -4071,-4071,-4071,-4071,-4071,-4071,-4071,-4071, 4311,-4071,
-    -4071,-4071,-4071,-4071,-4071
-    },
-
-    {
-       27,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,
-    -4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,
-    -4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,
-    -4072,-4072, 4312,-4072,-4072,-4072,-4072,-4072,-4072,-4072,
-    -4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,-4072,
-    -4072,-4072,-4072,-4072,-4072,-4072,-4072, 4312,-4072,-4072,
-
-    -4072,-4072,-4072,-4072,-4072
-    },
-
-    {
-       27,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,
-    -4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,
-    -4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,
-    -4073,-4073,-4073, 4313,-4073,-4073,-4073,-4073,-4073,-4073,
-    -4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073,
-    -4073,-4073,-4073,-4073,-4073,-4073,-4073,-4073, 4313,-4073,
-    -4073,-4073,-4073,-4073,-4073
-    },
-
-    {
-       27,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,
-    -4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,
-
-    -4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,
-    -4074,-4074,-4074, 4314,-4074,-4074,-4074,-4074,-4074,-4074,
-    -4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074,
-    -4074,-4074,-4074,-4074,-4074,-4074,-4074,-4074, 4314,-4074,
-    -4074,-4074,-4074,-4074,-4074
-    },
-
-    {
-       27,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,
-    -4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,
-    -4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,
-    -4075,-4075,-4075, 4315,-4075,-4075,-4075,-4075,-4075,-4075,
-    -4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075,
-
-    -4075,-4075,-4075,-4075,-4075,-4075,-4075,-4075, 4315,-4075,
-    -4075,-4075,-4075,-4075,-4075
-    },
-
-    {
-       27,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,
-    -4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,
-    -4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,
-    -4076,-4076, 4316,-4076,-4076,-4076,-4076,-4076,-4076,-4076,
-    -4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,-4076,
-    -4076,-4076,-4076,-4076,-4076,-4076,-4076, 4316,-4076,-4076,
-    -4076,-4076,-4076,-4076,-4076
-    },
-
-    {
-       27,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,
-
-    -4077,-4077,-4077, 4317,-4077,-4077,-4077,-4077,-4077,-4077,
-    -4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,
-    -4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,
-    -4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,
-    -4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,-4077,
-    -4077,-4077,-4077,-4077,-4077
-    },
-
-    {
-       27,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,
-    -4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,
-    -4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,
-    -4078,-4078,-4078,-4078,-4078,-4078,-4078, 4318,-4078,-4078,
-
-    -4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,
-    -4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,-4078,
-    -4078,-4078, 4318,-4078,-4078
-    },
-
-    {
-       27,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,
-    -4079,-4079,-4079, 4319,-4079,-4079,-4079,-4079,-4079,-4079,
-    -4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,
-    -4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,
-    -4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,
-    -4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,-4079,
-    -4079,-4079,-4079,-4079,-4079
-
-    },
-
-    {
-       27,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,
-    -4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,
-    -4080,-4080,-4080,-4080,-4080,-4080,-4080, 4320,-4080,-4080,
-    -4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,
-    -4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,-4080,
-    -4080,-4080, 4320,-4080,-4080,-4080,-4080,-4080,-4080,-4080,
-    -4080,-4080,-4080,-4080,-4080
-    },
-
-    {
-       27,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,
-    -4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,
-    -4081,-4081,-4081,-4081,-4081,-4081,-4081, 4321,-4081,-4081,
-
-    -4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,
-    -4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,-4081,
-    -4081,-4081, 4321,-4081,-4081,-4081,-4081,-4081,-4081,-4081,
-    -4081,-4081,-4081,-4081,-4081
-    },
-
-    {
-       27,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,
-    -4082,-4082,-4082, 4322,-4082,-4082,-4082,-4082,-4082,-4082,
-    -4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,
-    -4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,
-    -4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,
-    -4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,-4082,
-
-    -4082,-4082,-4082,-4082,-4082
-    },
-
-    {
-       27,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,
-    -4083,-4083,-4083, 4323,-4083,-4083,-4083,-4083,-4083,-4083,
-    -4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,
-    -4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,
-    -4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,
-    -4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,-4083,
-    -4083,-4083,-4083,-4083,-4083
-    },
-
-    {
-       27,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,
-    -4084,-4084,-4084, 4324,-4084,-4084,-4084,-4084,-4084,-4084,
-
-    -4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,
-    -4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,
-    -4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,
-    -4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,-4084,
-    -4084,-4084,-4084,-4084,-4084
-    },
-
-    {
-       27,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,
-    -4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085, 4325,-4085,
-    -4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,
-    -4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,
-    -4085,-4085,-4085,-4085, 4325,-4085,-4085,-4085,-4085,-4085,
-
-    -4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,-4085,
-    -4085,-4085,-4085,-4085,-4085
-    },
-
-    {
-       27,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,
-    -4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086, 4326,-4086,
-    -4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,
-    -4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,
-    -4086,-4086,-4086,-4086, 4326,-4086,-4086,-4086,-4086,-4086,
-    -4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,-4086,
-    -4086,-4086,-4086,-4086,-4086
-    },
-
-    {
-       27,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,
-
-    -4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,
-    -4087,-4087,-4087,-4087,-4087,-4087,-4087, 4327,-4087,-4087,
-    -4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,
-    -4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,-4087,
-    -4087,-4087, 4327,-4087,-4087,-4087,-4087,-4087,-4087,-4087,
-    -4087,-4087,-4087,-4087,-4087
-    },
-
-    {
-       27,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,
-    -4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,
-    -4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,
-    -4088, 4328,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,
-
-    -4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,-4088,
-    -4088,-4088,-4088,-4088,-4088,-4088, 4328,-4088,-4088,-4088,
-    -4088,-4088,-4088,-4088,-4088
-    },
-
-    {
-       27,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089, 2937,
-    -4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,
-    -4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,
-    -4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,
-    -4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,
-    -4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,-4089,
-    -4089,-4089,-4089,-4089,-4089
-
-    },
-
-    {
-       27,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,
-    -4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,
-    -4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,
-    -4090,-4090, 4329,-4090,-4090,-4090,-4090,-4090,-4090,-4090,
-    -4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,-4090,
-    -4090,-4090,-4090,-4090,-4090,-4090,-4090, 4329,-4090,-4090,
-    -4090,-4090,-4090,-4090,-4090
-    },
-
-    {
-       27,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,
-    -4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,
-    -4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,
-
-    -4091,-4091,-4091, 4330,-4091,-4091,-4091,-4091,-4091,-4091,
-    -4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091,
-    -4091,-4091,-4091,-4091,-4091,-4091,-4091,-4091, 4330,-4091,
-    -4091,-4091,-4091,-4091,-4091
-    },
-
-    {
-       27,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,
-    -4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,
-    -4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,
-    -4092,-4092,-4092, 4331,-4092,-4092,-4092,-4092,-4092,-4092,
-    -4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092,
-    -4092,-4092,-4092,-4092,-4092,-4092,-4092,-4092, 4331,-4092,
-
-    -4092,-4092,-4092,-4092,-4092
-    },
-
-    {
-       27,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,
-    -4093,-4093,-4093, 4332,-4093,-4093,-4093,-4093,-4093,-4093,
-    -4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,
-    -4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,
-    -4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,
-    -4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,-4093,
-    -4093,-4093,-4093,-4093,-4093
-    },
-
-    {
-       27,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,
-    -4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,
-
-    -4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,
-    -4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,
-    -4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,
-    -4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,-4094,
-    -4094,-4094,-4094,-4094,-4094
-    },
-
-    {
-       27,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,
-    -4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,
-    -4095,-4095,-4095,-4095,-4095,-4095,-4095, 4333,-4095,-4095,
-    -4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,
-    -4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,-4095,
-
-    -4095,-4095, 4333,-4095,-4095,-4095,-4095,-4095,-4095,-4095,
-    -4095,-4095,-4095,-4095,-4095
-    },
-
-    {
-       27,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,
-    -4096,-4096,-4096, 4334,-4096,-4096,-4096,-4096,-4096,-4096,
-    -4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,
-    -4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,
-    -4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,
-    -4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,-4096,
-    -4096,-4096,-4096,-4096,-4096
-    },
-
-    {
-       27,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,
-
-    -4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,
-    -4097,-4097,-4097,-4097,-4097,-4097,-4097, 4335,-4097,-4097,
-    -4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,
-    -4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,-4097,
-    -4097,-4097, 4335,-4097,-4097,-4097,-4097,-4097,-4097,-4097,
-    -4097,-4097,-4097,-4097,-4097
-    },
-
-    {
-       27,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,
-    -4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,
-    -4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,
-    -4098, 4336,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,
-
-    -4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,-4098,
-    -4098,-4098,-4098,-4098,-4098,-4098, 4336,-4098,-4098,-4098,
-    -4098,-4098,-4098,-4098,-4098
-    },
-
-    {
-       27,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099, 2951,
-    -4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,
-    -4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,
-    -4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,
-    -4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,
-    -4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,-4099,
-    -4099,-4099,-4099,-4099,-4099
-
-    },
-
-    {
-       27,-4100, 4337, 4337,-4100,-4100,-4100,-4100,-4100,-4100,
-    -4100,-4100, 4338,-4100,-4100,-4100,-4100,-4100,-4100,-4100,
-    -4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,
-    -4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,
-    -4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,
-    -4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,-4100,
-    -4100,-4100,-4100,-4100,-4100
-    },
-
-    {
-       27,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,
-    -4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,
-    -4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,
-
-    -4101,-4101,-4101, 4339,-4101,-4101,-4101,-4101,-4101,-4101,
-    -4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101,
-    -4101,-4101,-4101,-4101,-4101,-4101,-4101,-4101, 4339,-4101,
-    -4101,-4101,-4101,-4101,-4101
-    },
-
-    {
-       27,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,
-    -4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,
-    -4102,-4102,-4102,-4102,-4102,-4102,-4102, 4340,-4102,-4102,
-    -4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,
-    -4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,-4102,
-    -4102,-4102, 4340,-4102,-4102,-4102,-4102,-4102,-4102,-4102,
-
-    -4102,-4102,-4102,-4102,-4102
-    },
-
-    {
-       27,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,
-    -4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,
-    -4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,
-    -4103,-4103,-4103, 4341,-4103,-4103,-4103,-4103,-4103,-4103,
-    -4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103,
-    -4103,-4103,-4103,-4103,-4103,-4103,-4103,-4103, 4341,-4103,
-    -4103,-4103,-4103,-4103,-4103
-    },
-
-    {
-       27,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,
-    -4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,
-
-    -4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,
-    -4104,-4104, 4342,-4104,-4104,-4104,-4104,-4104,-4104,-4104,
-    -4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,-4104,
-    -4104,-4104,-4104,-4104,-4104,-4104,-4104, 4342,-4104,-4104,
-    -4104,-4104,-4104,-4104,-4104
-    },
-
-    {
-       27,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,
-    -4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,
-    -4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,
-    -4105,-4105,-4105, 4343,-4105,-4105,-4105,-4105,-4105,-4105,
-    -4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105,
-
-    -4105,-4105,-4105,-4105,-4105,-4105,-4105,-4105, 4343,-4105,
-    -4105,-4105,-4105,-4105,-4105
-    },
-
-    {
-       27,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,
-    -4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,
-    -4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,
-    -4106,-4106,-4106, 4344,-4106,-4106,-4106,-4106,-4106,-4106,
-    -4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106,
-    -4106,-4106,-4106,-4106,-4106,-4106,-4106,-4106, 4344,-4106,
-    -4106,-4106,-4106,-4106,-4106
-    },
-
-    {
-       27,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,
-
-    -4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,
-    -4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,
-    -4107,-4107,-4107, 4345,-4107,-4107,-4107,-4107,-4107,-4107,
-    -4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107,
-    -4107,-4107,-4107,-4107,-4107,-4107,-4107,-4107, 4345,-4107,
-    -4107,-4107,-4107,-4107,-4107
-    },
-
-    {
-       27,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,
-    -4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,
-    -4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,
-    -4108,-4108, 4346,-4108,-4108,-4108,-4108,-4108,-4108,-4108,
-
-    -4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,-4108,
-    -4108,-4108,-4108,-4108,-4108,-4108,-4108, 4346,-4108,-4108,
-    -4108,-4108,-4108,-4108,-4108
-    },
-
-    {
-       27,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,
-    -4109,-4109,-4109, 4347,-4109,-4109,-4109,-4109,-4109,-4109,
-    -4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,
-    -4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,
-    -4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,
-    -4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,-4109,
-    -4109,-4109,-4109,-4109,-4109
-
-    },
-
-    {
-       27,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,
-    -4110,-4110,-4110, 4348,-4110,-4110,-4110,-4110,-4110,-4110,
-    -4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,
-    -4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,
-    -4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,
-    -4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,-4110,
-    -4110,-4110,-4110,-4110,-4110
-    },
-
-    {
-       27,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,
-    -4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,
-    -4111,-4111,-4111,-4111,-4111,-4111,-4111, 4349,-4111,-4111,
-
-    -4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,
-    -4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,-4111,
-    -4111,-4111, 4349,-4111,-4111,-4111,-4111,-4111,-4111,-4111,
-    -4111,-4111,-4111,-4111,-4111
-    },
-
-    {
-       27,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,
-    -4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,
-    -4112,-4112,-4112,-4112,-4112,-4112,-4112, 4350,-4112,-4112,
-    -4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,
-    -4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,-4112,
-    -4112,-4112, 4350,-4112,-4112,-4112,-4112,-4112,-4112,-4112,
-
-    -4112,-4112,-4112,-4112,-4112
-    },
-
-    {
-       27,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,
-    -4113,-4113,-4113, 4351,-4113,-4113,-4113,-4113,-4113,-4113,
-    -4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,
-    -4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,
-    -4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,
-    -4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,-4113,
-    -4113,-4113,-4113,-4113,-4113
-    },
-
-    {
-       27,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,
-    -4114,-4114,-4114, 4352,-4114,-4114,-4114,-4114,-4114,-4114,
-
-    -4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,
-    -4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,
-    -4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,
-    -4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,-4114,
-    -4114,-4114,-4114,-4114,-4114
-    },
-
-    {
-       27,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,
-    -4115,-4115,-4115, 4353,-4115,-4115,-4115,-4115,-4115,-4115,
-    -4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,
-    -4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,
-    -4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,
-
-    -4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,-4115,
-    -4115,-4115,-4115,-4115,-4115
-    },
-
-    {
-       27,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,
-    -4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116, 4354,-4116,
-    -4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,
-    -4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,
-    -4116,-4116,-4116,-4116, 4354,-4116,-4116,-4116,-4116,-4116,
-    -4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,-4116,
-    -4116,-4116,-4116,-4116,-4116
-    },
-
-    {
-       27,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,
-
-    -4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117, 4355,-4117,
-    -4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,
-    -4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,
-    -4117,-4117,-4117,-4117, 4355,-4117,-4117,-4117,-4117,-4117,
-    -4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,-4117,
-    -4117,-4117,-4117,-4117,-4117
-    },
-
-    {
-       27,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,
-    -4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,
-    -4118,-4118,-4118,-4118,-4118,-4118,-4118, 4356,-4118,-4118,
-    -4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,
-
-    -4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,-4118,
-    -4118,-4118, 4356,-4118,-4118,-4118,-4118,-4118,-4118,-4118,
-    -4118,-4118,-4118,-4118,-4118
-    },
-
-    {
-       27,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,
-    -4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,
-    -4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,
-    -4119, 4357,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,
-    -4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,-4119,
-    -4119,-4119,-4119,-4119,-4119,-4119, 4357,-4119,-4119,-4119,
-    -4119,-4119,-4119,-4119,-4119
-
-    },
-
-    {
-       27,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120, 2980,
-    -4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,
-    -4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,
-    -4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,
-    -4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,
-    -4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,-4120,
-    -4120,-4120,-4120,-4120,-4120
-    },
-
-    {
-       27,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,
-    -4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,
-    -4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,
-
-    -4121,-4121, 4358,-4121,-4121,-4121,-4121,-4121,-4121,-4121,
-    -4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,-4121,
-    -4121,-4121,-4121,-4121,-4121,-4121,-4121, 4358,-4121,-4121,
-    -4121,-4121,-4121,-4121,-4121
-    },
-
-    {
-       27,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,
-    -4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,
-    -4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,
-    -4122,-4122,-4122, 4359,-4122,-4122,-4122,-4122,-4122,-4122,
-    -4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122,
-    -4122,-4122,-4122,-4122,-4122,-4122,-4122,-4122, 4359,-4122,
-
-    -4122,-4122,-4122,-4122,-4122
-    },
-
-    {
-       27,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,
-    -4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,
-    -4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,
-    -4123,-4123,-4123, 4360,-4123,-4123,-4123,-4123,-4123,-4123,
-    -4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123,
-    -4123,-4123,-4123,-4123,-4123,-4123,-4123,-4123, 4360,-4123,
-    -4123,-4123,-4123,-4123,-4123
-    },
-
-    {
-       27,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,
-    -4124,-4124,-4124, 4361,-4124,-4124,-4124,-4124,-4124,-4124,
-
-    -4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,
-    -4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,
-    -4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,
-    -4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,-4124,
-    -4124,-4124,-4124,-4124,-4124
-    },
-
-    {
-       27,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,
-    -4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,
-    -4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,
-    -4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,
-    -4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,
-
-    -4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,-4125,
-    -4125,-4125,-4125,-4125,-4125
-    },
-
-    {
-       27,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,
-    -4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,
-    -4126,-4126,-4126,-4126,-4126,-4126,-4126, 4362,-4126,-4126,
-    -4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,
-    -4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,-4126,
-    -4126,-4126, 4362,-4126,-4126,-4126,-4126,-4126,-4126,-4126,
-    -4126,-4126,-4126,-4126,-4126
-    },
-
-    {
-       27,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,
-
-    -4127,-4127,-4127, 4363,-4127,-4127,-4127,-4127,-4127,-4127,
-    -4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,
-    -4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,
-    -4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,
-    -4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,-4127,
-    -4127,-4127,-4127,-4127,-4127
-    },
-
-    {
-       27,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,
-    -4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,
-    -4128,-4128,-4128,-4128,-4128,-4128,-4128, 4364,-4128,-4128,
-    -4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,
-
-    -4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,-4128,
-    -4128,-4128, 4364,-4128,-4128,-4128,-4128,-4128,-4128,-4128,
-    -4128,-4128,-4128,-4128,-4128
-    },
-
-    {
-       27,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,
-    -4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,
-    -4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,
-    -4129, 4365,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,
-    -4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,-4129,
-    -4129,-4129,-4129,-4129,-4129,-4129, 4365,-4129,-4129,-4129,
-    -4129,-4129,-4129,-4129,-4129
-
-    },
-
-    {
-       27,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130, 2994,
-    -4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,
-    -4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,
-    -4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,
-    -4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,
-    -4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,-4130,
-    -4130,-4130,-4130,-4130,-4130
-    },
-
-    {
-       27,-4131, 4366, 4366,-4131,-4131,-4131,-4131,-4131,-4131,
-    -4131,-4131, 4367,-4131,-4131,-4131,-4131,-4131,-4131,-4131,
-    -4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,
-
-    -4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,
-    -4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,
-    -4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,-4131,
-    -4131,-4131,-4131,-4131,-4131
-    },
-
-    {
-       27,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,
-    -4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,
-    -4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,
-    -4132,-4132,-4132, 4368,-4132,-4132,-4132,-4132,-4132,-4132,
-    -4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132,
-    -4132,-4132,-4132,-4132,-4132,-4132,-4132,-4132, 4368,-4132,
-
-    -4132,-4132,-4132,-4132,-4132
-    },
-
-    {
-       27,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,
-    -4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,
-    -4133,-4133,-4133,-4133,-4133,-4133,-4133, 4369,-4133,-4133,
-    -4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,
-    -4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,-4133,
-    -4133,-4133, 4369,-4133,-4133,-4133,-4133,-4133,-4133,-4133,
-    -4133,-4133,-4133,-4133,-4133
-    },
-
-    {
-       27,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,
-    -4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,
-
-    -4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,
-    -4134,-4134,-4134, 4370,-4134,-4134,-4134,-4134,-4134,-4134,
-    -4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134,
-    -4134,-4134,-4134,-4134,-4134,-4134,-4134,-4134, 4370,-4134,
-    -4134,-4134,-4134,-4134,-4134
-    },
-
-    {
-       27,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,
-    -4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,
-    -4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,
-    -4135,-4135, 4371,-4135,-4135,-4135,-4135,-4135,-4135,-4135,
-    -4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,-4135,
-
-    -4135,-4135,-4135,-4135,-4135,-4135,-4135, 4371,-4135,-4135,
-    -4135,-4135,-4135,-4135,-4135
-    },
-
-    {
-       27,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,
-    -4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,
-    -4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,
-    -4136,-4136,-4136, 4372,-4136,-4136,-4136,-4136,-4136,-4136,
-    -4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136,
-    -4136,-4136,-4136,-4136,-4136,-4136,-4136,-4136, 4372,-4136,
-    -4136,-4136,-4136,-4136,-4136
-    },
-
-    {
-       27,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,
-
-    -4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,
-    -4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,
-    -4137,-4137,-4137, 4373,-4137,-4137,-4137,-4137,-4137,-4137,
-    -4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137,
-    -4137,-4137,-4137,-4137,-4137,-4137,-4137,-4137, 4373,-4137,
-    -4137,-4137,-4137,-4137,-4137
-    },
-
-    {
-       27,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,
-    -4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,
-    -4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,
-    -4138,-4138,-4138, 4374,-4138,-4138,-4138,-4138,-4138,-4138,
-
-    -4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138,
-    -4138,-4138,-4138,-4138,-4138,-4138,-4138,-4138, 4374,-4138,
-    -4138,-4138,-4138,-4138,-4138
-    },
-
-    {
-       27,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,
-    -4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,
-    -4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,
-    -4139,-4139, 4375,-4139,-4139,-4139,-4139,-4139,-4139,-4139,
-    -4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,-4139,
-    -4139,-4139,-4139,-4139,-4139,-4139,-4139, 4375,-4139,-4139,
-    -4139,-4139,-4139,-4139,-4139
-
-    },
-
-    {
-       27,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,
-    -4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,
-    -4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,
-    -4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,
-    -4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,
-    -4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,-4140,
-    -4140,-4140,-4140,-4140,-4140
-    },
-
-    {
-       27,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,
-    -4141,-4141,-4141, 4376,-4141,-4141,-4141,-4141,-4141,-4141,
-    -4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,
-
-    -4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,
-    -4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,
-    -4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,-4141,
-    -4141,-4141,-4141,-4141,-4141
-    },
-
-    {
-       27,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,
-    -4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,
-    -4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,
-    -4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,
-    -4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,
-    -4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,-4142,
-
-    -4142,-4142,-4142,-4142,-4142
-    },
-
-    {
-       27,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,
-    -4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,
-    -4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,
-    -4143,-4143,-4143, 4377,-4143,-4143,-4143,-4143,-4143,-4143,
-    -4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143,
-    -4143,-4143,-4143,-4143,-4143,-4143,-4143,-4143, 4377,-4143,
-    -4143,-4143,-4143,-4143,-4143
-    },
-
-    {
-       27,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,
-    -4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,
-
-    -4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,
-    -4144,-4144,-4144, 4378,-4144,-4144,-4144,-4144,-4144,-4144,
-    -4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144,
-    -4144,-4144,-4144,-4144,-4144,-4144,-4144,-4144, 4378,-4144,
-    -4144,-4144,-4144,-4144,-4144
-    },
-
-    {
-       27,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,
-    -4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,
-    -4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,
-    -4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,
-    -4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,
-
-    -4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,-4145,
-    -4145,-4145,-4145,-4145,-4145
-    },
-
-    {
-       27,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,
-    -4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,
-    -4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,
-    -4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,
-    -4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,
-    -4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,-4146,
-    -4146,-4146,-4146,-4146,-4146
-    },
-
-    {
-       27,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,
-
-    -4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,
-    -4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,
-    -4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,
-    -4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,
-    -4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,-4147,
-    -4147,-4147,-4147,-4147,-4147
-    },
-
-    {
-       27,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,
-    -4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,
-    -4148,-4148,-4148,-4148,-4148,-4148,-4148, 4379,-4148,-4148,
-    -4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,
-
-    -4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,-4148,
-    -4148,-4148, 4379,-4148,-4148,-4148,-4148,-4148,-4148,-4148,
-    -4148,-4148,-4148,-4148,-4148
-    },
-
-    {
-       27,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,
-    -4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,
-    -4149,-4149,-4149,-4149,-4149,-4149,-4149, 4380,-4149,-4149,
-    -4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,
-    -4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,-4149,
-    -4149,-4149, 4380,-4149,-4149,-4149,-4149,-4149,-4149,-4149,
-    -4149,-4149,-4149,-4149,-4149
-
-    },
-
-    {
-       27,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,
-    -4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,
-    -4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,
-    -4150,-4150,-4150, 4381,-4150,-4150,-4150,-4150,-4150,-4150,
-    -4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150,
-    -4150,-4150,-4150,-4150,-4150,-4150,-4150,-4150, 4381,-4150,
-    -4150,-4150,-4150,-4150,-4150
-    },
-
-    {
-       27,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,
-    -4151,-4151,-4151,-4151, 4382,-4151,-4151,-4151,-4151,-4151,
-    -4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,
-
-    -4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,
-     4382,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,
-    -4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,-4151,
-    -4151,-4151,-4151,-4151,-4151
-    },
-
-    {
-       27,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,
-    -4152,-4152,-4152, 4383,-4152,-4152,-4152,-4152,-4152,-4152,
-    -4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,
-    -4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,
-    -4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,
-    -4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,-4152,
-
-    -4152,-4152,-4152,-4152,-4152
-    },
-
-    {
-       27,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,
-    -4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153, 4384,-4153,
-    -4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,
-    -4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,
-    -4153,-4153,-4153,-4153, 4384,-4153,-4153,-4153,-4153,-4153,
-    -4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,-4153,
-    -4153,-4153,-4153,-4153,-4153
-    },
-
-    {
-       27,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,
-    -4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,
-
-    -4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,
-    -4154,-4154, 4385,-4154,-4154,-4154,-4154,-4154,-4154,-4154,
-    -4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,-4154,
-    -4154,-4154,-4154,-4154,-4154,-4154,-4154, 4385,-4154,-4154,
-    -4154,-4154,-4154,-4154,-4154
-    },
-
-    {
-       27,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,
-    -4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,
-    -4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,
-    -4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,
-    -4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,
-
-    -4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,-4155,
-    -4155,-4155,-4155,-4155,-4155
-    },
-
-    {
-       27,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,
-    -4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,
-    -4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,
-    -4156,-4156,-4156, 4386,-4156,-4156,-4156,-4156,-4156,-4156,
-    -4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156,
-    -4156,-4156,-4156,-4156,-4156,-4156,-4156,-4156, 4386,-4156,
-    -4156,-4156,-4156,-4156,-4156
-    },
-
-    {
-       27,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,
-
-    -4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,
-    -4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,
-    -4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,
-    -4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,
-    -4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,-4157,
-    -4157,-4157,-4157,-4157,-4157
-    },
-
-    {
-       27,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,
-    -4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,
-    -4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,
-    -4158,-4158,-4158, 4387,-4158,-4158,-4158,-4158,-4158,-4158,
-
-    -4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158,
-    -4158,-4158,-4158,-4158,-4158,-4158,-4158,-4158, 4387,-4158,
-    -4158,-4158,-4158,-4158,-4158
-    },
-
-    {
-       27,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,
-    -4159,-4159,-4159,-4159, 4388,-4159,-4159,-4159,-4159,-4159,
-    -4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,
-    -4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,
-     4388,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,
-    -4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,-4159,
-    -4159,-4159,-4159,-4159,-4159
-
-    },
-
-    {
-       27,-4160, 4160, 4160,-4160,-4160,-4160,-4160,-4160,-4160,
-    -4160,-4160, 4161,-4160,-4160,-4160,-4160,-4160,-4160,-4160,
-    -4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,
-    -4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,
-    -4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,
-    -4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,-4160,
-    -4160,-4160,-4160,-4160,-4160
-    },
-
-    {
-       27,-4161,-4161,-4161,-4161,-4161,-4161,-4161,-4161,-4161,
-    -4161,-4161,-4161,-4161,-4161,-4161, 4389,-4161,-4161,-4161,
-    -4161,-4161,-4161,-4161,-4161,-4161,-4161,-4161,-4161, 4390,
-
-    -4161,-4161,-4161,-4161,-4161,-4161,-4161,-4161,-4161,-4161,
-    -4161,-4161, 4389,-4161,-4161,-4161,-4161,-4161,-4161,-4161,
-    -4161,-4161,-4161,-4161, 4390,-4161,-4161,-4161,-4161,-4161,
-    -4161,-4161,-4161,-4161,-4161
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 4391,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     4391,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 4392,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 4393,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184, 4394,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 4394,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184, 4395,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184, 4395,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,
-    -4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,
-    -4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,
-    -4166,-4166, 4396,-4166,-4166,-4166,-4166,-4166,-4166,-4166,
-    -4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,-4166,
-    -4166,-4166,-4166,-4166,-4166,-4166,-4166, 4396,-4166,-4166,
-    -4166,-4166,-4166,-4166,-4166
-    },
-
-    {
-       27,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,
-
-    -4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,
-    -4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,
-    -4167,-4167, 4397,-4167,-4167,-4167,-4167,-4167,-4167,-4167,
-    -4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,-4167,
-    -4167,-4167,-4167,-4167,-4167,-4167,-4167, 4397,-4167,-4167,
-    -4167,-4167,-4167,-4167,-4167
-    },
-
-    {
-       27,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,
-    -4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,
-    -4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,
-    -4168,-4168, 4398,-4168,-4168,-4168,-4168,-4168,-4168,-4168,
-
-    -4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,-4168,
-    -4168,-4168,-4168,-4168,-4168,-4168,-4168, 4398,-4168,-4168,
-    -4168,-4168,-4168,-4168,-4168
-    },
-
-    {
-       27,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,
-    -4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,
-    -4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,
-    -4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,
-    -4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,
-    -4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,-4169,
-    -4169,-4169,-4169,-4169,-4169
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 4399,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 4399,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,
-    -4171,-4171,-4171, 4400,-4171,-4171,-4171,-4171,-4171,-4171,
-    -4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,
-
-    -4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,
-    -4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,
-    -4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,-4171,
-    -4171,-4171,-4171,-4171,-4171
-    },
-
-    {
-       27,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,
-    -4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,
-    -4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,
-    -4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,
-    -4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,
-    -4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,-4172,
-
-    -4172,-4172,-4172,-4172,-4172
-    },
-
-    {
-       27,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,
-    -4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,
-    -4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,
-    -4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,
-    -4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,
-    -4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,-4173,
-    -4173,-4173,-4173,-4173,-4173
-    },
-
-    {
-       27,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,
-    -4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,
-
-    -4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,
-    -4174,-4174,-4174, 4401,-4174,-4174,-4174,-4174,-4174,-4174,
-    -4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174,
-    -4174,-4174,-4174,-4174,-4174,-4174,-4174,-4174, 4401,-4174,
-    -4174,-4174,-4174,-4174,-4174
-    },
-
-    {
-       27,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,
-    -4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,
-    -4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,
-    -4175,-4175,-4175, 4402,-4175,-4175,-4175,-4175,-4175,-4175,
-    -4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175,
-
-    -4175,-4175,-4175,-4175,-4175,-4175,-4175,-4175, 4402,-4175,
-    -4175,-4175,-4175,-4175,-4175
-    },
-
-    {
-       27,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,
-    -4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,
-    -4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,
-    -4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,
-    -4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,
-    -4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,-4176,
-    -4176,-4176,-4176,-4176,-4176
-    },
-
-    {
-       27,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,
-
-    -4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,
-    -4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,
-    -4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,
-    -4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,
-    -4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,-4177,
-    -4177,-4177,-4177,-4177,-4177
-    },
-
-    {
-       27,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,
-    -4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,
-    -4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,
-    -4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,
-
-    -4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,
-    -4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,-4178,
-    -4178,-4178,-4178,-4178,-4178
-    },
-
-    {
-       27,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,
-    -4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,
-    -4179,-4179,-4179,-4179,-4179,-4179,-4179, 4403,-4179,-4179,
-    -4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,
-    -4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,-4179,
-    -4179,-4179, 4403,-4179,-4179,-4179,-4179,-4179,-4179,-4179,
-    -4179,-4179,-4179,-4179,-4179
-
-    },
-
-    {
-       27,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,
-    -4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,
-    -4180,-4180,-4180,-4180,-4180,-4180,-4180, 4404,-4180,-4180,
-    -4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,
-    -4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,-4180,
-    -4180,-4180, 4404,-4180,-4180,-4180,-4180,-4180,-4180,-4180,
-    -4180,-4180,-4180,-4180,-4180
-    },
-
-    {
-       27,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,
-    -4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,
-    -4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,
-
-    -4181,-4181,-4181, 4405,-4181,-4181,-4181,-4181,-4181,-4181,
-    -4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181,
-    -4181,-4181,-4181,-4181,-4181,-4181,-4181,-4181, 4405,-4181,
-    -4181,-4181,-4181,-4181,-4181
-    },
-
-    {
-       27,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,
-    -4182,-4182,-4182,-4182, 4406,-4182,-4182,-4182,-4182,-4182,
-    -4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,
-    -4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,
-     4406,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,
-    -4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,-4182,
-
-    -4182,-4182,-4182,-4182,-4182
-    },
-
-    {
-       27,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,
-    -4183,-4183,-4183, 4407,-4183,-4183,-4183,-4183,-4183,-4183,
-    -4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,
-    -4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,
-    -4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,
-    -4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,-4183,
-    -4183,-4183,-4183,-4183,-4183
-    },
-
-    {
-       27,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,
-    -4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184, 4408,-4184,
-
-    -4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,
-    -4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,
-    -4184,-4184,-4184,-4184, 4408,-4184,-4184,-4184,-4184,-4184,
-    -4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,-4184,
-    -4184,-4184,-4184,-4184,-4184
-    },
-
-    {
-       27,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,
-    -4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,
-    -4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,
-    -4185,-4185, 4409,-4185,-4185,-4185,-4185,-4185,-4185,-4185,
-    -4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,-4185,
-
-    -4185,-4185,-4185,-4185,-4185,-4185,-4185, 4409,-4185,-4185,
-    -4185,-4185,-4185,-4185,-4185
-    },
-
-    {
-       27,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,
-    -4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,
-    -4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,
-    -4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,
-    -4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,
-    -4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,-4186,
-    -4186,-4186,-4186,-4186,-4186
-    },
-
-    {
-       27,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,
-
-    -4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,
-    -4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,
-    -4187,-4187,-4187, 4410,-4187,-4187,-4187,-4187,-4187,-4187,
-    -4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187,
-    -4187,-4187,-4187,-4187,-4187,-4187,-4187,-4187, 4410,-4187,
-    -4187,-4187,-4187,-4187,-4187
-    },
-
-    {
-       27,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,
-    -4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,
-    -4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,
-    -4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,
-
-    -4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,
-    -4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,-4188,
-    -4188,-4188,-4188,-4188,-4188
-    },
-
-    {
-       27,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,
-    -4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,
-    -4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,
-    -4189,-4189,-4189, 4411,-4189,-4189,-4189,-4189,-4189,-4189,
-    -4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189,
-    -4189,-4189,-4189,-4189,-4189,-4189,-4189,-4189, 4411,-4189,
-    -4189,-4189,-4189,-4189,-4189
-
-    },
-
-    {
-       27,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,
-    -4190,-4190,-4190,-4190, 4412,-4190,-4190,-4190,-4190,-4190,
-    -4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,
-    -4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,
-     4412,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,
-    -4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,-4190,
-    -4190,-4190,-4190,-4190,-4190
-    },
-
-    {
-       27,-4191, 4191, 4191,-4191,-4191,-4191,-4191,-4191,-4191,
-    -4191,-4191, 4192,-4191,-4191,-4191,-4191,-4191,-4191,-4191,
-    -4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,
-
-    -4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,
-    -4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,
-    -4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,-4191,
-    -4191,-4191,-4191,-4191,-4191
-    },
-
-    {
-       27,-4192,-4192,-4192,-4192,-4192,-4192,-4192,-4192,-4192,
-    -4192,-4192,-4192,-4192,-4192,-4192, 4413,-4192,-4192,-4192,
-    -4192,-4192,-4192,-4192,-4192,-4192,-4192,-4192,-4192, 4414,
-    -4192,-4192,-4192,-4192,-4192,-4192,-4192,-4192,-4192,-4192,
-    -4192,-4192, 4413,-4192,-4192,-4192,-4192,-4192,-4192,-4192,
-    -4192,-4192,-4192,-4192, 4414,-4192,-4192,-4192,-4192,-4192,
-
-    -4192,-4192,-4192,-4192,-4192
-    },
-
-    {
-       27,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,
-    -4193,-4193,-4193,-4193, 4415,-4193,-4193,-4193,-4193,-4193,
-    -4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,
-    -4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,
-     4415,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,
-    -4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,-4193,
-    -4193,-4193,-4193,-4193,-4193
-    },
-
-    {
-       27,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194, 4416,
-    -4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,
-
-    -4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,
-    -4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194, 4417,
-    -4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,
-    -4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,-4194,
-    -4194,-4194,-4194,-4194,-4194
-    },
-
-    {
-       27,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,
-    -4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,
-    -4195,-4195, 4418,-4195,-4195,-4195,-4195,-4195,-4195,-4195,
-    -4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,
-    -4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195, 4418,-4195,
-
-    -4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,-4195,
-    -4195,-4195,-4195,-4195,-4195
-    },
-
-    {
-       27,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,
-    -4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196, 4419,-4196,
-    -4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,
-    -4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,
-    -4196,-4196,-4196,-4196, 4419,-4196,-4196,-4196,-4196,-4196,
-    -4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,-4196,
-    -4196,-4196,-4196,-4196,-4196
-    },
-
-    {
-       27,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,
-
-    -4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,
-    -4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,
-    -4197,-4197, 4420,-4197,-4197,-4197,-4197,-4197,-4197,-4197,
-    -4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,-4197,
-    -4197,-4197,-4197,-4197,-4197,-4197,-4197, 4420,-4197,-4197,
-    -4197,-4197,-4197,-4197,-4197
-    },
-
-    {
-       27,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,
-    -4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,
-    -4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,
-    -4198,-4198, 4421,-4198,-4198,-4198,-4198,-4198,-4198,-4198,
-
-    -4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,-4198,
-    -4198,-4198,-4198,-4198,-4198,-4198,-4198, 4421,-4198,-4198,
-    -4198,-4198,-4198,-4198,-4198
-    },
-
-    {
-       27,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,
-    -4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,
-    -4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,
-    -4199,-4199, 4422,-4199,-4199,-4199,-4199,-4199,-4199,-4199,
-    -4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,-4199,
-    -4199,-4199,-4199,-4199,-4199,-4199,-4199, 4422,-4199,-4199,
-    -4199,-4199,-4199,-4199,-4199
-
-    },
-
-    {
-       27,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,
-    -4200,-4200,-4200, 4423,-4200,-4200,-4200,-4200,-4200,-4200,
-    -4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,
-    -4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,
-    -4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,
-    -4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,-4200,
-    -4200,-4200,-4200,-4200,-4200
-    },
-
-    {
-       27,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,
-    -4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,
-    -4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,
-
-    -4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,
-    -4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,
-    -4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,-4201,
-    -4201,-4201,-4201,-4201,-4201
-    },
-
-    {
-       27,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,
-    -4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,
-    -4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,
-    -4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,
-    -4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,
-    -4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,-4202,
-
-    -4202,-4202,-4202,-4202,-4202
-    },
-
-    {
-       27,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,
-    -4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,
-    -4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,
-    -4203,-4203,-4203, 4424,-4203,-4203,-4203,-4203,-4203,-4203,
-    -4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203,
-    -4203,-4203,-4203,-4203,-4203,-4203,-4203,-4203, 4424,-4203,
-    -4203,-4203,-4203,-4203,-4203
-    },
-
-    {
-       27,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,
-    -4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,
-
-    -4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,
-    -4204,-4204,-4204, 4425,-4204,-4204,-4204,-4204,-4204,-4204,
-    -4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204,
-    -4204,-4204,-4204,-4204,-4204,-4204,-4204,-4204, 4425,-4204,
-    -4204,-4204,-4204,-4204,-4204
-    },
-
-    {
-       27,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,
-    -4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,
-    -4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,
-    -4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,
-    -4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,
-
-    -4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,-4205,
-    -4205,-4205,-4205,-4205,-4205
-    },
-
-    {
-       27,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,
-    -4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,
-    -4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,
-    -4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,
-    -4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,
-    -4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,-4206,
-    -4206,-4206,-4206,-4206,-4206
-    },
-
-    {
-       27,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,
-
-    -4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,
-    -4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,
-    -4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,
-    -4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,
-    -4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,-4207,
-    -4207,-4207,-4207,-4207,-4207
-    },
-
-    {
-       27,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,
-    -4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,
-    -4208,-4208,-4208,-4208,-4208,-4208,-4208, 4426,-4208,-4208,
-    -4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,
-
-    -4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,-4208,
-    -4208,-4208, 4426,-4208,-4208,-4208,-4208,-4208,-4208,-4208,
-    -4208,-4208,-4208,-4208,-4208
-    },
-
-    {
-       27,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,
-    -4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,
-    -4209,-4209,-4209,-4209,-4209,-4209,-4209, 4427,-4209,-4209,
-    -4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,
-    -4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,-4209,
-    -4209,-4209, 4427,-4209,-4209,-4209,-4209,-4209,-4209,-4209,
-    -4209,-4209,-4209,-4209,-4209
-
-    },
-
-    {
-       27,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,
-    -4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,
-    -4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,
-    -4210,-4210,-4210, 4428,-4210,-4210,-4210,-4210,-4210,-4210,
-    -4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210,
-    -4210,-4210,-4210,-4210,-4210,-4210,-4210,-4210, 4428,-4210,
-    -4210,-4210,-4210,-4210,-4210
-    },
-
-    {
-       27,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,
-    -4211,-4211,-4211,-4211, 4429,-4211,-4211,-4211,-4211,-4211,
-    -4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,
-
-    -4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,
-     4429,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,
-    -4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,-4211,
-    -4211,-4211,-4211,-4211,-4211
-    },
-
-    {
-       27,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,
-    -4212,-4212,-4212, 4430,-4212,-4212,-4212,-4212,-4212,-4212,
-    -4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,
-    -4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,
-    -4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,
-    -4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,-4212,
-
-    -4212,-4212,-4212,-4212,-4212
-    },
-
-    {
-       27,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,
-    -4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213, 4431,-4213,
-    -4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,
-    -4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,
-    -4213,-4213,-4213,-4213, 4431,-4213,-4213,-4213,-4213,-4213,
-    -4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,-4213,
-    -4213,-4213,-4213,-4213,-4213
-    },
-
-    {
-       27,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,
-    -4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,
-
-    -4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,
-    -4214,-4214, 4432,-4214,-4214,-4214,-4214,-4214,-4214,-4214,
-    -4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,-4214,
-    -4214,-4214,-4214,-4214,-4214,-4214,-4214, 4432,-4214,-4214,
-    -4214,-4214,-4214,-4214,-4214
-    },
-
-    {
-       27,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,
-    -4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,
-    -4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,
-    -4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,
-    -4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,
-
-    -4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,-4215,
-    -4215,-4215,-4215,-4215,-4215
-    },
-
-    {
-       27,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,
-    -4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,
-    -4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,
-    -4216,-4216,-4216, 4433,-4216,-4216,-4216,-4216,-4216,-4216,
-    -4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216,
-    -4216,-4216,-4216,-4216,-4216,-4216,-4216,-4216, 4433,-4216,
-    -4216,-4216,-4216,-4216,-4216
-    },
-
-    {
-       27,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,
-
-    -4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,
-    -4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,
-    -4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,
-    -4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,
-    -4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,-4217,
-    -4217,-4217,-4217,-4217,-4217
-    },
-
-    {
-       27,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,
-    -4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,
-    -4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,
-    -4218,-4218,-4218, 4434,-4218,-4218,-4218,-4218,-4218,-4218,
-
-    -4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218,
-    -4218,-4218,-4218,-4218,-4218,-4218,-4218,-4218, 4434,-4218,
-    -4218,-4218,-4218,-4218,-4218
-    },
-
-    {
-       27,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,
-    -4219,-4219,-4219,-4219, 4435,-4219,-4219,-4219,-4219,-4219,
-    -4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,
-    -4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,
-     4435,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,
-    -4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,-4219,
-    -4219,-4219,-4219,-4219,-4219
-
-    },
-
-    {
-       27,-4220, 4220, 4220,-4220,-4220,-4220,-4220,-4220,-4220,
-    -4220,-4220, 4221,-4220,-4220,-4220,-4220,-4220,-4220,-4220,
-    -4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,
-    -4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,
-    -4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,
-    -4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,-4220,
-    -4220,-4220,-4220,-4220,-4220
-    },
-
-    {
-       27,-4221,-4221,-4221,-4221,-4221,-4221,-4221,-4221,-4221,
-    -4221,-4221,-4221,-4221,-4221,-4221, 4436,-4221,-4221,-4221,
-    -4221,-4221,-4221,-4221,-4221,-4221,-4221,-4221,-4221, 4437,
-
-    -4221,-4221,-4221,-4221,-4221,-4221,-4221,-4221,-4221,-4221,
-    -4221,-4221, 4436,-4221,-4221,-4221,-4221,-4221,-4221,-4221,
-    -4221,-4221,-4221,-4221, 4437,-4221,-4221,-4221,-4221,-4221,
-    -4221,-4221,-4221,-4221,-4221
-    },
-
-    {
-       27,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,
-    -4222,-4222,-4222,-4222, 4438,-4222,-4222,-4222,-4222,-4222,
-    -4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,
-    -4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,
-     4438,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,
-    -4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,-4222,
-
-    -4222,-4222,-4222,-4222,-4222
-    },
-
-    {
-       27,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223, 4439,
-    -4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,
-    -4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,
-    -4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223, 4440,
-    -4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,
-    -4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,-4223,
-    -4223,-4223,-4223,-4223,-4223
-    },
-
-    {
-       27,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,
-    -4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,
-
-    -4224,-4224, 4441,-4224,-4224,-4224,-4224,-4224,-4224,-4224,
-    -4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,
-    -4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224, 4441,-4224,
-    -4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,-4224,
-    -4224,-4224,-4224,-4224,-4224
-    },
-
-    {
-       27,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,
-    -4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225, 4442,-4225,
-    -4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,
-    -4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,
-    -4225,-4225,-4225,-4225, 4442,-4225,-4225,-4225,-4225,-4225,
-
-    -4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,-4225,
-    -4225,-4225,-4225,-4225,-4225
-    },
-
-    {
-       27,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,
-    -4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,
-    -4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,
-    -4226,-4226, 4443,-4226,-4226,-4226,-4226,-4226,-4226,-4226,
-    -4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,-4226,
-    -4226,-4226,-4226,-4226,-4226,-4226,-4226, 4443,-4226,-4226,
-    -4226,-4226,-4226,-4226,-4226
-    },
-
-    {
-       27,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,
-
-    -4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,
-    -4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,
-    -4227,-4227, 4444,-4227,-4227,-4227,-4227,-4227,-4227,-4227,
-    -4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,-4227,
-    -4227,-4227,-4227,-4227,-4227,-4227,-4227, 4444,-4227,-4227,
-    -4227,-4227,-4227,-4227,-4227
-    },
-
-    {
-       27,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,
-    -4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,
-    -4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,
-    -4228,-4228, 4445,-4228,-4228,-4228,-4228,-4228,-4228,-4228,
-
-    -4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,-4228,
-    -4228,-4228,-4228,-4228,-4228,-4228,-4228, 4445,-4228,-4228,
-    -4228,-4228,-4228,-4228,-4228
-    },
-
-    {
-       27,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,
-    -4229,-4229,-4229, 4446,-4229,-4229,-4229,-4229,-4229,-4229,
-    -4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,
-    -4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,
-    -4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,
-    -4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,-4229,
-    -4229,-4229,-4229,-4229,-4229
-
-    },
-
-    {
-       27,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,
-    -4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,
-    -4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,
-    -4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,
-    -4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,
-    -4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,-4230,
-    -4230,-4230,-4230,-4230,-4230
-    },
-
-    {
-       27,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,
-    -4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,
-    -4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,
-
-    -4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,
-    -4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,
-    -4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,-4231,
-    -4231,-4231,-4231,-4231,-4231
-    },
-
-    {
-       27,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,
-    -4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,
-    -4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,
-    -4232,-4232,-4232, 4447,-4232,-4232,-4232,-4232,-4232,-4232,
-    -4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232,
-    -4232,-4232,-4232,-4232,-4232,-4232,-4232,-4232, 4447,-4232,
-
-    -4232,-4232,-4232,-4232,-4232
-    },
-
-    {
-       27,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,
-    -4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,
-    -4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,
-    -4233,-4233,-4233, 4448,-4233,-4233,-4233,-4233,-4233,-4233,
-    -4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233,
-    -4233,-4233,-4233,-4233,-4233,-4233,-4233,-4233, 4448,-4233,
-    -4233,-4233,-4233,-4233,-4233
-    },
-
-    {
-       27,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,
-    -4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,
-
-    -4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,
-    -4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,
-    -4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,
-    -4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,-4234,
-    -4234,-4234,-4234,-4234,-4234
-    },
-
-    {
-       27,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,
-    -4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,
-    -4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,
-    -4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,
-    -4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,
-
-    -4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,-4235,
-    -4235,-4235,-4235,-4235,-4235
-    },
-
-    {
-       27,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,
-    -4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,
-    -4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,
-    -4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,
-    -4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,
-    -4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,-4236,
-    -4236,-4236,-4236,-4236,-4236
-    },
-
-    {
-       27,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,
-
-    -4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,
-    -4237,-4237,-4237,-4237,-4237,-4237,-4237, 4449,-4237,-4237,
-    -4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,
-    -4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,-4237,
-    -4237,-4237, 4449,-4237,-4237,-4237,-4237,-4237,-4237,-4237,
-    -4237,-4237,-4237,-4237,-4237
-    },
-
-    {
-       27,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,
-    -4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,
-    -4238,-4238,-4238,-4238,-4238,-4238,-4238, 4450,-4238,-4238,
-    -4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,
-
-    -4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,-4238,
-    -4238,-4238, 4450,-4238,-4238,-4238,-4238,-4238,-4238,-4238,
-    -4238,-4238,-4238,-4238,-4238
-    },
-
-    {
-       27,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,
-    -4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,
-    -4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,
-    -4239,-4239,-4239, 4451,-4239,-4239,-4239,-4239,-4239,-4239,
-    -4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239,
-    -4239,-4239,-4239,-4239,-4239,-4239,-4239,-4239, 4451,-4239,
-    -4239,-4239,-4239,-4239,-4239
-
-    },
-
-    {
-       27,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,
-    -4240,-4240,-4240,-4240, 4452,-4240,-4240,-4240,-4240,-4240,
-    -4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,
-    -4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,
-     4452,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,
-    -4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,-4240,
-    -4240,-4240,-4240,-4240,-4240
-    },
-
-    {
-       27,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,
-    -4241,-4241,-4241, 4453,-4241,-4241,-4241,-4241,-4241,-4241,
-    -4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,
-
-    -4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,
-    -4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,
-    -4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,-4241,
-    -4241,-4241,-4241,-4241,-4241
-    },
-
-    {
-       27,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,
-    -4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242, 4454,-4242,
-    -4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,
-    -4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,
-    -4242,-4242,-4242,-4242, 4454,-4242,-4242,-4242,-4242,-4242,
-    -4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,-4242,
-
-    -4242,-4242,-4242,-4242,-4242
-    },
-
-    {
-       27,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,
-    -4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,
-    -4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,
-    -4243,-4243, 4455,-4243,-4243,-4243,-4243,-4243,-4243,-4243,
-    -4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,-4243,
-    -4243,-4243,-4243,-4243,-4243,-4243,-4243, 4455,-4243,-4243,
-    -4243,-4243,-4243,-4243,-4243
-    },
-
-    {
-       27,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,
-    -4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,
-
-    -4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,
-    -4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,
-    -4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,
-    -4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,-4244,
-    -4244,-4244,-4244,-4244,-4244
-    },
-
-    {
-       27,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,
-    -4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,
-    -4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,
-    -4245,-4245,-4245, 4456,-4245,-4245,-4245,-4245,-4245,-4245,
-    -4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245,
-
-    -4245,-4245,-4245,-4245,-4245,-4245,-4245,-4245, 4456,-4245,
-    -4245,-4245,-4245,-4245,-4245
-    },
-
-    {
-       27,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,
-    -4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,
-    -4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,
-    -4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,
-    -4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,
-    -4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,-4246,
-    -4246,-4246,-4246,-4246,-4246
-    },
-
-    {
-       27,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,
-
-    -4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,
-    -4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,
-    -4247,-4247,-4247, 4457,-4247,-4247,-4247,-4247,-4247,-4247,
-    -4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247,
-    -4247,-4247,-4247,-4247,-4247,-4247,-4247,-4247, 4457,-4247,
-    -4247,-4247,-4247,-4247,-4247
-    },
-
-    {
-       27,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,
-    -4248,-4248,-4248,-4248, 4458,-4248,-4248,-4248,-4248,-4248,
-    -4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,
-    -4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,
-
-     4458,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,
-    -4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,-4248,
-    -4248,-4248,-4248,-4248,-4248
-    },
-
-    {
-       27,-4249, 4249, 4249,-4249,-4249,-4249,-4249,-4249,-4249,
-    -4249,-4249, 4250,-4249,-4249,-4249,-4249,-4249,-4249,-4249,
-    -4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,
-    -4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,
-    -4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,
-    -4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,-4249,
-    -4249,-4249,-4249,-4249,-4249
-
-    },
-
-    {
-       27,-4250,-4250,-4250,-4250,-4250,-4250,-4250,-4250,-4250,
-    -4250,-4250,-4250,-4250,-4250,-4250, 4459,-4250,-4250,-4250,
-    -4250,-4250,-4250,-4250,-4250,-4250,-4250,-4250,-4250, 4460,
-    -4250,-4250,-4250,-4250,-4250,-4250,-4250,-4250,-4250,-4250,
-    -4250,-4250, 4459,-4250,-4250,-4250,-4250,-4250,-4250,-4250,
-    -4250,-4250,-4250,-4250, 4460,-4250,-4250,-4250,-4250,-4250,
-    -4250,-4250,-4250,-4250,-4250
-    },
-
-    {
-       27,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,
-    -4251,-4251,-4251,-4251, 4461,-4251,-4251,-4251,-4251,-4251,
-    -4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,
-
-    -4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,
-     4461,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,
-    -4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,-4251,
-    -4251,-4251,-4251,-4251,-4251
-    },
-
-    {
-       27,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252, 4462,
-    -4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,
-    -4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,
-    -4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252, 4463,
-    -4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,
-    -4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,-4252,
-
-    -4252,-4252,-4252,-4252,-4252
-    },
-
-    {
-       27,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,
-    -4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,
-    -4253,-4253, 4464,-4253,-4253,-4253,-4253,-4253,-4253,-4253,
-    -4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,
-    -4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253, 4464,-4253,
-    -4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,-4253,
-    -4253,-4253,-4253,-4253,-4253
-    },
-
-    {
-       27,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,
-    -4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254, 4465,-4254,
-
-    -4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,
-    -4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,
-    -4254,-4254,-4254,-4254, 4465,-4254,-4254,-4254,-4254,-4254,
-    -4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,-4254,
-    -4254,-4254,-4254,-4254,-4254
-    },
-
-    {
-       27,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,
-    -4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,
-    -4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,
-    -4255,-4255, 4466,-4255,-4255,-4255,-4255,-4255,-4255,-4255,
-    -4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,-4255,
-
-    -4255,-4255,-4255,-4255,-4255,-4255,-4255, 4466,-4255,-4255,
-    -4255,-4255,-4255,-4255,-4255
-    },
-
-    {
-       27,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,
-    -4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,
-    -4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,
-    -4256,-4256, 4467,-4256,-4256,-4256,-4256,-4256,-4256,-4256,
-    -4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,-4256,
-    -4256,-4256,-4256,-4256,-4256,-4256,-4256, 4467,-4256,-4256,
-    -4256,-4256,-4256,-4256,-4256
-    },
-
-    {
-       27,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,
-
-    -4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,
-    -4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,
-    -4257,-4257, 4468,-4257,-4257,-4257,-4257,-4257,-4257,-4257,
-    -4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,-4257,
-    -4257,-4257,-4257,-4257,-4257,-4257,-4257, 4468,-4257,-4257,
-    -4257,-4257,-4257,-4257,-4257
-    },
-
-    {
-       27,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,
-    -4258,-4258,-4258, 4469,-4258,-4258,-4258,-4258,-4258,-4258,
-    -4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,
-    -4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,
-
-    -4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,
-    -4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,-4258,
-    -4258,-4258,-4258,-4258,-4258
-    },
-
-    {
-       27,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,
-    -4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,
-    -4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,
-    -4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,
-    -4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,
-    -4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,-4259,
-    -4259,-4259,-4259,-4259,-4259
-
-    },
-
-    {
-       27,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,
-    -4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,
-    -4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,
-    -4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,
-    -4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,
-    -4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,-4260,
-    -4260,-4260,-4260,-4260,-4260
-    },
-
-    {
-       27,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,
-    -4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,
-    -4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,
-
-    -4261,-4261,-4261, 4470,-4261,-4261,-4261,-4261,-4261,-4261,
-    -4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261,
-    -4261,-4261,-4261,-4261,-4261,-4261,-4261,-4261, 4470,-4261,
-    -4261,-4261,-4261,-4261,-4261
-    },
-
-    {
-       27,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,
-    -4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,
-    -4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,
-    -4262,-4262,-4262, 4471,-4262,-4262,-4262,-4262,-4262,-4262,
-    -4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262,
-    -4262,-4262,-4262,-4262,-4262,-4262,-4262,-4262, 4471,-4262,
-
-    -4262,-4262,-4262,-4262,-4262
-    },
-
-    {
-       27,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,
-    -4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,
-    -4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,
-    -4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,
-    -4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,
-    -4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,-4263,
-    -4263,-4263,-4263,-4263,-4263
-    },
-
-    {
-       27,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,
-    -4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,
-
-    -4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,
-    -4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,
-    -4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,
-    -4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,-4264,
-    -4264,-4264,-4264,-4264,-4264
-    },
-
-    {
-       27,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,
-    -4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,
-    -4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,
-    -4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,
-    -4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,
-
-    -4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,-4265,
-    -4265,-4265,-4265,-4265,-4265
-    },
-
-    {
-       27,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,
-    -4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,
-    -4266,-4266,-4266,-4266,-4266,-4266,-4266, 4472,-4266,-4266,
-    -4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,
-    -4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,-4266,
-    -4266,-4266, 4472,-4266,-4266,-4266,-4266,-4266,-4266,-4266,
-    -4266,-4266,-4266,-4266,-4266
-    },
-
-    {
-       27,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,
-
-    -4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,
-    -4267,-4267,-4267,-4267,-4267,-4267,-4267, 4473,-4267,-4267,
-    -4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,
-    -4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,-4267,
-    -4267,-4267, 4473,-4267,-4267,-4267,-4267,-4267,-4267,-4267,
-    -4267,-4267,-4267,-4267,-4267
-    },
-
-    {
-       27,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,
-    -4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,
-    -4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,
-    -4268,-4268,-4268, 4474,-4268,-4268,-4268,-4268,-4268,-4268,
-
-    -4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268,
-    -4268,-4268,-4268,-4268,-4268,-4268,-4268,-4268, 4474,-4268,
-    -4268,-4268,-4268,-4268,-4268
-    },
-
-    {
-       27,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,
-    -4269,-4269,-4269,-4269, 4475,-4269,-4269,-4269,-4269,-4269,
-    -4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,
-    -4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,
-     4475,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,
-    -4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,-4269,
-    -4269,-4269,-4269,-4269,-4269
-
-    },
-
-    {
-       27,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,
-    -4270,-4270,-4270, 4476,-4270,-4270,-4270,-4270,-4270,-4270,
-    -4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,
-    -4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,
-    -4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,
-    -4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,-4270,
-    -4270,-4270,-4270,-4270,-4270
-    },
-
-    {
-       27,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,
-    -4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271, 4477,-4271,
-    -4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,
-
-    -4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,
-    -4271,-4271,-4271,-4271, 4477,-4271,-4271,-4271,-4271,-4271,
-    -4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,-4271,
-    -4271,-4271,-4271,-4271,-4271
-    },
-
-    {
-       27,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,
-    -4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,
-    -4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,
-    -4272,-4272, 4478,-4272,-4272,-4272,-4272,-4272,-4272,-4272,
-    -4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,-4272,
-    -4272,-4272,-4272,-4272,-4272,-4272,-4272, 4478,-4272,-4272,
-
-    -4272,-4272,-4272,-4272,-4272
-    },
-
-    {
-       27,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,
-    -4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,
-    -4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,
-    -4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,
-    -4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,
-    -4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,-4273,
-    -4273,-4273,-4273,-4273,-4273
-    },
-
-    {
-       27,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,
-    -4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,
-
-    -4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,
-    -4274,-4274,-4274, 4479,-4274,-4274,-4274,-4274,-4274,-4274,
-    -4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274,
-    -4274,-4274,-4274,-4274,-4274,-4274,-4274,-4274, 4479,-4274,
-    -4274,-4274,-4274,-4274,-4274
-    },
-
-    {
-       27,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,
-    -4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,
-    -4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,
-    -4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,
-    -4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,
-
-    -4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,-4275,
-    -4275,-4275,-4275,-4275,-4275
-    },
-
-    {
-       27,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,
-    -4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,
-    -4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,
-    -4276,-4276,-4276, 4480,-4276,-4276,-4276,-4276,-4276,-4276,
-    -4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276,
-    -4276,-4276,-4276,-4276,-4276,-4276,-4276,-4276, 4480,-4276,
-    -4276,-4276,-4276,-4276,-4276
-    },
-
-    {
-       27,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,
-
-    -4277,-4277,-4277,-4277, 4481,-4277,-4277,-4277,-4277,-4277,
-    -4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,
-    -4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,
-     4481,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,
-    -4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,-4277,
-    -4277,-4277,-4277,-4277,-4277
-    },
-
-    {
-       27,-4278, 4278, 4278,-4278,-4278,-4278,-4278,-4278,-4278,
-    -4278,-4278, 4279,-4278,-4278,-4278,-4278,-4278,-4278,-4278,
-    -4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,
-    -4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,
-
-    -4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,
-    -4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,-4278,
-    -4278,-4278,-4278,-4278,-4278
-    },
-
-    {
-       27,-4279,-4279,-4279,-4279,-4279,-4279,-4279,-4279,-4279,
-    -4279,-4279,-4279,-4279,-4279,-4279, 4482,-4279,-4279,-4279,
-    -4279,-4279,-4279,-4279,-4279,-4279,-4279,-4279,-4279, 4483,
-    -4279,-4279,-4279,-4279,-4279,-4279,-4279,-4279,-4279,-4279,
-    -4279,-4279, 4482,-4279,-4279,-4279,-4279,-4279,-4279,-4279,
-    -4279,-4279,-4279,-4279, 4483,-4279,-4279,-4279,-4279,-4279,
-    -4279,-4279,-4279,-4279,-4279
-
-    },
-
-    {
-       27,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,
-    -4280,-4280,-4280,-4280, 4484,-4280,-4280,-4280,-4280,-4280,
-    -4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,
-    -4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,
-     4484,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,
-    -4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,-4280,
-    -4280,-4280,-4280,-4280,-4280
-    },
-
-    {
-       27,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281, 4485,
-    -4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,
-    -4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,
-
-    -4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281, 4486,
-    -4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,
-    -4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,-4281,
-    -4281,-4281,-4281,-4281,-4281
-    },
-
-    {
-       27,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,
-    -4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,
-    -4282,-4282, 4487,-4282,-4282,-4282,-4282,-4282,-4282,-4282,
-    -4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,
-    -4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282, 4487,-4282,
-    -4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,-4282,
-
-    -4282,-4282,-4282,-4282,-4282
-    },
-
-    {
-       27,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,
-    -4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283, 4488,-4283,
-    -4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,
-    -4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,
-    -4283,-4283,-4283,-4283, 4488,-4283,-4283,-4283,-4283,-4283,
-    -4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,-4283,
-    -4283,-4283,-4283,-4283,-4283
-    },
-
-    {
-       27,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,
-    -4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,
-
-    -4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,
-    -4284,-4284, 4489,-4284,-4284,-4284,-4284,-4284,-4284,-4284,
-    -4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,-4284,
-    -4284,-4284,-4284,-4284,-4284,-4284,-4284, 4489,-4284,-4284,
-    -4284,-4284,-4284,-4284,-4284
-    },
-
-    {
-       27,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,
-    -4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,
-    -4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,
-    -4285,-4285, 4490,-4285,-4285,-4285,-4285,-4285,-4285,-4285,
-    -4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,-4285,
-
-    -4285,-4285,-4285,-4285,-4285,-4285,-4285, 4490,-4285,-4285,
-    -4285,-4285,-4285,-4285,-4285
-    },
-
-    {
-       27,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,
-    -4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,
-    -4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,
-    -4286,-4286, 4491,-4286,-4286,-4286,-4286,-4286,-4286,-4286,
-    -4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,-4286,
-    -4286,-4286,-4286,-4286,-4286,-4286,-4286, 4491,-4286,-4286,
-    -4286,-4286,-4286,-4286,-4286
-    },
-
-    {
-       27,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,
-
-    -4287,-4287,-4287, 4492,-4287,-4287,-4287,-4287,-4287,-4287,
-    -4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,
-    -4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,
-    -4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,
-    -4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,-4287,
-    -4287,-4287,-4287,-4287,-4287
-    },
-
-    {
-       27,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,
-    -4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,
-    -4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,
-    -4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,
-
-    -4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,
-    -4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,-4288,
-    -4288,-4288,-4288,-4288,-4288
-    },
-
-    {
-       27,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,
-    -4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,
-    -4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,
-    -4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,
-    -4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,
-    -4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,-4289,
-    -4289,-4289,-4289,-4289,-4289
-
-    },
-
-    {
-       27,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,
-    -4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,
-    -4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,
-    -4290,-4290,-4290, 4493,-4290,-4290,-4290,-4290,-4290,-4290,
-    -4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290,
-    -4290,-4290,-4290,-4290,-4290,-4290,-4290,-4290, 4493,-4290,
-    -4290,-4290,-4290,-4290,-4290
-    },
-
-    {
-       27,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,
-    -4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,
-    -4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,
-
-    -4291,-4291,-4291, 4494,-4291,-4291,-4291,-4291,-4291,-4291,
-    -4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291,
-    -4291,-4291,-4291,-4291,-4291,-4291,-4291,-4291, 4494,-4291,
-    -4291,-4291,-4291,-4291,-4291
-    },
-
-    {
-       27,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,
-    -4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,
-    -4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,
-    -4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,
-    -4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,
-    -4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,-4292,
-
-    -4292,-4292,-4292,-4292,-4292
-    },
-
-    {
-       27,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,
-    -4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,
-    -4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,
-    -4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,
-    -4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,
-    -4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,-4293,
-    -4293,-4293,-4293,-4293,-4293
-    },
-
-    {
-       27,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,
-    -4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,
-
-    -4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,
-    -4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,
-    -4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,
-    -4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,-4294,
-    -4294,-4294,-4294,-4294,-4294
-    },
-
-    {
-       27,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,
-    -4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,
-    -4295,-4295,-4295,-4295,-4295,-4295,-4295, 4495,-4295,-4295,
-    -4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,
-    -4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,-4295,
-
-    -4295,-4295, 4495,-4295,-4295,-4295,-4295,-4295,-4295,-4295,
-    -4295,-4295,-4295,-4295,-4295
-    },
-
-    {
-       27,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,
-    -4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,
-    -4296,-4296,-4296,-4296,-4296,-4296,-4296, 4496,-4296,-4296,
-    -4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,
-    -4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,-4296,
-    -4296,-4296, 4496,-4296,-4296,-4296,-4296,-4296,-4296,-4296,
-    -4296,-4296,-4296,-4296,-4296
-    },
-
-    {
-       27,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,
-
-    -4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,
-    -4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,
-    -4297,-4297,-4297, 4497,-4297,-4297,-4297,-4297,-4297,-4297,
-    -4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297,
-    -4297,-4297,-4297,-4297,-4297,-4297,-4297,-4297, 4497,-4297,
-    -4297,-4297,-4297,-4297,-4297
-    },
-
-    {
-       27,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,
-    -4298,-4298,-4298,-4298, 4498,-4298,-4298,-4298,-4298,-4298,
-    -4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,
-    -4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,
-
-     4498,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,
-    -4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,-4298,
-    -4298,-4298,-4298,-4298,-4298
-    },
-
-    {
-       27,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,
-    -4299,-4299,-4299, 4499,-4299,-4299,-4299,-4299,-4299,-4299,
-    -4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,
-    -4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,
-    -4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,
-    -4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,-4299,
-    -4299,-4299,-4299,-4299,-4299
-
-    },
-
-    {
-       27,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,
-    -4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300, 4500,-4300,
-    -4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,
-    -4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,
-    -4300,-4300,-4300,-4300, 4500,-4300,-4300,-4300,-4300,-4300,
-    -4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,-4300,
-    -4300,-4300,-4300,-4300,-4300
-    },
-
-    {
-       27,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,
-    -4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,
-    -4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,
-
-    -4301,-4301, 4501,-4301,-4301,-4301,-4301,-4301,-4301,-4301,
-    -4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,-4301,
-    -4301,-4301,-4301,-4301,-4301,-4301,-4301, 4501,-4301,-4301,
-    -4301,-4301,-4301,-4301,-4301
-    },
-
-    {
-       27,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,
-    -4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,
-    -4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,
-    -4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,
-    -4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,
-    -4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,-4302,
-
-    -4302,-4302,-4302,-4302,-4302
-    },
-
-    {
-       27,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,
-    -4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,
-    -4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,
-    -4303,-4303,-4303, 4502,-4303,-4303,-4303,-4303,-4303,-4303,
-    -4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303,
-    -4303,-4303,-4303,-4303,-4303,-4303,-4303,-4303, 4502,-4303,
-    -4303,-4303,-4303,-4303,-4303
-    },
-
-    {
-       27,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,
-    -4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,
-
-    -4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,
-    -4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,
-    -4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,
-    -4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,-4304,
-    -4304,-4304,-4304,-4304,-4304
-    },
-
-    {
-       27,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,
-    -4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,
-    -4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,
-    -4305,-4305,-4305, 4503,-4305,-4305,-4305,-4305,-4305,-4305,
-    -4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305,
-
-    -4305,-4305,-4305,-4305,-4305,-4305,-4305,-4305, 4503,-4305,
-    -4305,-4305,-4305,-4305,-4305
-    },
-
-    {
-       27,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,
-    -4306,-4306,-4306,-4306, 4504,-4306,-4306,-4306,-4306,-4306,
-    -4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,
-    -4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,
-     4504,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,
-    -4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,-4306,
-    -4306,-4306,-4306,-4306,-4306
-    },
-
-    {
-       27,-4307, 4307, 4307,-4307,-4307,-4307,-4307,-4307,-4307,
-
-    -4307,-4307, 4308,-4307,-4307,-4307,-4307,-4307,-4307,-4307,
-    -4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,
-    -4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,
-    -4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,
-    -4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,-4307,
-    -4307,-4307,-4307,-4307,-4307
-    },
-
-    {
-       27,-4308,-4308,-4308,-4308,-4308,-4308,-4308,-4308,-4308,
-    -4308,-4308,-4308,-4308,-4308,-4308, 4505,-4308,-4308,-4308,
-    -4308,-4308,-4308,-4308,-4308,-4308,-4308,-4308,-4308, 4506,
-    -4308,-4308,-4308,-4308,-4308,-4308,-4308,-4308,-4308,-4308,
-
-    -4308,-4308, 4505,-4308,-4308,-4308,-4308,-4308,-4308,-4308,
-    -4308,-4308,-4308,-4308, 4506,-4308,-4308,-4308,-4308,-4308,
-    -4308,-4308,-4308,-4308,-4308
-    },
-
-    {
-       27,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,
-    -4309,-4309,-4309,-4309, 4507,-4309,-4309,-4309,-4309,-4309,
-    -4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,
-    -4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,
-     4507,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,
-    -4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,-4309,
-    -4309,-4309,-4309,-4309,-4309
-
-    },
-
-    {
-       27,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310, 4508,
-    -4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,
-    -4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,
-    -4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310, 4509,
-    -4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,
-    -4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,-4310,
-    -4310,-4310,-4310,-4310,-4310
-    },
-
-    {
-       27,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,
-    -4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,
-    -4311,-4311, 4510,-4311,-4311,-4311,-4311,-4311,-4311,-4311,
-
-    -4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,
-    -4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311, 4510,-4311,
-    -4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,-4311,
-    -4311,-4311,-4311,-4311,-4311
-    },
-
-    {
-       27,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,
-    -4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312, 4511,-4312,
-    -4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,
-    -4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,
-    -4312,-4312,-4312,-4312, 4511,-4312,-4312,-4312,-4312,-4312,
-    -4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,-4312,
-
-    -4312,-4312,-4312,-4312,-4312
-    },
-
-    {
-       27,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,
-    -4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,
-    -4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,
-    -4313,-4313, 4512,-4313,-4313,-4313,-4313,-4313,-4313,-4313,
-    -4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,-4313,
-    -4313,-4313,-4313,-4313,-4313,-4313,-4313, 4512,-4313,-4313,
-    -4313,-4313,-4313,-4313,-4313
-    },
-
-    {
-       27,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,
-    -4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,
-
-    -4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,
-    -4314,-4314, 4513,-4314,-4314,-4314,-4314,-4314,-4314,-4314,
-    -4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,-4314,
-    -4314,-4314,-4314,-4314,-4314,-4314,-4314, 4513,-4314,-4314,
-    -4314,-4314,-4314,-4314,-4314
-    },
-
-    {
-       27,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,
-    -4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,
-    -4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,
-    -4315,-4315, 4514,-4315,-4315,-4315,-4315,-4315,-4315,-4315,
-    -4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,-4315,
-
-    -4315,-4315,-4315,-4315,-4315,-4315,-4315, 4514,-4315,-4315,
-    -4315,-4315,-4315,-4315,-4315
-    },
-
-    {
-       27,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,
-    -4316,-4316,-4316, 4515,-4316,-4316,-4316,-4316,-4316,-4316,
-    -4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,
-    -4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,
-    -4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,
-    -4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,-4316,
-    -4316,-4316,-4316,-4316,-4316
-    },
-
-    {
-       27,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,
-
-    -4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,
-    -4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,
-    -4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,
-    -4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,
-    -4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,-4317,
-    -4317,-4317,-4317,-4317,-4317
-    },
-
-    {
-       27,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,
-    -4318,-4318,-4318, 4516,-4318,-4318,-4318,-4318,-4318,-4318,
-    -4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,
-    -4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318, 4517,
-
-    -4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,
-    -4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,-4318,
-    -4318,-4318,-4318,-4318,-4318
-    },
-
-    {
-       27,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,
-    -4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,
-    -4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,
-    -4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,
-    -4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,
-    -4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,-4319,
-    -4319,-4319,-4319,-4319,-4319
-
-    },
-
-    {
-       27,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,
-    -4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,
-    -4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,
-    -4320,-4320,-4320, 4518,-4320,-4320,-4320,-4320,-4320,-4320,
-    -4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320,
-    -4320,-4320,-4320,-4320,-4320,-4320,-4320,-4320, 4518,-4320,
-    -4320,-4320,-4320,-4320,-4320
-    },
-
-    {
-       27,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,
-    -4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,
-    -4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,
-
-    -4321,-4321,-4321, 4519,-4321,-4321,-4321,-4321,-4321,-4321,
-    -4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321,
-    -4321,-4321,-4321,-4321,-4321,-4321,-4321,-4321, 4519,-4321,
-    -4321,-4321,-4321,-4321,-4321
-    },
-
-    {
-       27,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,
-    -4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,
-    -4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,
-    -4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,
-    -4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,
-    -4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,-4322,
-
-    -4322,-4322,-4322,-4322,-4322
-    },
-
-    {
-       27,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,
-    -4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,
-    -4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,
-    -4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,
-    -4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,
-    -4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,-4323,
-    -4323,-4323,-4323,-4323,-4323
-    },
-
-    {
-       27,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,
-    -4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,
-
-    -4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,
-    -4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,
-    -4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,
-    -4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,-4324,
-    -4324,-4324,-4324,-4324,-4324
-    },
-
-    {
-       27,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,
-    -4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,
-    -4325,-4325,-4325,-4325,-4325,-4325,-4325, 4520,-4325,-4325,
-    -4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,
-    -4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,-4325,
-
-    -4325,-4325, 4520,-4325,-4325,-4325,-4325,-4325,-4325,-4325,
-    -4325,-4325,-4325,-4325,-4325
-    },
-
-    {
-       27,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,
-    -4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,
-    -4326,-4326,-4326,-4326,-4326,-4326,-4326, 4521,-4326,-4326,
-    -4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,
-    -4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,-4326,
-    -4326,-4326, 4521,-4326,-4326,-4326,-4326,-4326,-4326,-4326,
-    -4326,-4326,-4326,-4326,-4326
-    },
-
-    {
-       27,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,
-
-    -4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,
-    -4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,
-    -4327,-4327,-4327, 4522,-4327,-4327,-4327,-4327,-4327,-4327,
-    -4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327,
-    -4327,-4327,-4327,-4327,-4327,-4327,-4327,-4327, 4522,-4327,
-    -4327,-4327,-4327,-4327,-4327
-    },
-
-    {
-       27,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,
-    -4328,-4328,-4328,-4328, 4523,-4328,-4328,-4328,-4328,-4328,
-    -4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,
-    -4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,
-
-     4523,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,
-    -4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,-4328,
-    -4328,-4328,-4328,-4328,-4328
-    },
-
-    {
-       27,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,
-    -4329,-4329,-4329, 4524,-4329,-4329,-4329,-4329,-4329,-4329,
-    -4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,
-    -4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,
-    -4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,
-    -4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,-4329,
-    -4329,-4329,-4329,-4329,-4329
-
-    },
-
-    {
-       27,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,
-    -4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330, 4525,-4330,
-    -4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,
-    -4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,
-    -4330,-4330,-4330,-4330, 4525,-4330,-4330,-4330,-4330,-4330,
-    -4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,-4330,
-    -4330,-4330,-4330,-4330,-4330
-    },
-
-    {
-       27,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,
-    -4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,
-    -4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,
-
-    -4331,-4331, 4526,-4331,-4331,-4331,-4331,-4331,-4331,-4331,
-    -4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,-4331,
-    -4331,-4331,-4331,-4331,-4331,-4331,-4331, 4526,-4331,-4331,
-    -4331,-4331,-4331,-4331,-4331
-    },
-
-    {
-       27,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,
-    -4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,
-    -4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,
-    -4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,
-    -4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,
-    -4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,-4332,
-
-    -4332,-4332,-4332,-4332,-4332
-    },
-
-    {
-       27,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,
-    -4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,
-    -4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,
-    -4333,-4333,-4333, 4527,-4333,-4333,-4333,-4333,-4333,-4333,
-    -4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333,
-    -4333,-4333,-4333,-4333,-4333,-4333,-4333,-4333, 4527,-4333,
-    -4333,-4333,-4333,-4333,-4333
-    },
-
-    {
-       27,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,
-    -4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,
-
-    -4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,
-    -4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,
-    -4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,
-    -4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,-4334,
-    -4334,-4334,-4334,-4334,-4334
-    },
-
-    {
-       27,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,
-    -4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,
-    -4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,
-    -4335,-4335,-4335, 4528,-4335,-4335,-4335,-4335,-4335,-4335,
-    -4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335,
-
-    -4335,-4335,-4335,-4335,-4335,-4335,-4335,-4335, 4528,-4335,
-    -4335,-4335,-4335,-4335,-4335
-    },
-
-    {
-       27,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,
-    -4336,-4336,-4336,-4336, 4529,-4336,-4336,-4336,-4336,-4336,
-    -4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,
-    -4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,
-     4529,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,
-    -4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,-4336,
-    -4336,-4336,-4336,-4336,-4336
-    },
-
-    {
-       27,-4337, 4337, 4337,-4337,-4337,-4337,-4337,-4337,-4337,
-
-    -4337,-4337, 4338,-4337,-4337,-4337,-4337,-4337,-4337,-4337,
-    -4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,
-    -4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,
-    -4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,
-    -4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,-4337,
-    -4337,-4337,-4337,-4337,-4337
-    },
-
-    {
-       27,-4338,-4338,-4338,-4338,-4338,-4338,-4338,-4338,-4338,
-    -4338,-4338,-4338,-4338,-4338,-4338, 4530,-4338,-4338,-4338,
-    -4338,-4338,-4338,-4338,-4338,-4338,-4338,-4338,-4338, 4531,
-    -4338,-4338,-4338,-4338,-4338,-4338,-4338,-4338,-4338,-4338,
-
-    -4338,-4338, 4530,-4338,-4338,-4338,-4338,-4338,-4338,-4338,
-    -4338,-4338,-4338,-4338, 4531,-4338,-4338,-4338,-4338,-4338,
-    -4338,-4338,-4338,-4338,-4338
-    },
-
-    {
-       27,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,
-    -4339,-4339,-4339,-4339, 4532,-4339,-4339,-4339,-4339,-4339,
-    -4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,
-    -4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,
-     4532,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,
-    -4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,-4339,
-    -4339,-4339,-4339,-4339,-4339
-
-    },
-
-    {
-       27,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340, 4533,
-    -4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,
-    -4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,
-    -4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340, 4534,
-    -4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,
-    -4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,-4340,
-    -4340,-4340,-4340,-4340,-4340
-    },
-
-    {
-       27,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,
-    -4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,
-    -4341,-4341, 4535,-4341,-4341,-4341,-4341,-4341,-4341,-4341,
-
-    -4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,
-    -4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341, 4535,-4341,
-    -4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,-4341,
-    -4341,-4341,-4341,-4341,-4341
-    },
-
-    {
-       27,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,
-    -4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342, 4536,-4342,
-    -4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,
-    -4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,
-    -4342,-4342,-4342,-4342, 4536,-4342,-4342,-4342,-4342,-4342,
-    -4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,-4342,
-
-    -4342,-4342,-4342,-4342,-4342
-    },
-
-    {
-       27,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,
-    -4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,
-    -4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,
-    -4343,-4343, 4537,-4343,-4343,-4343,-4343,-4343,-4343,-4343,
-    -4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,-4343,
-    -4343,-4343,-4343,-4343,-4343,-4343,-4343, 4537,-4343,-4343,
-    -4343,-4343,-4343,-4343,-4343
-    },
-
-    {
-       27,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,
-    -4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,
-
-    -4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,
-    -4344,-4344, 4538,-4344,-4344,-4344,-4344,-4344,-4344,-4344,
-    -4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,-4344,
-    -4344,-4344,-4344,-4344,-4344,-4344,-4344, 4538,-4344,-4344,
-    -4344,-4344,-4344,-4344,-4344
-    },
-
-    {
-       27,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,
-    -4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,
-    -4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,
-    -4345,-4345, 4539,-4345,-4345,-4345,-4345,-4345,-4345,-4345,
-    -4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,-4345,
-
-    -4345,-4345,-4345,-4345,-4345,-4345,-4345, 4539,-4345,-4345,
-    -4345,-4345,-4345,-4345,-4345
-    },
-
-    {
-       27,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,
-    -4346,-4346,-4346, 4540,-4346,-4346,-4346,-4346,-4346,-4346,
-    -4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,
-    -4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,
-    -4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,
-    -4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,-4346,
-    -4346,-4346,-4346,-4346,-4346
-    },
-
-    {
-       27,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,
-
-    -4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,
-    -4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,
-    -4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,
-    -4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,
-    -4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,-4347,
-    -4347,-4347,-4347,-4347,-4347
-    },
-
-    {
-       27,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,
-    -4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,
-    -4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,
-    -4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,
-
-    -4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,
-    -4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,-4348,
-    -4348,-4348,-4348,-4348,-4348
-    },
-
-    {
-       27,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,
-    -4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,
-    -4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,
-    -4349,-4349,-4349, 4541,-4349,-4349,-4349,-4349,-4349,-4349,
-    -4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349,
-    -4349,-4349,-4349,-4349,-4349,-4349,-4349,-4349, 4541,-4349,
-    -4349,-4349,-4349,-4349,-4349
-
-    },
-
-    {
-       27,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,
-    -4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,
-    -4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,
-    -4350,-4350,-4350, 4542,-4350,-4350,-4350,-4350,-4350,-4350,
-    -4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350,
-    -4350,-4350,-4350,-4350,-4350,-4350,-4350,-4350, 4542,-4350,
-    -4350,-4350,-4350,-4350,-4350
-    },
-
-    {
-       27,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,
-    -4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,
-    -4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,
-
-    -4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,
-    -4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,
-    -4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,-4351,
-    -4351,-4351,-4351,-4351,-4351
-    },
-
-    {
-       27,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,
-    -4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,
-    -4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,
-    -4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,
-    -4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,
-    -4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,-4352,
-
-    -4352,-4352,-4352,-4352,-4352
-    },
-
-    {
-       27,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,
-    -4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,
-    -4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,
-    -4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,
-    -4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,
-    -4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,-4353,
-    -4353,-4353,-4353,-4353,-4353
-    },
-
-    {
-       27,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,
-    -4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,
-
-    -4354,-4354,-4354,-4354,-4354,-4354,-4354, 4543,-4354,-4354,
-    -4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,
-    -4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,-4354,
-    -4354,-4354, 4543,-4354,-4354,-4354,-4354,-4354,-4354,-4354,
-    -4354,-4354,-4354,-4354,-4354
-    },
-
-    {
-       27,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,
-    -4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,
-    -4355,-4355,-4355,-4355,-4355,-4355,-4355, 4544,-4355,-4355,
-    -4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,
-    -4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,-4355,
-
-    -4355,-4355, 4544,-4355,-4355,-4355,-4355,-4355,-4355,-4355,
-    -4355,-4355,-4355,-4355,-4355
-    },
-
-    {
-       27,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,
-    -4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,
-    -4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,
-    -4356,-4356,-4356, 4545,-4356,-4356,-4356,-4356,-4356,-4356,
-    -4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356,
-    -4356,-4356,-4356,-4356,-4356,-4356,-4356,-4356, 4545,-4356,
-    -4356,-4356,-4356,-4356,-4356
-    },
-
-    {
-       27,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,
-
-    -4357,-4357,-4357,-4357, 4546,-4357,-4357,-4357,-4357,-4357,
-    -4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,
-    -4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,
-     4546,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,
-    -4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,-4357,
-    -4357,-4357,-4357,-4357,-4357
-    },
-
-    {
-       27,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,
-    -4358,-4358,-4358, 4547,-4358,-4358,-4358,-4358,-4358,-4358,
-    -4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,
-    -4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,
-
-    -4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,
-    -4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,-4358,
-    -4358,-4358,-4358,-4358,-4358
-    },
-
-    {
-       27,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,
-    -4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359, 4548,-4359,
-    -4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,
-    -4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,
-    -4359,-4359,-4359,-4359, 4548,-4359,-4359,-4359,-4359,-4359,
-    -4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,-4359,
-    -4359,-4359,-4359,-4359,-4359
-
-    },
-
-    {
-       27,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,
-    -4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,
-    -4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,
-    -4360,-4360, 4549,-4360,-4360,-4360,-4360,-4360,-4360,-4360,
-    -4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,-4360,
-    -4360,-4360,-4360,-4360,-4360,-4360,-4360, 4549,-4360,-4360,
-    -4360,-4360,-4360,-4360,-4360
-    },
-
-    {
-       27,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,
-    -4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,
-    -4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,
-
-    -4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,
-    -4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,
-    -4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,-4361,
-    -4361,-4361,-4361,-4361,-4361
-    },
-
-    {
-       27,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,
-    -4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,
-    -4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,
-    -4362,-4362,-4362, 4550,-4362,-4362,-4362,-4362,-4362,-4362,
-    -4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362,
-    -4362,-4362,-4362,-4362,-4362,-4362,-4362,-4362, 4550,-4362,
-
-    -4362,-4362,-4362,-4362,-4362
-    },
-
-    {
-       27,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,
-    -4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,
-    -4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,
-    -4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,
-    -4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,
-    -4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,-4363,
-    -4363,-4363,-4363,-4363,-4363
-    },
-
-    {
-       27,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,
-    -4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,
-
-    -4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,
-    -4364,-4364,-4364, 4551,-4364,-4364,-4364,-4364,-4364,-4364,
-    -4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364,
-    -4364,-4364,-4364,-4364,-4364,-4364,-4364,-4364, 4551,-4364,
-    -4364,-4364,-4364,-4364,-4364
-    },
-
-    {
-       27,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,
-    -4365,-4365,-4365,-4365, 4552,-4365,-4365,-4365,-4365,-4365,
-    -4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,
-    -4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,
-     4552,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,
-
-    -4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,-4365,
-    -4365,-4365,-4365,-4365,-4365
-    },
-
-    {
-       27,-4366, 4366, 4366,-4366,-4366,-4366,-4366,-4366,-4366,
-    -4366,-4366, 4367,-4366,-4366,-4366,-4366,-4366,-4366,-4366,
-    -4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,
-    -4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,
-    -4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,
-    -4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,-4366,
-    -4366,-4366,-4366,-4366,-4366
-    },
-
-    {
-       27,-4367,-4367,-4367,-4367,-4367,-4367,-4367,-4367,-4367,
-
-    -4367,-4367,-4367,-4367,-4367,-4367, 4553,-4367,-4367,-4367,
-    -4367,-4367,-4367,-4367,-4367,-4367,-4367,-4367,-4367, 4554,
-    -4367,-4367,-4367,-4367,-4367,-4367,-4367,-4367,-4367,-4367,
-    -4367,-4367, 4553,-4367,-4367,-4367,-4367,-4367,-4367,-4367,
-    -4367,-4367,-4367,-4367, 4554,-4367,-4367,-4367,-4367,-4367,
-    -4367,-4367,-4367,-4367,-4367
-    },
-
-    {
-       27,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,
-    -4368,-4368,-4368,-4368, 4555,-4368,-4368,-4368,-4368,-4368,
-    -4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,
-    -4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,
-
-     4555,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,
-    -4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,-4368,
-    -4368,-4368,-4368,-4368,-4368
-    },
-
-    {
-       27,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369, 4556,
-    -4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,
-    -4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,
-    -4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369, 4557,
-    -4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,
-    -4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,-4369,
-    -4369,-4369,-4369,-4369,-4369
-
-    },
-
-    {
-       27,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,
-    -4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,
-    -4370,-4370, 4558,-4370,-4370,-4370,-4370,-4370,-4370,-4370,
-    -4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,
-    -4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370, 4558,-4370,
-    -4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,-4370,
-    -4370,-4370,-4370,-4370,-4370
-    },
-
-    {
-       27,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,
-    -4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371, 4559,-4371,
-    -4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,
-
-    -4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,
-    -4371,-4371,-4371,-4371, 4559,-4371,-4371,-4371,-4371,-4371,
-    -4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,-4371,
-    -4371,-4371,-4371,-4371,-4371
-    },
-
-    {
-       27,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,
-    -4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,
-    -4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,
-    -4372,-4372, 4560,-4372,-4372,-4372,-4372,-4372,-4372,-4372,
-    -4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,-4372,
-    -4372,-4372,-4372,-4372,-4372,-4372,-4372, 4560,-4372,-4372,
-
-    -4372,-4372,-4372,-4372,-4372
-    },
-
-    {
-       27,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,
-    -4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,
-    -4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,
-    -4373,-4373, 4561,-4373,-4373,-4373,-4373,-4373,-4373,-4373,
-    -4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,-4373,
-    -4373,-4373,-4373,-4373,-4373,-4373,-4373, 4561,-4373,-4373,
-    -4373,-4373,-4373,-4373,-4373
-    },
-
-    {
-       27,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,
-    -4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,
-
-    -4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,
-    -4374,-4374, 4562,-4374,-4374,-4374,-4374,-4374,-4374,-4374,
-    -4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,-4374,
-    -4374,-4374,-4374,-4374,-4374,-4374,-4374, 4562,-4374,-4374,
-    -4374,-4374,-4374,-4374,-4374
-    },
-
-    {
-       27,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,
-    -4375,-4375,-4375, 4563,-4375,-4375,-4375,-4375,-4375,-4375,
-    -4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,
-    -4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,
-    -4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,
-
-    -4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,-4375,
-    -4375,-4375,-4375,-4375,-4375
-    },
-
-    {
-       27,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,
-    -4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,
-    -4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,
-    -4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,
-    -4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,
-    -4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,-4376,
-    -4376,-4376,-4376,-4376,-4376
-    },
-
-    {
-       27,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,
-
-    -4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,
-    -4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,
-    -4377,-4377, 4564,-4377,-4377,-4377,-4377,-4377,-4377,-4377,
-    -4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,-4377,
-    -4377,-4377,-4377,-4377,-4377,-4377,-4377, 4564,-4377,-4377,
-    -4377,-4377,-4377,-4377,-4377
-    },
-
-    {
-       27,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,
-    -4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,
-    -4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,
-    -4378,-4378, 4565,-4378,-4378,-4378,-4378,-4378,-4378,-4378,
-
-    -4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,-4378,
-    -4378,-4378,-4378,-4378,-4378,-4378,-4378, 4565,-4378,-4378,
-    -4378,-4378,-4378,-4378,-4378
-    },
-
-    {
-       27,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,
-    -4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,
-    -4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,
-    -4379,-4379,-4379, 4566,-4379,-4379,-4379,-4379,-4379,-4379,
-    -4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379,
-    -4379,-4379,-4379,-4379,-4379,-4379,-4379,-4379, 4566,-4379,
-    -4379,-4379,-4379,-4379,-4379
-
-    },
-
-    {
-       27,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,
-    -4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,
-    -4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,
-    -4380,-4380,-4380, 4567,-4380,-4380,-4380,-4380,-4380,-4380,
-    -4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380,
-    -4380,-4380,-4380,-4380,-4380,-4380,-4380,-4380, 4567,-4380,
-    -4380,-4380,-4380,-4380,-4380
-    },
-
-    {
-       27,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,
-    -4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381, 4568,-4381,
-    -4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,
-
-    -4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,
-    -4381,-4381,-4381,-4381, 4568,-4381,-4381,-4381,-4381,-4381,
-    -4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,-4381,
-    -4381,-4381,-4381,-4381,-4381
-    },
-
-    {
-       27,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,
-    -4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,
-    -4382,-4382,-4382,-4382,-4382,-4382, 4569,-4382,-4382,-4382,
-    -4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,
-    -4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,
-    -4382, 4569,-4382,-4382,-4382,-4382,-4382,-4382,-4382,-4382,
-
-    -4382,-4382,-4382,-4382,-4382
-    },
-
-    {
-       27,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,
-    -4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,
-    -4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,
-    -4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,
-    -4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,
-    -4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,-4383,
-    -4383,-4383,-4383,-4383,-4383
-    },
-
-    {
-       27,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,
-    -4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,
-
-    -4384,-4384,-4384,-4384,-4384,-4384,-4384, 4570,-4384,-4384,
-    -4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,
-    -4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,-4384,
-    -4384,-4384, 4570,-4384,-4384,-4384,-4384,-4384,-4384,-4384,
-    -4384,-4384,-4384,-4384,-4384
-    },
-
-    {
-       27,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,
-    -4385,-4385,-4385, 4571,-4385,-4385,-4385,-4385,-4385,-4385,
-    -4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,
-    -4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,
-    -4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,
-
-    -4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,-4385,
-    -4385,-4385,-4385,-4385,-4385
-    },
-
-    {
-       27,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,
-    -4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,
-    -4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,
-    -4386,-4386, 4572,-4386,-4386,-4386,-4386,-4386,-4386,-4386,
-    -4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,-4386,
-    -4386,-4386,-4386,-4386,-4386,-4386,-4386, 4572,-4386,-4386,
-    -4386,-4386,-4386,-4386,-4386
-    },
-
-    {
-       27,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,
-
-    -4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387, 4573,-4387,
-    -4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,
-    -4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,
-    -4387,-4387,-4387,-4387, 4573,-4387,-4387,-4387,-4387,-4387,
-    -4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,-4387,
-    -4387,-4387,-4387,-4387,-4387
-    },
-
-    {
-       27,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,
-    -4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,
-    -4388,-4388,-4388,-4388,-4388,-4388, 4574,-4388,-4388,-4388,
-    -4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,
-
-    -4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,
-    -4388, 4574,-4388,-4388,-4388,-4388,-4388,-4388,-4388,-4388,
-    -4388,-4388,-4388,-4388,-4388
-    },
-
-    {
-       27,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,
-    -4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,
-    -4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389, 4575,-4389,
-    -4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,
-    -4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,-4389,
-    -4389,-4389,-4389, 4575,-4389,-4389,-4389,-4389,-4389,-4389,
-    -4389,-4389,-4389,-4389,-4389
-
-    },
-
-    {
-       27,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,
-    -4390,-4390,-4390,-4390, 4576,-4390,-4390,-4390,-4390,-4390,
-    -4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,
-    -4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,
-     4576,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,
-    -4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,-4390,
-    -4390,-4390,-4390,-4390,-4390
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184, 4577,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 4577,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4578,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 4579,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 4579,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184, 4580,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4580,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184, 4581,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 4581,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,
-    -4396,-4396,-4396, 4582,-4396,-4396,-4396,-4396,-4396,-4396,
-    -4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,
-    -4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,
-    -4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,
-    -4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,-4396,
-    -4396,-4396,-4396,-4396,-4396
-    },
-
-    {
-       27,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,
-
-    -4397,-4397,-4397, 4583,-4397,-4397,-4397,-4397,-4397,-4397,
-    -4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,
-    -4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,
-    -4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,
-    -4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,-4397,
-    -4397,-4397,-4397,-4397,-4397
-    },
-
-    {
-       27,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,
-    -4398,-4398,-4398, 4584,-4398,-4398,-4398,-4398,-4398,-4398,
-    -4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,
-    -4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,
-
-    -4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,
-    -4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,-4398,
-    -4398,-4398,-4398,-4398,-4398
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4585,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 4585,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,
-    -4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,
-    -4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,
-    -4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,
-    -4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,
-    -4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,-4400,
-    -4400,-4400,-4400,-4400,-4400
-    },
-
-    {
-       27,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,
-    -4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,
-    -4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,
-
-    -4401,-4401, 4586,-4401,-4401,-4401,-4401,-4401,-4401,-4401,
-    -4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,-4401,
-    -4401,-4401,-4401,-4401,-4401,-4401,-4401, 4586,-4401,-4401,
-    -4401,-4401,-4401,-4401,-4401
-    },
-
-    {
-       27,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,
-    -4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,
-    -4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,
-    -4402,-4402, 4587,-4402,-4402,-4402,-4402,-4402,-4402,-4402,
-    -4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,-4402,
-    -4402,-4402,-4402,-4402,-4402,-4402,-4402, 4587,-4402,-4402,
-
-    -4402,-4402,-4402,-4402,-4402
-    },
-
-    {
-       27,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,
-    -4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,
-    -4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,
-    -4403,-4403,-4403, 4588,-4403,-4403,-4403,-4403,-4403,-4403,
-    -4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403,
-    -4403,-4403,-4403,-4403,-4403,-4403,-4403,-4403, 4588,-4403,
-    -4403,-4403,-4403,-4403,-4403
-    },
-
-    {
-       27,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,
-    -4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,
-
-    -4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,
-    -4404,-4404,-4404, 4589,-4404,-4404,-4404,-4404,-4404,-4404,
-    -4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404,
-    -4404,-4404,-4404,-4404,-4404,-4404,-4404,-4404, 4589,-4404,
-    -4404,-4404,-4404,-4404,-4404
-    },
-
-    {
-       27,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,
-    -4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405, 4590,-4405,
-    -4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,
-    -4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,
-    -4405,-4405,-4405,-4405, 4590,-4405,-4405,-4405,-4405,-4405,
-
-    -4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,-4405,
-    -4405,-4405,-4405,-4405,-4405
-    },
-
-    {
-       27,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,
-    -4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,
-    -4406,-4406,-4406,-4406,-4406,-4406, 4591,-4406,-4406,-4406,
-    -4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,
-    -4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,
-    -4406, 4591,-4406,-4406,-4406,-4406,-4406,-4406,-4406,-4406,
-    -4406,-4406,-4406,-4406,-4406
-    },
-
-    {
-       27,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,
-
-    -4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,
-    -4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,
-    -4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,
-    -4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,
-    -4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,-4407,
-    -4407,-4407,-4407,-4407,-4407
-    },
-
-    {
-       27,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,
-    -4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,
-    -4408,-4408,-4408,-4408,-4408,-4408,-4408, 4592,-4408,-4408,
-    -4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,
-
-    -4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,-4408,
-    -4408,-4408, 4592,-4408,-4408,-4408,-4408,-4408,-4408,-4408,
-    -4408,-4408,-4408,-4408,-4408
-    },
-
-    {
-       27,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,
-    -4409,-4409,-4409, 4593,-4409,-4409,-4409,-4409,-4409,-4409,
-    -4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,
-    -4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,
-    -4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,
-    -4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,-4409,
-    -4409,-4409,-4409,-4409,-4409
-
-    },
-
-    {
-       27,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,
-    -4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,
-    -4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,
-    -4410,-4410, 4594,-4410,-4410,-4410,-4410,-4410,-4410,-4410,
-    -4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,-4410,
-    -4410,-4410,-4410,-4410,-4410,-4410,-4410, 4594,-4410,-4410,
-    -4410,-4410,-4410,-4410,-4410
-    },
-
-    {
-       27,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,
-    -4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411, 4595,-4411,
-    -4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,
-
-    -4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,
-    -4411,-4411,-4411,-4411, 4595,-4411,-4411,-4411,-4411,-4411,
-    -4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,-4411,
-    -4411,-4411,-4411,-4411,-4411
-    },
-
-    {
-       27,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,
-    -4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,
-    -4412,-4412,-4412,-4412,-4412,-4412, 4596,-4412,-4412,-4412,
-    -4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,
-    -4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,
-    -4412, 4596,-4412,-4412,-4412,-4412,-4412,-4412,-4412,-4412,
-
-    -4412,-4412,-4412,-4412,-4412
-    },
-
-    {
-       27,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,
-    -4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,
-    -4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413, 4597,-4413,
-    -4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,
-    -4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,-4413,
-    -4413,-4413,-4413, 4597,-4413,-4413,-4413,-4413,-4413,-4413,
-    -4413,-4413,-4413,-4413,-4413
-    },
-
-    {
-       27,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,
-    -4414,-4414,-4414,-4414, 4598,-4414,-4414,-4414,-4414,-4414,
-
-    -4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,
-    -4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,
-     4598,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,
-    -4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,-4414,
-    -4414,-4414,-4414,-4414,-4414
-    },
-
-    {
-       27,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,
-    -4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,
-    -4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,
-    -4415, 4599,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,
-    -4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,-4415,
-
-    -4415,-4415,-4415,-4415,-4415,-4415, 4599,-4415,-4415,-4415,
-    -4415,-4415,-4415,-4415,-4415
-    },
-
-    {
-       27,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,
-    -4416,-4416,-4416, 4600,-4416,-4416,-4416,-4416,-4416,-4416,
-    -4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,
-    -4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,
-    -4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,
-    -4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,-4416,
-    -4416,-4416,-4416,-4416,-4416
-    },
-
-    {
-       27,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,
-
-    -4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,
-    -4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,
-    -4417,-4417, 4601,-4417,-4417,-4417,-4417,-4417,-4417,-4417,
-    -4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,-4417,
-    -4417,-4417,-4417,-4417,-4417,-4417,-4417, 4601,-4417,-4417,
-    -4417,-4417,-4417,-4417,-4417
-    },
-
-    {
-       27,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,
-    -4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,
-    -4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418, 4602,-4418,
-    -4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,
-
-    -4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,-4418,
-    -4418,-4418,-4418, 4602,-4418,-4418,-4418,-4418,-4418,-4418,
-    -4418,-4418,-4418,-4418,-4418
-    },
-
-    {
-       27,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,
-    -4419,-4419,-4419,-4419,-4419,-4419, 4603,-4419,-4419,-4419,
-    -4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,
-    -4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,
-    -4419,-4419, 4603,-4419,-4419,-4419,-4419,-4419,-4419,-4419,
-    -4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,-4419,
-    -4419,-4419,-4419,-4419,-4419
-
-    },
-
-    {
-       27,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,
-    -4420,-4420,-4420, 4604,-4420,-4420,-4420,-4420,-4420,-4420,
-    -4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,
-    -4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,
-    -4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,
-    -4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,-4420,
-    -4420,-4420,-4420,-4420,-4420
-    },
-
-    {
-       27,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,
-    -4421,-4421,-4421, 4605,-4421,-4421,-4421,-4421,-4421,-4421,
-    -4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,
-
-    -4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,
-    -4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,
-    -4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,-4421,
-    -4421,-4421,-4421,-4421,-4421
-    },
-
-    {
-       27,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,
-    -4422,-4422,-4422, 4606,-4422,-4422,-4422,-4422,-4422,-4422,
-    -4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,
-    -4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,
-    -4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,
-    -4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,-4422,
-
-    -4422,-4422,-4422,-4422,-4422
-    },
-
-    {
-       27,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,
-    -4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,
-    -4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,
-    -4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,
-    -4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,
-    -4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,-4423,
-    -4423,-4423,-4423,-4423,-4423
-    },
-
-    {
-       27,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,
-    -4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,
-
-    -4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,
-    -4424,-4424, 4607,-4424,-4424,-4424,-4424,-4424,-4424,-4424,
-    -4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,-4424,
-    -4424,-4424,-4424,-4424,-4424,-4424,-4424, 4607,-4424,-4424,
-    -4424,-4424,-4424,-4424,-4424
-    },
-
-    {
-       27,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,
-    -4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,
-    -4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,
-    -4425,-4425, 4608,-4425,-4425,-4425,-4425,-4425,-4425,-4425,
-    -4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,-4425,
-
-    -4425,-4425,-4425,-4425,-4425,-4425,-4425, 4608,-4425,-4425,
-    -4425,-4425,-4425,-4425,-4425
-    },
-
-    {
-       27,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,
-    -4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,
-    -4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,
-    -4426,-4426,-4426, 4609,-4426,-4426,-4426,-4426,-4426,-4426,
-    -4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426,
-    -4426,-4426,-4426,-4426,-4426,-4426,-4426,-4426, 4609,-4426,
-    -4426,-4426,-4426,-4426,-4426
-    },
-
-    {
-       27,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,
-
-    -4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,
-    -4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,
-    -4427,-4427,-4427, 4610,-4427,-4427,-4427,-4427,-4427,-4427,
-    -4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427,
-    -4427,-4427,-4427,-4427,-4427,-4427,-4427,-4427, 4610,-4427,
-    -4427,-4427,-4427,-4427,-4427
-    },
-
-    {
-       27,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,
-    -4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428, 4611,-4428,
-    -4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,
-    -4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,
-
-    -4428,-4428,-4428,-4428, 4611,-4428,-4428,-4428,-4428,-4428,
-    -4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,-4428,
-    -4428,-4428,-4428,-4428,-4428
-    },
-
-    {
-       27,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,
-    -4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,
-    -4429,-4429,-4429,-4429,-4429,-4429, 4612,-4429,-4429,-4429,
-    -4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,
-    -4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,
-    -4429, 4612,-4429,-4429,-4429,-4429,-4429,-4429,-4429,-4429,
-    -4429,-4429,-4429,-4429,-4429
-
-    },
-
-    {
-       27,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,
-    -4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,
-    -4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,
-    -4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,
-    -4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,
-    -4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,-4430,
-    -4430,-4430,-4430,-4430,-4430
-    },
-
-    {
-       27,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,
-    -4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,
-    -4431,-4431,-4431,-4431,-4431,-4431,-4431, 4613,-4431,-4431,
-
-    -4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,
-    -4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,-4431,
-    -4431,-4431, 4613,-4431,-4431,-4431,-4431,-4431,-4431,-4431,
-    -4431,-4431,-4431,-4431,-4431
-    },
-
-    {
-       27,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,
-    -4432,-4432,-4432, 4614,-4432,-4432,-4432,-4432,-4432,-4432,
-    -4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,
-    -4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,
-    -4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,
-    -4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,-4432,
-
-    -4432,-4432,-4432,-4432,-4432
-    },
-
-    {
-       27,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,
-    -4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,
-    -4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,
-    -4433,-4433, 4615,-4433,-4433,-4433,-4433,-4433,-4433,-4433,
-    -4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,-4433,
-    -4433,-4433,-4433,-4433,-4433,-4433,-4433, 4615,-4433,-4433,
-    -4433,-4433,-4433,-4433,-4433
-    },
-
-    {
-       27,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,
-    -4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434, 4616,-4434,
-
-    -4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,
-    -4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,
-    -4434,-4434,-4434,-4434, 4616,-4434,-4434,-4434,-4434,-4434,
-    -4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,-4434,
-    -4434,-4434,-4434,-4434,-4434
-    },
-
-    {
-       27,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,
-    -4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,
-    -4435,-4435,-4435,-4435,-4435,-4435, 4617,-4435,-4435,-4435,
-    -4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,
-    -4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,
-
-    -4435, 4617,-4435,-4435,-4435,-4435,-4435,-4435,-4435,-4435,
-    -4435,-4435,-4435,-4435,-4435
-    },
-
-    {
-       27,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,
-    -4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,
-    -4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436, 4618,-4436,
-    -4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,
-    -4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,-4436,
-    -4436,-4436,-4436, 4618,-4436,-4436,-4436,-4436,-4436,-4436,
-    -4436,-4436,-4436,-4436,-4436
-    },
-
-    {
-       27,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,
-
-    -4437,-4437,-4437,-4437, 4619,-4437,-4437,-4437,-4437,-4437,
-    -4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,
-    -4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,
-     4619,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,
-    -4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,-4437,
-    -4437,-4437,-4437,-4437,-4437
-    },
-
-    {
-       27,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,
-    -4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,
-    -4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,
-    -4438, 4620,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,
-
-    -4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,-4438,
-    -4438,-4438,-4438,-4438,-4438,-4438, 4620,-4438,-4438,-4438,
-    -4438,-4438,-4438,-4438,-4438
-    },
-
-    {
-       27,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,
-    -4439,-4439,-4439, 4621,-4439,-4439,-4439,-4439,-4439,-4439,
-    -4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,
-    -4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,
-    -4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,
-    -4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,-4439,
-    -4439,-4439,-4439,-4439,-4439
-
-    },
-
-    {
-       27,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,
-    -4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,
-    -4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,
-    -4440,-4440, 4622,-4440,-4440,-4440,-4440,-4440,-4440,-4440,
-    -4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,-4440,
-    -4440,-4440,-4440,-4440,-4440,-4440,-4440, 4622,-4440,-4440,
-    -4440,-4440,-4440,-4440,-4440
-    },
-
-    {
-       27,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,
-    -4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,
-    -4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441, 4623,-4441,
-
-    -4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,
-    -4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,-4441,
-    -4441,-4441,-4441, 4623,-4441,-4441,-4441,-4441,-4441,-4441,
-    -4441,-4441,-4441,-4441,-4441
-    },
-
-    {
-       27,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,
-    -4442,-4442,-4442,-4442,-4442,-4442, 4624,-4442,-4442,-4442,
-    -4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,
-    -4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,
-    -4442,-4442, 4624,-4442,-4442,-4442,-4442,-4442,-4442,-4442,
-    -4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,-4442,
-
-    -4442,-4442,-4442,-4442,-4442
-    },
-
-    {
-       27,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,
-    -4443,-4443,-4443, 4625,-4443,-4443,-4443,-4443,-4443,-4443,
-    -4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,
-    -4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,
-    -4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,
-    -4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,-4443,
-    -4443,-4443,-4443,-4443,-4443
-    },
-
-    {
-       27,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,
-    -4444,-4444,-4444, 4626,-4444,-4444,-4444,-4444,-4444,-4444,
-
-    -4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,
-    -4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,
-    -4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,
-    -4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,-4444,
-    -4444,-4444,-4444,-4444,-4444
-    },
-
-    {
-       27,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,
-    -4445,-4445,-4445, 4627,-4445,-4445,-4445,-4445,-4445,-4445,
-    -4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,
-    -4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,
-    -4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,
-
-    -4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,-4445,
-    -4445,-4445,-4445,-4445,-4445
-    },
-
-    {
-       27,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,
-    -4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,
-    -4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,
-    -4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,
-    -4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,
-    -4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,-4446,
-    -4446,-4446,-4446,-4446,-4446
-    },
-
-    {
-       27,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,
-
-    -4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,
-    -4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,
-    -4447,-4447, 4628,-4447,-4447,-4447,-4447,-4447,-4447,-4447,
-    -4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,-4447,
-    -4447,-4447,-4447,-4447,-4447,-4447,-4447, 4628,-4447,-4447,
-    -4447,-4447,-4447,-4447,-4447
-    },
-
-    {
-       27,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,
-    -4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,
-    -4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,
-    -4448,-4448, 4629,-4448,-4448,-4448,-4448,-4448,-4448,-4448,
-
-    -4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,-4448,
-    -4448,-4448,-4448,-4448,-4448,-4448,-4448, 4629,-4448,-4448,
-    -4448,-4448,-4448,-4448,-4448
-    },
-
-    {
-       27,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,
-    -4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,
-    -4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,
-    -4449,-4449,-4449, 4630,-4449,-4449,-4449,-4449,-4449,-4449,
-    -4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449,
-    -4449,-4449,-4449,-4449,-4449,-4449,-4449,-4449, 4630,-4449,
-    -4449,-4449,-4449,-4449,-4449
-
-    },
-
-    {
-       27,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,
-    -4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,
-    -4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,
-    -4450,-4450,-4450, 4631,-4450,-4450,-4450,-4450,-4450,-4450,
-    -4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450,
-    -4450,-4450,-4450,-4450,-4450,-4450,-4450,-4450, 4631,-4450,
-    -4450,-4450,-4450,-4450,-4450
-    },
-
-    {
-       27,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,
-    -4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451, 4632,-4451,
-    -4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,
-
-    -4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,
-    -4451,-4451,-4451,-4451, 4632,-4451,-4451,-4451,-4451,-4451,
-    -4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,-4451,
-    -4451,-4451,-4451,-4451,-4451
-    },
-
-    {
-       27,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,
-    -4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,
-    -4452,-4452,-4452,-4452,-4452,-4452, 4633,-4452,-4452,-4452,
-    -4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,
-    -4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,
-    -4452, 4633,-4452,-4452,-4452,-4452,-4452,-4452,-4452,-4452,
-
-    -4452,-4452,-4452,-4452,-4452
-    },
-
-    {
-       27,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,
-    -4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,
-    -4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,
-    -4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,
-    -4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,
-    -4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,-4453,
-    -4453,-4453,-4453,-4453,-4453
-    },
-
-    {
-       27,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,
-    -4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,
-
-    -4454,-4454,-4454,-4454,-4454,-4454,-4454, 4634,-4454,-4454,
-    -4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,
-    -4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,-4454,
-    -4454,-4454, 4634,-4454,-4454,-4454,-4454,-4454,-4454,-4454,
-    -4454,-4454,-4454,-4454,-4454
-    },
-
-    {
-       27,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,
-    -4455,-4455,-4455, 4635,-4455,-4455,-4455,-4455,-4455,-4455,
-    -4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,
-    -4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,
-    -4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,
-
-    -4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,-4455,
-    -4455,-4455,-4455,-4455,-4455
-    },
-
-    {
-       27,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,
-    -4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,
-    -4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,
-    -4456,-4456, 4636,-4456,-4456,-4456,-4456,-4456,-4456,-4456,
-    -4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,-4456,
-    -4456,-4456,-4456,-4456,-4456,-4456,-4456, 4636,-4456,-4456,
-    -4456,-4456,-4456,-4456,-4456
-    },
-
-    {
-       27,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,
-
-    -4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457, 4637,-4457,
-    -4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,
-    -4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,
-    -4457,-4457,-4457,-4457, 4637,-4457,-4457,-4457,-4457,-4457,
-    -4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,-4457,
-    -4457,-4457,-4457,-4457,-4457
-    },
-
-    {
-       27,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,
-    -4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,
-    -4458,-4458,-4458,-4458,-4458,-4458, 4638,-4458,-4458,-4458,
-    -4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,
-
-    -4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,
-    -4458, 4638,-4458,-4458,-4458,-4458,-4458,-4458,-4458,-4458,
-    -4458,-4458,-4458,-4458,-4458
-    },
-
-    {
-       27,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,
-    -4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,
-    -4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459, 4639,-4459,
-    -4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,
-    -4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,-4459,
-    -4459,-4459,-4459, 4639,-4459,-4459,-4459,-4459,-4459,-4459,
-    -4459,-4459,-4459,-4459,-4459
-
-    },
-
-    {
-       27,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,
-    -4460,-4460,-4460,-4460, 4640,-4460,-4460,-4460,-4460,-4460,
-    -4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,
-    -4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,
-     4640,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,
-    -4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,-4460,
-    -4460,-4460,-4460,-4460,-4460
-    },
-
-    {
-       27,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,
-    -4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,
-    -4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,
-
-    -4461, 4641,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,
-    -4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,-4461,
-    -4461,-4461,-4461,-4461,-4461,-4461, 4641,-4461,-4461,-4461,
-    -4461,-4461,-4461,-4461,-4461
-    },
-
-    {
-       27,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,
-    -4462,-4462,-4462, 4642,-4462,-4462,-4462,-4462,-4462,-4462,
-    -4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,
-    -4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,
-    -4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,
-    -4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,-4462,
-
-    -4462,-4462,-4462,-4462,-4462
-    },
-
-    {
-       27,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,
-    -4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,
-    -4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,
-    -4463,-4463, 4643,-4463,-4463,-4463,-4463,-4463,-4463,-4463,
-    -4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,-4463,
-    -4463,-4463,-4463,-4463,-4463,-4463,-4463, 4643,-4463,-4463,
-    -4463,-4463,-4463,-4463,-4463
-    },
-
-    {
-       27,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,
-    -4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,
-
-    -4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464, 4644,-4464,
-    -4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,
-    -4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,-4464,
-    -4464,-4464,-4464, 4644,-4464,-4464,-4464,-4464,-4464,-4464,
-    -4464,-4464,-4464,-4464,-4464
-    },
-
-    {
-       27,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,
-    -4465,-4465,-4465,-4465,-4465,-4465, 4645,-4465,-4465,-4465,
-    -4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,
-    -4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,
-    -4465,-4465, 4645,-4465,-4465,-4465,-4465,-4465,-4465,-4465,
-
-    -4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,-4465,
-    -4465,-4465,-4465,-4465,-4465
-    },
-
-    {
-       27,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,
-    -4466,-4466,-4466, 4646,-4466,-4466,-4466,-4466,-4466,-4466,
-    -4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,
-    -4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,
-    -4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,
-    -4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,-4466,
-    -4466,-4466,-4466,-4466,-4466
-    },
-
-    {
-       27,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,
-
-    -4467,-4467,-4467, 4647,-4467,-4467,-4467,-4467,-4467,-4467,
-    -4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,
-    -4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,
-    -4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,
-    -4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,-4467,
-    -4467,-4467,-4467,-4467,-4467
-    },
-
-    {
-       27,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,
-    -4468,-4468,-4468, 4648,-4468,-4468,-4468,-4468,-4468,-4468,
-    -4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,
-    -4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,
-
-    -4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,
-    -4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,-4468,
-    -4468,-4468,-4468,-4468,-4468
-    },
-
-    {
-       27,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,
-    -4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,
-    -4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,
-    -4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,
-    -4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,
-    -4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,-4469,
-    -4469,-4469,-4469,-4469,-4469
-
-    },
-
-    {
-       27,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,
-    -4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,
-    -4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,
-    -4470,-4470, 4649,-4470,-4470,-4470,-4470,-4470,-4470,-4470,
-    -4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,-4470,
-    -4470,-4470,-4470,-4470,-4470,-4470,-4470, 4649,-4470,-4470,
-    -4470,-4470,-4470,-4470,-4470
-    },
-
-    {
-       27,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,
-    -4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,
-    -4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,
-
-    -4471,-4471, 4650,-4471,-4471,-4471,-4471,-4471,-4471,-4471,
-    -4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,-4471,
-    -4471,-4471,-4471,-4471,-4471,-4471,-4471, 4650,-4471,-4471,
-    -4471,-4471,-4471,-4471,-4471
-    },
-
-    {
-       27,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,
-    -4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,
-    -4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,
-    -4472,-4472,-4472, 4651,-4472,-4472,-4472,-4472,-4472,-4472,
-    -4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472,
-    -4472,-4472,-4472,-4472,-4472,-4472,-4472,-4472, 4651,-4472,
-
-    -4472,-4472,-4472,-4472,-4472
-    },
-
-    {
-       27,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,
-    -4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,
-    -4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,
-    -4473,-4473,-4473, 4652,-4473,-4473,-4473,-4473,-4473,-4473,
-    -4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473,
-    -4473,-4473,-4473,-4473,-4473,-4473,-4473,-4473, 4652,-4473,
-    -4473,-4473,-4473,-4473,-4473
-    },
-
-    {
-       27,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,
-    -4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474, 4653,-4474,
-
-    -4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,
-    -4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,
-    -4474,-4474,-4474,-4474, 4653,-4474,-4474,-4474,-4474,-4474,
-    -4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,-4474,
-    -4474,-4474,-4474,-4474,-4474
-    },
-
-    {
-       27,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,
-    -4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,
-    -4475,-4475,-4475,-4475,-4475,-4475, 4654,-4475,-4475,-4475,
-    -4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,
-    -4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,
-
-    -4475, 4654,-4475,-4475,-4475,-4475,-4475,-4475,-4475,-4475,
-    -4475,-4475,-4475,-4475,-4475
-    },
-
-    {
-       27,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,
-    -4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,
-    -4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,
-    -4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,
-    -4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,
-    -4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,-4476,
-    -4476,-4476,-4476,-4476,-4476
-    },
-
-    {
-       27,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,
-
-    -4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,
-    -4477,-4477,-4477,-4477,-4477,-4477,-4477, 4655,-4477,-4477,
-    -4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,
-    -4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,-4477,
-    -4477,-4477, 4655,-4477,-4477,-4477,-4477,-4477,-4477,-4477,
-    -4477,-4477,-4477,-4477,-4477
-    },
-
-    {
-       27,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,
-    -4478,-4478,-4478, 4656,-4478,-4478,-4478,-4478,-4478,-4478,
-    -4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,
-    -4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,
-
-    -4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,
-    -4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,-4478,
-    -4478,-4478,-4478,-4478,-4478
-    },
-
-    {
-       27,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,
-    -4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,
-    -4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,
-    -4479,-4479, 4657,-4479,-4479,-4479,-4479,-4479,-4479,-4479,
-    -4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,-4479,
-    -4479,-4479,-4479,-4479,-4479,-4479,-4479, 4657,-4479,-4479,
-    -4479,-4479,-4479,-4479,-4479
-
-    },
-
-    {
-       27,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,
-    -4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480, 4658,-4480,
-    -4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,
-    -4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,
-    -4480,-4480,-4480,-4480, 4658,-4480,-4480,-4480,-4480,-4480,
-    -4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,-4480,
-    -4480,-4480,-4480,-4480,-4480
-    },
-
-    {
-       27,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,
-    -4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,
-    -4481,-4481,-4481,-4481,-4481,-4481, 4659,-4481,-4481,-4481,
-
-    -4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,
-    -4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,
-    -4481, 4659,-4481,-4481,-4481,-4481,-4481,-4481,-4481,-4481,
-    -4481,-4481,-4481,-4481,-4481
-    },
-
-    {
-       27,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,
-    -4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,
-    -4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482, 4660,-4482,
-    -4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,
-    -4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,-4482,
-    -4482,-4482,-4482, 4660,-4482,-4482,-4482,-4482,-4482,-4482,
-
-    -4482,-4482,-4482,-4482,-4482
-    },
-
-    {
-       27,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,
-    -4483,-4483,-4483,-4483, 4661,-4483,-4483,-4483,-4483,-4483,
-    -4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,
-    -4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,
-     4661,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,
-    -4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,-4483,
-    -4483,-4483,-4483,-4483,-4483
-    },
-
-    {
-       27,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,
-    -4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,
-
-    -4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,
-    -4484, 4662,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,
-    -4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,-4484,
-    -4484,-4484,-4484,-4484,-4484,-4484, 4662,-4484,-4484,-4484,
-    -4484,-4484,-4484,-4484,-4484
-    },
-
-    {
-       27,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,
-    -4485,-4485,-4485, 4663,-4485,-4485,-4485,-4485,-4485,-4485,
-    -4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,
-    -4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,
-    -4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,
-
-    -4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,-4485,
-    -4485,-4485,-4485,-4485,-4485
-    },
-
-    {
-       27,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,
-    -4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,
-    -4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,
-    -4486,-4486, 4664,-4486,-4486,-4486,-4486,-4486,-4486,-4486,
-    -4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,-4486,
-    -4486,-4486,-4486,-4486,-4486,-4486,-4486, 4664,-4486,-4486,
-    -4486,-4486,-4486,-4486,-4486
-    },
-
-    {
-       27,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,
-
-    -4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,
-    -4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487, 4665,-4487,
-    -4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,
-    -4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,-4487,
-    -4487,-4487,-4487, 4665,-4487,-4487,-4487,-4487,-4487,-4487,
-    -4487,-4487,-4487,-4487,-4487
-    },
-
-    {
-       27,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,
-    -4488,-4488,-4488,-4488,-4488,-4488, 4666,-4488,-4488,-4488,
-    -4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,
-    -4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,
-
-    -4488,-4488, 4666,-4488,-4488,-4488,-4488,-4488,-4488,-4488,
-    -4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,-4488,
-    -4488,-4488,-4488,-4488,-4488
-    },
-
-    {
-       27,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,
-    -4489,-4489,-4489, 4667,-4489,-4489,-4489,-4489,-4489,-4489,
-    -4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,
-    -4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,
-    -4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,
-    -4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,-4489,
-    -4489,-4489,-4489,-4489,-4489
-
-    },
-
-    {
-       27,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,
-    -4490,-4490,-4490, 4668,-4490,-4490,-4490,-4490,-4490,-4490,
-    -4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,
-    -4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,
-    -4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,
-    -4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,-4490,
-    -4490,-4490,-4490,-4490,-4490
-    },
-
-    {
-       27,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,
-    -4491,-4491,-4491, 4669,-4491,-4491,-4491,-4491,-4491,-4491,
-    -4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,
-
-    -4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,
-    -4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,
-    -4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,-4491,
-    -4491,-4491,-4491,-4491,-4491
-    },
-
-    {
-       27,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,
-    -4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,
-    -4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,
-    -4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,
-    -4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,
-    -4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,-4492,
-
-    -4492,-4492,-4492,-4492,-4492
-    },
-
-    {
-       27,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,
-    -4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,
-    -4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,
-    -4493,-4493, 4670,-4493,-4493,-4493,-4493,-4493,-4493,-4493,
-    -4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,-4493,
-    -4493,-4493,-4493,-4493,-4493,-4493,-4493, 4670,-4493,-4493,
-    -4493,-4493,-4493,-4493,-4493
-    },
-
-    {
-       27,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,
-    -4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,
-
-    -4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,
-    -4494,-4494, 4671,-4494,-4494,-4494,-4494,-4494,-4494,-4494,
-    -4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,-4494,
-    -4494,-4494,-4494,-4494,-4494,-4494,-4494, 4671,-4494,-4494,
-    -4494,-4494,-4494,-4494,-4494
-    },
-
-    {
-       27,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,
-    -4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,
-    -4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,
-    -4495,-4495,-4495, 4672,-4495,-4495,-4495,-4495,-4495,-4495,
-    -4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495,
-
-    -4495,-4495,-4495,-4495,-4495,-4495,-4495,-4495, 4672,-4495,
-    -4495,-4495,-4495,-4495,-4495
-    },
-
-    {
-       27,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,
-    -4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,
-    -4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,
-    -4496,-4496,-4496, 4673,-4496,-4496,-4496,-4496,-4496,-4496,
-    -4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496,
-    -4496,-4496,-4496,-4496,-4496,-4496,-4496,-4496, 4673,-4496,
-    -4496,-4496,-4496,-4496,-4496
-    },
-
-    {
-       27,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,
-
-    -4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497, 4674,-4497,
-    -4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,
-    -4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,
-    -4497,-4497,-4497,-4497, 4674,-4497,-4497,-4497,-4497,-4497,
-    -4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,-4497,
-    -4497,-4497,-4497,-4497,-4497
-    },
-
-    {
-       27,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,
-    -4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,
-    -4498,-4498,-4498,-4498,-4498,-4498, 4675,-4498,-4498,-4498,
-    -4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,
-
-    -4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,
-    -4498, 4675,-4498,-4498,-4498,-4498,-4498,-4498,-4498,-4498,
-    -4498,-4498,-4498,-4498,-4498
-    },
-
-    {
-       27,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,
-    -4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,
-    -4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,
-    -4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,
-    -4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,
-    -4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,-4499,
-    -4499,-4499,-4499,-4499,-4499
-
-    },
-
-    {
-       27,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,
-    -4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,
-    -4500,-4500,-4500,-4500,-4500,-4500,-4500, 4676,-4500,-4500,
-    -4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,
-    -4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,-4500,
-    -4500,-4500, 4676,-4500,-4500,-4500,-4500,-4500,-4500,-4500,
-    -4500,-4500,-4500,-4500,-4500
-    },
-
-    {
-       27,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,
-    -4501,-4501,-4501, 4677,-4501,-4501,-4501,-4501,-4501,-4501,
-    -4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,
-
-    -4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,
-    -4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,
-    -4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,-4501,
-    -4501,-4501,-4501,-4501,-4501
-    },
-
-    {
-       27,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,
-    -4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,
-    -4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,
-    -4502,-4502, 4678,-4502,-4502,-4502,-4502,-4502,-4502,-4502,
-    -4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,-4502,
-    -4502,-4502,-4502,-4502,-4502,-4502,-4502, 4678,-4502,-4502,
-
-    -4502,-4502,-4502,-4502,-4502
-    },
-
-    {
-       27,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,
-    -4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503, 4679,-4503,
-    -4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,
-    -4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,
-    -4503,-4503,-4503,-4503, 4679,-4503,-4503,-4503,-4503,-4503,
-    -4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,-4503,
-    -4503,-4503,-4503,-4503,-4503
-    },
-
-    {
-       27,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,
-    -4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,
-
-    -4504,-4504,-4504,-4504,-4504,-4504, 4680,-4504,-4504,-4504,
-    -4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,
-    -4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,
-    -4504, 4680,-4504,-4504,-4504,-4504,-4504,-4504,-4504,-4504,
-    -4504,-4504,-4504,-4504,-4504
-    },
-
-    {
-       27,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,
-    -4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,
-    -4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505, 4681,-4505,
-    -4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,
-    -4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,-4505,
-
-    -4505,-4505,-4505, 4681,-4505,-4505,-4505,-4505,-4505,-4505,
-    -4505,-4505,-4505,-4505,-4505
-    },
-
-    {
-       27,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,
-    -4506,-4506,-4506,-4506, 4682,-4506,-4506,-4506,-4506,-4506,
-    -4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,
-    -4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,
-     4682,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,
-    -4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,-4506,
-    -4506,-4506,-4506,-4506,-4506
-    },
-
-    {
-       27,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,
-
-    -4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,
-    -4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,
-    -4507, 4683,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,
-    -4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,-4507,
-    -4507,-4507,-4507,-4507,-4507,-4507, 4683,-4507,-4507,-4507,
-    -4507,-4507,-4507,-4507,-4507
-    },
-
-    {
-       27,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,
-    -4508,-4508,-4508, 4684,-4508,-4508,-4508,-4508,-4508,-4508,
-    -4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,
-    -4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,
-
-    -4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,
-    -4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,-4508,
-    -4508,-4508,-4508,-4508,-4508
-    },
-
-    {
-       27,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,
-    -4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,
-    -4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,
-    -4509,-4509, 4685,-4509,-4509,-4509,-4509,-4509,-4509,-4509,
-    -4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,-4509,
-    -4509,-4509,-4509,-4509,-4509,-4509,-4509, 4685,-4509,-4509,
-    -4509,-4509,-4509,-4509,-4509
-
-    },
-
-    {
-       27,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,
-    -4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,
-    -4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510, 4686,-4510,
-    -4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,
-    -4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,-4510,
-    -4510,-4510,-4510, 4686,-4510,-4510,-4510,-4510,-4510,-4510,
-    -4510,-4510,-4510,-4510,-4510
-    },
-
-    {
-       27,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,
-    -4511,-4511,-4511,-4511,-4511,-4511, 4687,-4511,-4511,-4511,
-    -4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,
-
-    -4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,
-    -4511,-4511, 4687,-4511,-4511,-4511,-4511,-4511,-4511,-4511,
-    -4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,-4511,
-    -4511,-4511,-4511,-4511,-4511
-    },
-
-    {
-       27,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,
-    -4512,-4512,-4512, 4688,-4512,-4512,-4512,-4512,-4512,-4512,
-    -4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,
-    -4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,
-    -4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,
-    -4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,-4512,
-
-    -4512,-4512,-4512,-4512,-4512
-    },
-
-    {
-       27,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,
-    -4513,-4513,-4513, 4689,-4513,-4513,-4513,-4513,-4513,-4513,
-    -4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,
-    -4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,
-    -4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,
-    -4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,-4513,
-    -4513,-4513,-4513,-4513,-4513
-    },
-
-    {
-       27,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,
-    -4514,-4514,-4514, 4690,-4514,-4514,-4514,-4514,-4514,-4514,
-
-    -4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,
-    -4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,
-    -4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,
-    -4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,-4514,
-    -4514,-4514,-4514,-4514,-4514
-    },
-
-    {
-       27,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,
-    -4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,
-    -4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,
-    -4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,
-    -4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,
-
-    -4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,-4515,
-    -4515,-4515,-4515,-4515,-4515
-    },
-
-    {
-       27,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,
-    -4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,
-    -4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,
-    -4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,
-    -4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,
-    -4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,-4516,
-    -4516,-4516,-4516,-4516,-4516
-    },
-
-    {
-       27,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,
-
-    -4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,
-    -4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,
-    -4517,-4517, 4691,-4517,-4517,-4517,-4517,-4517,-4517,-4517,
-    -4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,-4517,
-    -4517,-4517,-4517,-4517,-4517,-4517,-4517, 4691,-4517,-4517,
-    -4517,-4517,-4517,-4517,-4517
-    },
-
-    {
-       27,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,
-    -4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,
-    -4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,
-    -4518,-4518, 4692,-4518,-4518,-4518,-4518,-4518,-4518,-4518,
-
-    -4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,-4518,
-    -4518,-4518,-4518,-4518,-4518,-4518,-4518, 4692,-4518,-4518,
-    -4518,-4518,-4518,-4518,-4518
-    },
-
-    {
-       27,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,
-    -4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,
-    -4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,
-    -4519,-4519, 4693,-4519,-4519,-4519,-4519,-4519,-4519,-4519,
-    -4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,-4519,
-    -4519,-4519,-4519,-4519,-4519,-4519,-4519, 4693,-4519,-4519,
-    -4519,-4519,-4519,-4519,-4519
-
-    },
-
-    {
-       27,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,
-    -4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,
-    -4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,
-    -4520,-4520,-4520, 4694,-4520,-4520,-4520,-4520,-4520,-4520,
-    -4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520,
-    -4520,-4520,-4520,-4520,-4520,-4520,-4520,-4520, 4694,-4520,
-    -4520,-4520,-4520,-4520,-4520
-    },
-
-    {
-       27,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,
-    -4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,
-    -4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,
-
-    -4521,-4521,-4521, 4695,-4521,-4521,-4521,-4521,-4521,-4521,
-    -4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521,
-    -4521,-4521,-4521,-4521,-4521,-4521,-4521,-4521, 4695,-4521,
-    -4521,-4521,-4521,-4521,-4521
-    },
-
-    {
-       27,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,
-    -4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522, 4696,-4522,
-    -4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,
-    -4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,
-    -4522,-4522,-4522,-4522, 4696,-4522,-4522,-4522,-4522,-4522,
-    -4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,-4522,
-
-    -4522,-4522,-4522,-4522,-4522
-    },
-
-    {
-       27,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,
-    -4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,
-    -4523,-4523,-4523,-4523,-4523,-4523, 4697,-4523,-4523,-4523,
-    -4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,
-    -4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,
-    -4523, 4697,-4523,-4523,-4523,-4523,-4523,-4523,-4523,-4523,
-    -4523,-4523,-4523,-4523,-4523
-    },
-
-    {
-       27,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,
-    -4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,
-
-    -4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,
-    -4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,
-    -4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,
-    -4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,-4524,
-    -4524,-4524,-4524,-4524,-4524
-    },
-
-    {
-       27,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,
-    -4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,
-    -4525,-4525,-4525,-4525,-4525,-4525,-4525, 4698,-4525,-4525,
-    -4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,
-    -4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,-4525,
-
-    -4525,-4525, 4698,-4525,-4525,-4525,-4525,-4525,-4525,-4525,
-    -4525,-4525,-4525,-4525,-4525
-    },
-
-    {
-       27,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,
-    -4526,-4526,-4526, 4699,-4526,-4526,-4526,-4526,-4526,-4526,
-    -4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,
-    -4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,
-    -4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,
-    -4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,-4526,
-    -4526,-4526,-4526,-4526,-4526
-    },
-
-    {
-       27,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,
-
-    -4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,
-    -4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,
-    -4527,-4527, 4700,-4527,-4527,-4527,-4527,-4527,-4527,-4527,
-    -4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,-4527,
-    -4527,-4527,-4527,-4527,-4527,-4527,-4527, 4700,-4527,-4527,
-    -4527,-4527,-4527,-4527,-4527
-    },
-
-    {
-       27,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,
-    -4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528, 4701,-4528,
-    -4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,
-    -4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,
-
-    -4528,-4528,-4528,-4528, 4701,-4528,-4528,-4528,-4528,-4528,
-    -4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,-4528,
-    -4528,-4528,-4528,-4528,-4528
-    },
-
-    {
-       27,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,
-    -4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,
-    -4529,-4529,-4529,-4529,-4529,-4529, 4702,-4529,-4529,-4529,
-    -4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,
-    -4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,
-    -4529, 4702,-4529,-4529,-4529,-4529,-4529,-4529,-4529,-4529,
-    -4529,-4529,-4529,-4529,-4529
-
-    },
-
-    {
-       27,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,
-    -4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,
-    -4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530, 4703,-4530,
-    -4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,
-    -4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,-4530,
-    -4530,-4530,-4530, 4703,-4530,-4530,-4530,-4530,-4530,-4530,
-    -4530,-4530,-4530,-4530,-4530
-    },
-
-    {
-       27,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,
-    -4531,-4531,-4531,-4531, 4704,-4531,-4531,-4531,-4531,-4531,
-    -4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,
-
-    -4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,
-     4704,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,
-    -4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,-4531,
-    -4531,-4531,-4531,-4531,-4531
-    },
-
-    {
-       27,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,
-    -4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,
-    -4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,
-    -4532, 4705,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,
-    -4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,-4532,
-    -4532,-4532,-4532,-4532,-4532,-4532, 4705,-4532,-4532,-4532,
-
-    -4532,-4532,-4532,-4532,-4532
-    },
-
-    {
-       27,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,
-    -4533,-4533,-4533, 4706,-4533,-4533,-4533,-4533,-4533,-4533,
-    -4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,
-    -4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,
-    -4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,
-    -4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,-4533,
-    -4533,-4533,-4533,-4533,-4533
-    },
-
-    {
-       27,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,
-    -4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,
-
-    -4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,
-    -4534,-4534, 4707,-4534,-4534,-4534,-4534,-4534,-4534,-4534,
-    -4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,-4534,
-    -4534,-4534,-4534,-4534,-4534,-4534,-4534, 4707,-4534,-4534,
-    -4534,-4534,-4534,-4534,-4534
-    },
-
-    {
-       27,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,
-    -4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,
-    -4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535, 4708,-4535,
-    -4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,
-    -4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,-4535,
-
-    -4535,-4535,-4535, 4708,-4535,-4535,-4535,-4535,-4535,-4535,
-    -4535,-4535,-4535,-4535,-4535
-    },
-
-    {
-       27,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,
-    -4536,-4536,-4536,-4536,-4536,-4536, 4709,-4536,-4536,-4536,
-    -4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,
-    -4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,
-    -4536,-4536, 4709,-4536,-4536,-4536,-4536,-4536,-4536,-4536,
-    -4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,-4536,
-    -4536,-4536,-4536,-4536,-4536
-    },
-
-    {
-       27,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,
-
-    -4537,-4537,-4537, 4710,-4537,-4537,-4537,-4537,-4537,-4537,
-    -4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,
-    -4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,
-    -4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,
-    -4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,-4537,
-    -4537,-4537,-4537,-4537,-4537
-    },
-
-    {
-       27,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,
-    -4538,-4538,-4538, 4711,-4538,-4538,-4538,-4538,-4538,-4538,
-    -4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,
-    -4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,
-
-    -4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,
-    -4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,-4538,
-    -4538,-4538,-4538,-4538,-4538
-    },
-
-    {
-       27,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,
-    -4539,-4539,-4539, 4712,-4539,-4539,-4539,-4539,-4539,-4539,
-    -4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,
-    -4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,
-    -4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,
-    -4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,-4539,
-    -4539,-4539,-4539,-4539,-4539
-
-    },
-
-    {
-       27,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,
-    -4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,
-    -4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,
-    -4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,
-    -4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,
-    -4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,-4540,
-    -4540,-4540,-4540,-4540,-4540
-    },
-
-    {
-       27,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,
-    -4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,
-    -4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,
-
-    -4541,-4541, 4713,-4541,-4541,-4541,-4541,-4541,-4541,-4541,
-    -4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,-4541,
-    -4541,-4541,-4541,-4541,-4541,-4541,-4541, 4713,-4541,-4541,
-    -4541,-4541,-4541,-4541,-4541
-    },
-
-    {
-       27,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,
-    -4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,
-    -4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,
-    -4542,-4542, 4714,-4542,-4542,-4542,-4542,-4542,-4542,-4542,
-    -4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,-4542,
-    -4542,-4542,-4542,-4542,-4542,-4542,-4542, 4714,-4542,-4542,
-
-    -4542,-4542,-4542,-4542,-4542
-    },
-
-    {
-       27,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,
-    -4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,
-    -4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,
-    -4543,-4543,-4543, 4715,-4543,-4543,-4543,-4543,-4543,-4543,
-    -4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543,
-    -4543,-4543,-4543,-4543,-4543,-4543,-4543,-4543, 4715,-4543,
-    -4543,-4543,-4543,-4543,-4543
-    },
-
-    {
-       27,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,
-    -4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,
-
-    -4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,
-    -4544,-4544,-4544, 4716,-4544,-4544,-4544,-4544,-4544,-4544,
-    -4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544,
-    -4544,-4544,-4544,-4544,-4544,-4544,-4544,-4544, 4716,-4544,
-    -4544,-4544,-4544,-4544,-4544
-    },
-
-    {
-       27,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,
-    -4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545, 4717,-4545,
-    -4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,
-    -4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,
-    -4545,-4545,-4545,-4545, 4717,-4545,-4545,-4545,-4545,-4545,
-
-    -4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,-4545,
-    -4545,-4545,-4545,-4545,-4545
-    },
-
-    {
-       27,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,
-    -4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,
-    -4546,-4546,-4546,-4546,-4546,-4546, 4718,-4546,-4546,-4546,
-    -4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,
-    -4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,
-    -4546, 4718,-4546,-4546,-4546,-4546,-4546,-4546,-4546,-4546,
-    -4546,-4546,-4546,-4546,-4546
-    },
-
-    {
-       27,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,
-
-    -4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,
-    -4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,
-    -4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,
-    -4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,
-    -4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,-4547,
-    -4547,-4547,-4547,-4547,-4547
-    },
-
-    {
-       27,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,
-    -4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,
-    -4548,-4548,-4548,-4548,-4548,-4548,-4548, 4719,-4548,-4548,
-    -4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,
-
-    -4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,-4548,
-    -4548,-4548, 4719,-4548,-4548,-4548,-4548,-4548,-4548,-4548,
-    -4548,-4548,-4548,-4548,-4548
-    },
-
-    {
-       27,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,
-    -4549,-4549,-4549, 4720,-4549,-4549,-4549,-4549,-4549,-4549,
-    -4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,
-    -4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,
-    -4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,
-    -4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,-4549,
-    -4549,-4549,-4549,-4549,-4549
-
-    },
-
-    {
-       27,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,
-    -4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,
-    -4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,
-    -4550,-4550, 4721,-4550,-4550,-4550,-4550,-4550,-4550,-4550,
-    -4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,-4550,
-    -4550,-4550,-4550,-4550,-4550,-4550,-4550, 4721,-4550,-4550,
-    -4550,-4550,-4550,-4550,-4550
-    },
-
-    {
-       27,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,
-    -4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551, 4722,-4551,
-    -4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,
-
-    -4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,
-    -4551,-4551,-4551,-4551, 4722,-4551,-4551,-4551,-4551,-4551,
-    -4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,-4551,
-    -4551,-4551,-4551,-4551,-4551
-    },
-
-    {
-       27,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,
-    -4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,
-    -4552,-4552,-4552,-4552,-4552,-4552, 4723,-4552,-4552,-4552,
-    -4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,
-    -4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,
-    -4552, 4723,-4552,-4552,-4552,-4552,-4552,-4552,-4552,-4552,
-
-    -4552,-4552,-4552,-4552,-4552
-    },
-
-    {
-       27,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,
-    -4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,
-    -4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553, 4724,-4553,
-    -4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,
-    -4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,-4553,
-    -4553,-4553,-4553, 4724,-4553,-4553,-4553,-4553,-4553,-4553,
-    -4553,-4553,-4553,-4553,-4553
-    },
-
-    {
-       27,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,
-    -4554,-4554,-4554,-4554, 4725,-4554,-4554,-4554,-4554,-4554,
-
-    -4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,
-    -4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,
-     4725,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,
-    -4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,-4554,
-    -4554,-4554,-4554,-4554,-4554
-    },
-
-    {
-       27,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,
-    -4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,
-    -4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,
-    -4555, 4726,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,
-    -4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,-4555,
-
-    -4555,-4555,-4555,-4555,-4555,-4555, 4726,-4555,-4555,-4555,
-    -4555,-4555,-4555,-4555,-4555
-    },
-
-    {
-       27,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,
-    -4556,-4556,-4556, 4727,-4556,-4556,-4556,-4556,-4556,-4556,
-    -4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,
-    -4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,
-    -4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,
-    -4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,-4556,
-    -4556,-4556,-4556,-4556,-4556
-    },
-
-    {
-       27,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,
-
-    -4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,
-    -4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,
-    -4557,-4557, 4728,-4557,-4557,-4557,-4557,-4557,-4557,-4557,
-    -4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,-4557,
-    -4557,-4557,-4557,-4557,-4557,-4557,-4557, 4728,-4557,-4557,
-    -4557,-4557,-4557,-4557,-4557
-    },
-
-    {
-       27,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,
-    -4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,
-    -4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558, 4729,-4558,
-    -4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,
-
-    -4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,-4558,
-    -4558,-4558,-4558, 4729,-4558,-4558,-4558,-4558,-4558,-4558,
-    -4558,-4558,-4558,-4558,-4558
-    },
-
-    {
-       27,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,
-    -4559,-4559,-4559,-4559,-4559,-4559, 4730,-4559,-4559,-4559,
-    -4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,
-    -4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,
-    -4559,-4559, 4730,-4559,-4559,-4559,-4559,-4559,-4559,-4559,
-    -4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,-4559,
-    -4559,-4559,-4559,-4559,-4559
-
-    },
-
-    {
-       27,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,
-    -4560,-4560,-4560, 4731,-4560,-4560,-4560,-4560,-4560,-4560,
-    -4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,
-    -4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,
-    -4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,
-    -4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,-4560,
-    -4560,-4560,-4560,-4560,-4560
-    },
-
-    {
-       27,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,
-    -4561,-4561,-4561, 4732,-4561,-4561,-4561,-4561,-4561,-4561,
-    -4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,
-
-    -4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,
-    -4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,
-    -4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,-4561,
-    -4561,-4561,-4561,-4561,-4561
-    },
-
-    {
-       27,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,
-    -4562,-4562,-4562, 4733,-4562,-4562,-4562,-4562,-4562,-4562,
-    -4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,
-    -4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,
-    -4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,
-    -4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,-4562,
-
-    -4562,-4562,-4562,-4562,-4562
-    },
-
-    {
-       27,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,
-    -4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,
-    -4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,
-    -4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,
-    -4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,
-    -4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,-4563,
-    -4563,-4563,-4563,-4563,-4563
-    },
-
-    {
-       27,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,
-    -4564,-4564,-4564, 4734,-4564,-4564,-4564,-4564,-4564,-4564,
-
-    -4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,
-    -4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,
-    -4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,
-    -4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,-4564,
-    -4564,-4564,-4564,-4564,-4564
-    },
-
-    {
-       27,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,
-    -4565,-4565,-4565, 4735,-4565,-4565,-4565,-4565,-4565,-4565,
-    -4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,
-    -4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,
-    -4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,
-
-    -4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,-4565,
-    -4565,-4565,-4565,-4565,-4565
-    },
-
-    {
-       27,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,
-    -4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,
-    -4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,
-    -4566,-4566, 4736,-4566,-4566,-4566,-4566,-4566,-4566,-4566,
-    -4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,-4566,
-    -4566,-4566,-4566,-4566,-4566,-4566,-4566, 4736,-4566,-4566,
-    -4566,-4566,-4566,-4566,-4566
-    },
-
-    {
-       27,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,
-
-    -4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,
-    -4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,
-    -4567,-4567, 4737,-4567,-4567,-4567,-4567,-4567,-4567,-4567,
-    -4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,-4567,
-    -4567,-4567,-4567,-4567,-4567,-4567,-4567, 4737,-4567,-4567,
-    -4567,-4567,-4567,-4567,-4567
-    },
-
-    {
-       27,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,
-    -4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,
-    -4568,-4568,-4568,-4568,-4568,-4568,-4568, 4738,-4568,-4568,
-    -4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,
-
-    -4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,-4568,
-    -4568,-4568, 4738,-4568,-4568,-4568,-4568,-4568,-4568,-4568,
-    -4568,-4568,-4568,-4568,-4568
-    },
-
-    {
-       27,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,
-    -4569,-4569,-4569, 4739,-4569,-4569,-4569,-4569,-4569,-4569,
-    -4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,
-    -4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,
-    -4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,
-    -4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,-4569,
-    -4569,-4569,-4569,-4569,-4569
-
-    },
-
-    {
-       27,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,
-    -4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,
-    -4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,
-    -4570,-4570,-4570, 4740,-4570,-4570,-4570,-4570,-4570,-4570,
-    -4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570,
-    -4570,-4570,-4570,-4570,-4570,-4570,-4570,-4570, 4740,-4570,
-    -4570,-4570,-4570,-4570,-4570
-    },
-
-    {
-       27, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741,-4571, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741
-    },
-
-    {
-       27,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,
-    -4572,-4572,-4572, 4742,-4572,-4572,-4572,-4572,-4572,-4572,
-    -4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,
-    -4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,
-    -4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,
-    -4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,-4572,
-
-    -4572,-4572,-4572,-4572,-4572
-    },
-
-    {
-       27,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,
-    -4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,
-    -4573,-4573,-4573,-4573,-4573,-4573,-4573, 4743,-4573,-4573,
-    -4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,
-    -4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,-4573,
-    -4573,-4573, 4743,-4573,-4573,-4573,-4573,-4573,-4573,-4573,
-    -4573,-4573,-4573,-4573,-4573
-    },
-
-    {
-       27,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,
-    -4574,-4574,-4574, 4744,-4574,-4574,-4574,-4574,-4574,-4574,
-
-    -4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,
-    -4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,
-    -4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,
-    -4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,-4574,
-    -4574,-4574,-4574,-4574,-4574
-    },
-
-    {
-       27,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,
-    -4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,
-    -4575,-4575,-4575,-4575,-4575,-4575,-4575, 4745,-4575,-4575,
-    -4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,
-    -4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,-4575,
-
-    -4575,-4575, 4745,-4575,-4575,-4575,-4575,-4575,-4575,-4575,
-    -4575,-4575,-4575,-4575,-4575
-    },
-
-    {
-       27,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,
-    -4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,
-    -4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,
-    -4576, 4746,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,
-    -4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,-4576,
-    -4576,-4576,-4576,-4576,-4576,-4576, 4746,-4576,-4576,-4576,
-    -4576,-4576,-4576,-4576,-4576
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 3643,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4578, 4747, 4747,-4578,-4578,-4578,-4578,-4578,-4578,
-    -4578,-4578, 4748,-4578,-4578,-4578,-4578,-4578,-4578,-4578,
-    -4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,
-    -4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,
-
-    -4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,
-    -4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,-4578,
-    -4578,-4578,-4578,-4578,-4578
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4749,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 4749,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 4750,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 4750,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184, 4751,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 4751,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,
-    -4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,
-    -4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,
-    -4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,
-    -4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,
-    -4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,-4582,
-
-    -4582,-4582,-4582,-4582,-4582
-    },
-
-    {
-       27,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,
-    -4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,
-    -4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,
-    -4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,
-    -4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,
-    -4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,-4583,
-    -4583,-4583,-4583,-4583,-4583
-    },
-
-    {
-       27,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,
-    -4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,
-
-    -4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,
-    -4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,
-    -4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,
-    -4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,-4584,
-    -4584,-4584,-4584,-4584,-4584
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 4752,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     4752,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,
-    -4586,-4586,-4586, 4753,-4586,-4586,-4586,-4586,-4586,-4586,
-    -4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,
-    -4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,
-    -4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,
-    -4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,-4586,
-    -4586,-4586,-4586,-4586,-4586
-    },
-
-    {
-       27,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,
-
-    -4587,-4587,-4587, 4754,-4587,-4587,-4587,-4587,-4587,-4587,
-    -4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,
-    -4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,
-    -4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,
-    -4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,-4587,
-    -4587,-4587,-4587,-4587,-4587
-    },
-
-    {
-       27,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,
-    -4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,
-    -4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,
-    -4588,-4588, 4755,-4588,-4588,-4588,-4588,-4588,-4588,-4588,
-
-    -4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,-4588,
-    -4588,-4588,-4588,-4588,-4588,-4588,-4588, 4755,-4588,-4588,
-    -4588,-4588,-4588,-4588,-4588
-    },
-
-    {
-       27,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,
-    -4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,
-    -4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,
-    -4589,-4589, 4756,-4589,-4589,-4589,-4589,-4589,-4589,-4589,
-    -4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,-4589,
-    -4589,-4589,-4589,-4589,-4589,-4589,-4589, 4756,-4589,-4589,
-    -4589,-4589,-4589,-4589,-4589
-
-    },
-
-    {
-       27,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,
-    -4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,
-    -4590,-4590,-4590,-4590,-4590,-4590,-4590, 4757,-4590,-4590,
-    -4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,
-    -4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,-4590,
-    -4590,-4590, 4757,-4590,-4590,-4590,-4590,-4590,-4590,-4590,
-    -4590,-4590,-4590,-4590,-4590
-    },
-
-    {
-       27,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,
-    -4591,-4591,-4591, 4758,-4591,-4591,-4591,-4591,-4591,-4591,
-    -4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,
-
-    -4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,
-    -4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,
-    -4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,-4591,
-    -4591,-4591,-4591,-4591,-4591
-    },
-
-    {
-       27,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,
-    -4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,
-    -4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,
-    -4592,-4592,-4592, 4759,-4592,-4592,-4592,-4592,-4592,-4592,
-    -4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592,
-    -4592,-4592,-4592,-4592,-4592,-4592,-4592,-4592, 4759,-4592,
-
-    -4592,-4592,-4592,-4592,-4592
-    },
-
-    {
-       27, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760,-4593, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760
-    },
-
-    {
-       27,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,
-    -4594,-4594,-4594, 4761,-4594,-4594,-4594,-4594,-4594,-4594,
-
-    -4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,
-    -4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,
-    -4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,
-    -4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,-4594,
-    -4594,-4594,-4594,-4594,-4594
-    },
-
-    {
-       27,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,
-    -4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,
-    -4595,-4595,-4595,-4595,-4595,-4595,-4595, 4762,-4595,-4595,
-    -4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,
-    -4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,-4595,
-
-    -4595,-4595, 4762,-4595,-4595,-4595,-4595,-4595,-4595,-4595,
-    -4595,-4595,-4595,-4595,-4595
-    },
-
-    {
-       27,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,
-    -4596,-4596,-4596, 4763,-4596,-4596,-4596,-4596,-4596,-4596,
-    -4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,
-    -4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,
-    -4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,
-    -4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,-4596,
-    -4596,-4596,-4596,-4596,-4596
-    },
-
-    {
-       27,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,
-
-    -4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,
-    -4597,-4597,-4597,-4597,-4597,-4597,-4597, 4764,-4597,-4597,
-    -4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,
-    -4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,-4597,
-    -4597,-4597, 4764,-4597,-4597,-4597,-4597,-4597,-4597,-4597,
-    -4597,-4597,-4597,-4597,-4597
-    },
-
-    {
-       27,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,
-    -4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,
-    -4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,
-    -4598, 4765,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,
-
-    -4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,-4598,
-    -4598,-4598,-4598,-4598,-4598,-4598, 4765,-4598,-4598,-4598,
-    -4598,-4598,-4598,-4598,-4598
-    },
-
-    {
-       27,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599, 3677,
-    -4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,
-    -4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,
-    -4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,
-    -4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,
-    -4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,-4599,
-    -4599,-4599,-4599,-4599,-4599
-
-    },
-
-    {
-       27,-4600, 4766, 4766,-4600,-4600,-4600,-4600,-4600,-4600,
-    -4600,-4600, 4767,-4600,-4600,-4600,-4600,-4600,-4600,-4600,
-    -4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,
-    -4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,
-    -4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,
-    -4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,-4600,
-    -4600,-4600,-4600,-4600,-4600
-    },
-
-    {
-       27,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,
-    -4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,
-    -4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,
-
-    -4601,-4601,-4601, 4768,-4601,-4601,-4601,-4601,-4601,-4601,
-    -4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601,
-    -4601,-4601,-4601,-4601,-4601,-4601,-4601,-4601, 4768,-4601,
-    -4601,-4601,-4601,-4601,-4601
-    },
-
-    {
-       27,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,
-    -4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,
-    -4602,-4602,-4602,-4602,-4602,-4602,-4602, 4769,-4602,-4602,
-    -4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,
-    -4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,-4602,
-    -4602,-4602, 4769,-4602,-4602,-4602,-4602,-4602,-4602,-4602,
-
-    -4602,-4602,-4602,-4602,-4602
-    },
-
-    {
-       27,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,
-    -4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,
-    -4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,
-    -4603,-4603,-4603, 4770,-4603,-4603,-4603,-4603,-4603,-4603,
-    -4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603,
-    -4603,-4603,-4603,-4603,-4603,-4603,-4603,-4603, 4770,-4603,
-    -4603,-4603,-4603,-4603,-4603
-    },
-
-    {
-       27,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,
-    -4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,
-
-    -4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,
-    -4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,
-    -4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,
-    -4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,-4604,
-    -4604,-4604,-4604,-4604,-4604
-    },
-
-    {
-       27,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,
-    -4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,
-    -4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,
-    -4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,
-    -4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,
-
-    -4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,-4605,
-    -4605,-4605,-4605,-4605,-4605
-    },
-
-    {
-       27,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,
-    -4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,
-    -4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,
-    -4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,
-    -4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,
-    -4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,-4606,
-    -4606,-4606,-4606,-4606,-4606
-    },
-
-    {
-       27,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,
-
-    -4607,-4607,-4607, 4771,-4607,-4607,-4607,-4607,-4607,-4607,
-    -4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,
-    -4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,
-    -4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,
-    -4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,-4607,
-    -4607,-4607,-4607,-4607,-4607
-    },
-
-    {
-       27,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,
-    -4608,-4608,-4608, 4772,-4608,-4608,-4608,-4608,-4608,-4608,
-    -4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,
-    -4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,
-
-    -4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,
-    -4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,-4608,
-    -4608,-4608,-4608,-4608,-4608
-    },
-
-    {
-       27,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,
-    -4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,
-    -4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,
-    -4609,-4609, 4773,-4609,-4609,-4609,-4609,-4609,-4609,-4609,
-    -4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,-4609,
-    -4609,-4609,-4609,-4609,-4609,-4609,-4609, 4773,-4609,-4609,
-    -4609,-4609,-4609,-4609,-4609
-
-    },
-
-    {
-       27,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,
-    -4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,
-    -4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,
-    -4610,-4610, 4774,-4610,-4610,-4610,-4610,-4610,-4610,-4610,
-    -4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,-4610,
-    -4610,-4610,-4610,-4610,-4610,-4610,-4610, 4774,-4610,-4610,
-    -4610,-4610,-4610,-4610,-4610
-    },
-
-    {
-       27,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,
-    -4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,
-    -4611,-4611,-4611,-4611,-4611,-4611,-4611, 4775,-4611,-4611,
-
-    -4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,
-    -4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,-4611,
-    -4611,-4611, 4775,-4611,-4611,-4611,-4611,-4611,-4611,-4611,
-    -4611,-4611,-4611,-4611,-4611
-    },
-
-    {
-       27,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,
-    -4612,-4612,-4612, 4776,-4612,-4612,-4612,-4612,-4612,-4612,
-    -4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,
-    -4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,
-    -4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,
-    -4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,-4612,
-
-    -4612,-4612,-4612,-4612,-4612
-    },
-
-    {
-       27,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,
-    -4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,
-    -4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,
-    -4613,-4613,-4613, 4777,-4613,-4613,-4613,-4613,-4613,-4613,
-    -4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613,
-    -4613,-4613,-4613,-4613,-4613,-4613,-4613,-4613, 4777,-4613,
-    -4613,-4613,-4613,-4613,-4613
-    },
-
-    {
-       27, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778,-4614, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778
-    },
-
-    {
-       27,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,
-    -4615,-4615,-4615, 4779,-4615,-4615,-4615,-4615,-4615,-4615,
-    -4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,
-    -4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,
-    -4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,
-
-    -4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,-4615,
-    -4615,-4615,-4615,-4615,-4615
-    },
-
-    {
-       27,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,
-    -4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,
-    -4616,-4616,-4616,-4616,-4616,-4616,-4616, 4780,-4616,-4616,
-    -4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,
-    -4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,-4616,
-    -4616,-4616, 4780,-4616,-4616,-4616,-4616,-4616,-4616,-4616,
-    -4616,-4616,-4616,-4616,-4616
-    },
-
-    {
-       27,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,
-
-    -4617,-4617,-4617, 4781,-4617,-4617,-4617,-4617,-4617,-4617,
-    -4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,
-    -4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,
-    -4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,
-    -4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,-4617,
-    -4617,-4617,-4617,-4617,-4617
-    },
-
-    {
-       27,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,
-    -4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,
-    -4618,-4618,-4618,-4618,-4618,-4618,-4618, 4782,-4618,-4618,
-    -4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,
-
-    -4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,-4618,
-    -4618,-4618, 4782,-4618,-4618,-4618,-4618,-4618,-4618,-4618,
-    -4618,-4618,-4618,-4618,-4618
-    },
-
-    {
-       27,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,
-    -4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,
-    -4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,
-    -4619, 4783,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,
-    -4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,-4619,
-    -4619,-4619,-4619,-4619,-4619,-4619, 4783,-4619,-4619,-4619,
-    -4619,-4619,-4619,-4619,-4619
-
-    },
-
-    {
-       27,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620, 3710,
-    -4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,
-    -4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,
-    -4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,
-    -4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,
-    -4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,-4620,
-    -4620,-4620,-4620,-4620,-4620
-    },
-
-    {
-       27,-4621, 4784, 4784,-4621,-4621,-4621,-4621,-4621,-4621,
-    -4621,-4621, 4785,-4621,-4621,-4621,-4621,-4621,-4621,-4621,
-    -4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,
-
-    -4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,
-    -4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,
-    -4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,-4621,
-    -4621,-4621,-4621,-4621,-4621
-    },
-
-    {
-       27,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,
-    -4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,
-    -4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,
-    -4622,-4622,-4622, 4786,-4622,-4622,-4622,-4622,-4622,-4622,
-    -4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622,
-    -4622,-4622,-4622,-4622,-4622,-4622,-4622,-4622, 4786,-4622,
-
-    -4622,-4622,-4622,-4622,-4622
-    },
-
-    {
-       27,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,
-    -4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,
-    -4623,-4623,-4623,-4623,-4623,-4623,-4623, 4787,-4623,-4623,
-    -4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,
-    -4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,-4623,
-    -4623,-4623, 4787,-4623,-4623,-4623,-4623,-4623,-4623,-4623,
-    -4623,-4623,-4623,-4623,-4623
-    },
-
-    {
-       27,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,
-    -4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,
-
-    -4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,
-    -4624,-4624,-4624, 4788,-4624,-4624,-4624,-4624,-4624,-4624,
-    -4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624,
-    -4624,-4624,-4624,-4624,-4624,-4624,-4624,-4624, 4788,-4624,
-    -4624,-4624,-4624,-4624,-4624
-    },
-
-    {
-       27,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,
-    -4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,
-    -4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,
-    -4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,
-    -4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,
-
-    -4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,-4625,
-    -4625,-4625,-4625,-4625,-4625
-    },
-
-    {
-       27,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,
-    -4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,
-    -4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,
-    -4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,
-    -4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,
-    -4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,-4626,
-    -4626,-4626,-4626,-4626,-4626
-    },
-
-    {
-       27,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,
-
-    -4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,
-    -4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,
-    -4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,
-    -4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,
-    -4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,-4627,
-    -4627,-4627,-4627,-4627,-4627
-    },
-
-    {
-       27,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,
-    -4628,-4628,-4628, 4789,-4628,-4628,-4628,-4628,-4628,-4628,
-    -4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,
-    -4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,
-
-    -4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,
-    -4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,-4628,
-    -4628,-4628,-4628,-4628,-4628
-    },
-
-    {
-       27,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,
-    -4629,-4629,-4629, 4790,-4629,-4629,-4629,-4629,-4629,-4629,
-    -4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,
-    -4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,
-    -4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,
-    -4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,-4629,
-    -4629,-4629,-4629,-4629,-4629
-
-    },
-
-    {
-       27,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,
-    -4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,
-    -4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,
-    -4630,-4630, 4791,-4630,-4630,-4630,-4630,-4630,-4630,-4630,
-    -4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,-4630,
-    -4630,-4630,-4630,-4630,-4630,-4630,-4630, 4791,-4630,-4630,
-    -4630,-4630,-4630,-4630,-4630
-    },
-
-    {
-       27,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,
-    -4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,
-    -4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,
-
-    -4631,-4631, 4792,-4631,-4631,-4631,-4631,-4631,-4631,-4631,
-    -4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,-4631,
-    -4631,-4631,-4631,-4631,-4631,-4631,-4631, 4792,-4631,-4631,
-    -4631,-4631,-4631,-4631,-4631
-    },
-
-    {
-       27,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,
-    -4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,
-    -4632,-4632,-4632,-4632,-4632,-4632,-4632, 4793,-4632,-4632,
-    -4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,
-    -4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,-4632,
-    -4632,-4632, 4793,-4632,-4632,-4632,-4632,-4632,-4632,-4632,
-
-    -4632,-4632,-4632,-4632,-4632
-    },
-
-    {
-       27,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,
-    -4633,-4633,-4633, 4794,-4633,-4633,-4633,-4633,-4633,-4633,
-    -4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,
-    -4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,
-    -4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,
-    -4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,-4633,
-    -4633,-4633,-4633,-4633,-4633
-    },
-
-    {
-       27,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,
-    -4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,
-
-    -4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,
-    -4634,-4634,-4634, 4795,-4634,-4634,-4634,-4634,-4634,-4634,
-    -4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634,
-    -4634,-4634,-4634,-4634,-4634,-4634,-4634,-4634, 4795,-4634,
-    -4634,-4634,-4634,-4634,-4634
-    },
-
-    {
-       27, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796,-4635, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796
-    },
-
-    {
-       27,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,
-    -4636,-4636,-4636, 4797,-4636,-4636,-4636,-4636,-4636,-4636,
-    -4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,
-    -4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,
-    -4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,
-    -4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,-4636,
-    -4636,-4636,-4636,-4636,-4636
-    },
-
-    {
-       27,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,
-
-    -4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,
-    -4637,-4637,-4637,-4637,-4637,-4637,-4637, 4798,-4637,-4637,
-    -4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,
-    -4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,-4637,
-    -4637,-4637, 4798,-4637,-4637,-4637,-4637,-4637,-4637,-4637,
-    -4637,-4637,-4637,-4637,-4637
-    },
-
-    {
-       27,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,
-    -4638,-4638,-4638, 4799,-4638,-4638,-4638,-4638,-4638,-4638,
-    -4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,
-    -4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,
-
-    -4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,
-    -4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,-4638,
-    -4638,-4638,-4638,-4638,-4638
-    },
-
-    {
-       27,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,
-    -4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,
-    -4639,-4639,-4639,-4639,-4639,-4639,-4639, 4800,-4639,-4639,
-    -4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,
-    -4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,-4639,
-    -4639,-4639, 4800,-4639,-4639,-4639,-4639,-4639,-4639,-4639,
-    -4639,-4639,-4639,-4639,-4639
-
-    },
-
-    {
-       27,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,
-    -4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,
-    -4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,
-    -4640, 4801,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,
-    -4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,-4640,
-    -4640,-4640,-4640,-4640,-4640,-4640, 4801,-4640,-4640,-4640,
-    -4640,-4640,-4640,-4640,-4640
-    },
-
-    {
-       27,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641, 3743,
-    -4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,
-    -4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,
-
-    -4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,
-    -4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,
-    -4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,-4641,
-    -4641,-4641,-4641,-4641,-4641
-    },
-
-    {
-       27,-4642, 4802, 4802,-4642,-4642,-4642,-4642,-4642,-4642,
-    -4642,-4642, 4803,-4642,-4642,-4642,-4642,-4642,-4642,-4642,
-    -4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,
-    -4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,
-    -4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,
-    -4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,-4642,
-
-    -4642,-4642,-4642,-4642,-4642
-    },
-
-    {
-       27,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,
-    -4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,
-    -4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,
-    -4643,-4643,-4643, 4804,-4643,-4643,-4643,-4643,-4643,-4643,
-    -4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643,
-    -4643,-4643,-4643,-4643,-4643,-4643,-4643,-4643, 4804,-4643,
-    -4643,-4643,-4643,-4643,-4643
-    },
-
-    {
-       27,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,
-    -4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,
-
-    -4644,-4644,-4644,-4644,-4644,-4644,-4644, 4805,-4644,-4644,
-    -4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,
-    -4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,-4644,
-    -4644,-4644, 4805,-4644,-4644,-4644,-4644,-4644,-4644,-4644,
-    -4644,-4644,-4644,-4644,-4644
-    },
-
-    {
-       27,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,
-    -4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,
-    -4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,
-    -4645,-4645,-4645, 4806,-4645,-4645,-4645,-4645,-4645,-4645,
-    -4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645,
-
-    -4645,-4645,-4645,-4645,-4645,-4645,-4645,-4645, 4806,-4645,
-    -4645,-4645,-4645,-4645,-4645
-    },
-
-    {
-       27,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,
-    -4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,
-    -4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,
-    -4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,
-    -4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,
-    -4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,-4646,
-    -4646,-4646,-4646,-4646,-4646
-    },
-
-    {
-       27,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,
-
-    -4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,
-    -4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,
-    -4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,
-    -4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,
-    -4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,-4647,
-    -4647,-4647,-4647,-4647,-4647
-    },
-
-    {
-       27,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,
-    -4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,
-    -4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,
-    -4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,
-
-    -4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,
-    -4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,-4648,
-    -4648,-4648,-4648,-4648,-4648
-    },
-
-    {
-       27,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,
-    -4649,-4649,-4649, 4807,-4649,-4649,-4649,-4649,-4649,-4649,
-    -4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,
-    -4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,
-    -4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,
-    -4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,-4649,
-    -4649,-4649,-4649,-4649,-4649
-
-    },
-
-    {
-       27,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,
-    -4650,-4650,-4650, 4808,-4650,-4650,-4650,-4650,-4650,-4650,
-    -4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,
-    -4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,
-    -4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,
-    -4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,-4650,
-    -4650,-4650,-4650,-4650,-4650
-    },
-
-    {
-       27,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,
-    -4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,
-    -4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,
-
-    -4651,-4651, 4809,-4651,-4651,-4651,-4651,-4651,-4651,-4651,
-    -4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,-4651,
-    -4651,-4651,-4651,-4651,-4651,-4651,-4651, 4809,-4651,-4651,
-    -4651,-4651,-4651,-4651,-4651
-    },
-
-    {
-       27,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,
-    -4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,
-    -4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,
-    -4652,-4652, 4810,-4652,-4652,-4652,-4652,-4652,-4652,-4652,
-    -4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,-4652,
-    -4652,-4652,-4652,-4652,-4652,-4652,-4652, 4810,-4652,-4652,
-
-    -4652,-4652,-4652,-4652,-4652
-    },
-
-    {
-       27,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,
-    -4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,
-    -4653,-4653,-4653,-4653,-4653,-4653,-4653, 4811,-4653,-4653,
-    -4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,
-    -4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,-4653,
-    -4653,-4653, 4811,-4653,-4653,-4653,-4653,-4653,-4653,-4653,
-    -4653,-4653,-4653,-4653,-4653
-    },
-
-    {
-       27,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,
-    -4654,-4654,-4654, 4812,-4654,-4654,-4654,-4654,-4654,-4654,
-
-    -4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,
-    -4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,
-    -4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,
-    -4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,-4654,
-    -4654,-4654,-4654,-4654,-4654
-    },
-
-    {
-       27,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,
-    -4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,
-    -4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,
-    -4655,-4655,-4655, 4813,-4655,-4655,-4655,-4655,-4655,-4655,
-    -4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655,
-
-    -4655,-4655,-4655,-4655,-4655,-4655,-4655,-4655, 4813,-4655,
-    -4655,-4655,-4655,-4655,-4655
-    },
-
-    {
-       27, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814,-4656, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814
-    },
-
-    {
-       27,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,
-
-    -4657,-4657,-4657, 4815,-4657,-4657,-4657,-4657,-4657,-4657,
-    -4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,
-    -4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,
-    -4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,
-    -4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,-4657,
-    -4657,-4657,-4657,-4657,-4657
-    },
-
-    {
-       27,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,
-    -4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,
-    -4658,-4658,-4658,-4658,-4658,-4658,-4658, 4816,-4658,-4658,
-    -4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,
-
-    -4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,-4658,
-    -4658,-4658, 4816,-4658,-4658,-4658,-4658,-4658,-4658,-4658,
-    -4658,-4658,-4658,-4658,-4658
-    },
-
-    {
-       27,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,
-    -4659,-4659,-4659, 4817,-4659,-4659,-4659,-4659,-4659,-4659,
-    -4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,
-    -4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,
-    -4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,
-    -4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,-4659,
-    -4659,-4659,-4659,-4659,-4659
-
-    },
-
-    {
-       27,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,
-    -4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,
-    -4660,-4660,-4660,-4660,-4660,-4660,-4660, 4818,-4660,-4660,
-    -4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,
-    -4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,-4660,
-    -4660,-4660, 4818,-4660,-4660,-4660,-4660,-4660,-4660,-4660,
-    -4660,-4660,-4660,-4660,-4660
-    },
-
-    {
-       27,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,
-    -4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,
-    -4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,
-
-    -4661, 4819,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,
-    -4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,-4661,
-    -4661,-4661,-4661,-4661,-4661,-4661, 4819,-4661,-4661,-4661,
-    -4661,-4661,-4661,-4661,-4661
-    },
-
-    {
-       27,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662, 3777,
-    -4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,
-    -4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,
-    -4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,
-    -4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,
-    -4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,-4662,
-
-    -4662,-4662,-4662,-4662,-4662
-    },
-
-    {
-       27,-4663, 4820, 4820,-4663,-4663,-4663,-4663,-4663,-4663,
-    -4663,-4663, 4821,-4663,-4663,-4663,-4663,-4663,-4663,-4663,
-    -4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,
-    -4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,
-    -4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,
-    -4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,-4663,
-    -4663,-4663,-4663,-4663,-4663
-    },
-
-    {
-       27,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,
-    -4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,
-
-    -4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,
-    -4664,-4664,-4664, 4822,-4664,-4664,-4664,-4664,-4664,-4664,
-    -4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664,
-    -4664,-4664,-4664,-4664,-4664,-4664,-4664,-4664, 4822,-4664,
-    -4664,-4664,-4664,-4664,-4664
-    },
-
-    {
-       27,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,
-    -4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,
-    -4665,-4665,-4665,-4665,-4665,-4665,-4665, 4823,-4665,-4665,
-    -4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,
-    -4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,-4665,
-
-    -4665,-4665, 4823,-4665,-4665,-4665,-4665,-4665,-4665,-4665,
-    -4665,-4665,-4665,-4665,-4665
-    },
-
-    {
-       27,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,
-    -4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,
-    -4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,
-    -4666,-4666,-4666, 4824,-4666,-4666,-4666,-4666,-4666,-4666,
-    -4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666,
-    -4666,-4666,-4666,-4666,-4666,-4666,-4666,-4666, 4824,-4666,
-    -4666,-4666,-4666,-4666,-4666
-    },
-
-    {
-       27,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,
-
-    -4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,
-    -4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,
-    -4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,
-    -4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,
-    -4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,-4667,
-    -4667,-4667,-4667,-4667,-4667
-    },
-
-    {
-       27,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,
-    -4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,
-    -4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,
-    -4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,
-
-    -4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,
-    -4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,-4668,
-    -4668,-4668,-4668,-4668,-4668
-    },
-
-    {
-       27,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,
-    -4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,
-    -4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,
-    -4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,
-    -4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,
-    -4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,-4669,
-    -4669,-4669,-4669,-4669,-4669
-
-    },
-
-    {
-       27,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,
-    -4670,-4670,-4670, 4825,-4670,-4670,-4670,-4670,-4670,-4670,
-    -4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,
-    -4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,
-    -4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,
-    -4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,-4670,
-    -4670,-4670,-4670,-4670,-4670
-    },
-
-    {
-       27,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,
-    -4671,-4671,-4671, 4826,-4671,-4671,-4671,-4671,-4671,-4671,
-    -4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,
-
-    -4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,
-    -4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,
-    -4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,-4671,
-    -4671,-4671,-4671,-4671,-4671
-    },
-
-    {
-       27,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,
-    -4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,
-    -4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,
-    -4672,-4672, 4827,-4672,-4672,-4672,-4672,-4672,-4672,-4672,
-    -4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,-4672,
-    -4672,-4672,-4672,-4672,-4672,-4672,-4672, 4827,-4672,-4672,
-
-    -4672,-4672,-4672,-4672,-4672
-    },
-
-    {
-       27,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,
-    -4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,
-    -4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,
-    -4673,-4673, 4828,-4673,-4673,-4673,-4673,-4673,-4673,-4673,
-    -4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,-4673,
-    -4673,-4673,-4673,-4673,-4673,-4673,-4673, 4828,-4673,-4673,
-    -4673,-4673,-4673,-4673,-4673
-    },
-
-    {
-       27,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,
-    -4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,
-
-    -4674,-4674,-4674,-4674,-4674,-4674,-4674, 4829,-4674,-4674,
-    -4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,
-    -4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,-4674,
-    -4674,-4674, 4829,-4674,-4674,-4674,-4674,-4674,-4674,-4674,
-    -4674,-4674,-4674,-4674,-4674
-    },
-
-    {
-       27,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,
-    -4675,-4675,-4675, 4830,-4675,-4675,-4675,-4675,-4675,-4675,
-    -4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,
-    -4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,
-    -4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,
-
-    -4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,-4675,
-    -4675,-4675,-4675,-4675,-4675
-    },
-
-    {
-       27,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,
-    -4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,
-    -4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,
-    -4676,-4676,-4676, 4831,-4676,-4676,-4676,-4676,-4676,-4676,
-    -4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676,
-    -4676,-4676,-4676,-4676,-4676,-4676,-4676,-4676, 4831,-4676,
-    -4676,-4676,-4676,-4676,-4676
-    },
-
-    {
-       27, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-
-     4832, 4832,-4677, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832
-    },
-
-    {
-       27,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,
-    -4678,-4678,-4678, 4833,-4678,-4678,-4678,-4678,-4678,-4678,
-    -4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,
-    -4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,
-
-    -4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,
-    -4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,-4678,
-    -4678,-4678,-4678,-4678,-4678
-    },
-
-    {
-       27,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,
-    -4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,
-    -4679,-4679,-4679,-4679,-4679,-4679,-4679, 4834,-4679,-4679,
-    -4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,
-    -4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,-4679,
-    -4679,-4679, 4834,-4679,-4679,-4679,-4679,-4679,-4679,-4679,
-    -4679,-4679,-4679,-4679,-4679
-
-    },
-
-    {
-       27,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,
-    -4680,-4680,-4680, 4835,-4680,-4680,-4680,-4680,-4680,-4680,
-    -4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,
-    -4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,
-    -4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,
-    -4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,-4680,
-    -4680,-4680,-4680,-4680,-4680
-    },
-
-    {
-       27,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,
-    -4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,
-    -4681,-4681,-4681,-4681,-4681,-4681,-4681, 4836,-4681,-4681,
-
-    -4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,
-    -4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,-4681,
-    -4681,-4681, 4836,-4681,-4681,-4681,-4681,-4681,-4681,-4681,
-    -4681,-4681,-4681,-4681,-4681
-    },
-
-    {
-       27,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,
-    -4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,
-    -4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,
-    -4682, 4837,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,
-    -4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,-4682,
-    -4682,-4682,-4682,-4682,-4682,-4682, 4837,-4682,-4682,-4682,
-
-    -4682,-4682,-4682,-4682,-4682
-    },
-
-    {
-       27,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683, 3811,
-    -4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,
-    -4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,
-    -4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,
-    -4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,
-    -4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,-4683,
-    -4683,-4683,-4683,-4683,-4683
-    },
-
-    {
-       27,-4684, 4838, 4838,-4684,-4684,-4684,-4684,-4684,-4684,
-    -4684,-4684, 4839,-4684,-4684,-4684,-4684,-4684,-4684,-4684,
-
-    -4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,
-    -4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,
-    -4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,
-    -4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,-4684,
-    -4684,-4684,-4684,-4684,-4684
-    },
-
-    {
-       27,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,
-    -4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,
-    -4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,
-    -4685,-4685,-4685, 4840,-4685,-4685,-4685,-4685,-4685,-4685,
-    -4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685,
-
-    -4685,-4685,-4685,-4685,-4685,-4685,-4685,-4685, 4840,-4685,
-    -4685,-4685,-4685,-4685,-4685
-    },
-
-    {
-       27,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,
-    -4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,
-    -4686,-4686,-4686,-4686,-4686,-4686,-4686, 4841,-4686,-4686,
-    -4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,
-    -4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,-4686,
-    -4686,-4686, 4841,-4686,-4686,-4686,-4686,-4686,-4686,-4686,
-    -4686,-4686,-4686,-4686,-4686
-    },
-
-    {
-       27,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,
-
-    -4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,
-    -4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,
-    -4687,-4687,-4687, 4842,-4687,-4687,-4687,-4687,-4687,-4687,
-    -4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687,
-    -4687,-4687,-4687,-4687,-4687,-4687,-4687,-4687, 4842,-4687,
-    -4687,-4687,-4687,-4687,-4687
-    },
-
-    {
-       27,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,
-    -4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,
-    -4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,
-    -4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,
-
-    -4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,
-    -4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,-4688,
-    -4688,-4688,-4688,-4688,-4688
-    },
-
-    {
-       27,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,
-    -4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,
-    -4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,
-    -4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,
-    -4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,
-    -4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,-4689,
-    -4689,-4689,-4689,-4689,-4689
-
-    },
-
-    {
-       27,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,
-    -4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,
-    -4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,
-    -4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,
-    -4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,
-    -4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,-4690,
-    -4690,-4690,-4690,-4690,-4690
-    },
-
-    {
-       27,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,
-    -4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,
-    -4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,
-
-    -4691,-4691,-4691, 4843,-4691,-4691,-4691,-4691,-4691,-4691,
-    -4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691,
-    -4691,-4691,-4691,-4691,-4691,-4691,-4691,-4691, 4843,-4691,
-    -4691,-4691,-4691,-4691,-4691
-    },
-
-    {
-       27,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,
-    -4692,-4692,-4692, 4844,-4692,-4692,-4692,-4692,-4692,-4692,
-    -4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,
-    -4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,
-    -4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,
-    -4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,-4692,
-
-    -4692,-4692,-4692,-4692,-4692
-    },
-
-    {
-       27,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,
-    -4693,-4693,-4693, 4845,-4693,-4693,-4693,-4693,-4693,-4693,
-    -4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,
-    -4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,
-    -4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,
-    -4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,-4693,
-    -4693,-4693,-4693,-4693,-4693
-    },
-
-    {
-       27,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,
-    -4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,
-
-    -4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,
-    -4694,-4694, 4846,-4694,-4694,-4694,-4694,-4694,-4694,-4694,
-    -4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,-4694,
-    -4694,-4694,-4694,-4694,-4694,-4694,-4694, 4846,-4694,-4694,
-    -4694,-4694,-4694,-4694,-4694
-    },
-
-    {
-       27,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,
-    -4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,
-    -4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,
-    -4695,-4695, 4847,-4695,-4695,-4695,-4695,-4695,-4695,-4695,
-    -4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,-4695,
-
-    -4695,-4695,-4695,-4695,-4695,-4695,-4695, 4847,-4695,-4695,
-    -4695,-4695,-4695,-4695,-4695
-    },
-
-    {
-       27,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,
-    -4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,
-    -4696,-4696,-4696,-4696,-4696,-4696,-4696, 4848,-4696,-4696,
-    -4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,
-    -4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,-4696,
-    -4696,-4696, 4848,-4696,-4696,-4696,-4696,-4696,-4696,-4696,
-    -4696,-4696,-4696,-4696,-4696
-    },
-
-    {
-       27,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,
-
-    -4697,-4697,-4697, 4849,-4697,-4697,-4697,-4697,-4697,-4697,
-    -4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,
-    -4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,
-    -4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,
-    -4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,-4697,
-    -4697,-4697,-4697,-4697,-4697
-    },
-
-    {
-       27,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,
-    -4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,
-    -4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,
-    -4698,-4698,-4698, 4850,-4698,-4698,-4698,-4698,-4698,-4698,
-
-    -4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698,
-    -4698,-4698,-4698,-4698,-4698,-4698,-4698,-4698, 4850,-4698,
-    -4698,-4698,-4698,-4698,-4698
-    },
-
-    {
-       27, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851,-4699, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851
-
-    },
-
-    {
-       27,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,
-    -4700,-4700,-4700, 4852,-4700,-4700,-4700,-4700,-4700,-4700,
-    -4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,
-    -4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,
-    -4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,
-    -4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,-4700,
-    -4700,-4700,-4700,-4700,-4700
-    },
-
-    {
-       27,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,
-    -4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,
-    -4701,-4701,-4701,-4701,-4701,-4701,-4701, 4853,-4701,-4701,
-
-    -4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,
-    -4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,-4701,
-    -4701,-4701, 4853,-4701,-4701,-4701,-4701,-4701,-4701,-4701,
-    -4701,-4701,-4701,-4701,-4701
-    },
-
-    {
-       27,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,
-    -4702,-4702,-4702, 4854,-4702,-4702,-4702,-4702,-4702,-4702,
-    -4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,
-    -4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,
-    -4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,
-    -4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,-4702,
-
-    -4702,-4702,-4702,-4702,-4702
-    },
-
-    {
-       27,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,
-    -4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,
-    -4703,-4703,-4703,-4703,-4703,-4703,-4703, 4855,-4703,-4703,
-    -4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,
-    -4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,-4703,
-    -4703,-4703, 4855,-4703,-4703,-4703,-4703,-4703,-4703,-4703,
-    -4703,-4703,-4703,-4703,-4703
-    },
-
-    {
-       27,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,
-    -4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,
-
-    -4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,
-    -4704, 4856,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,
-    -4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,-4704,
-    -4704,-4704,-4704,-4704,-4704,-4704, 4856,-4704,-4704,-4704,
-    -4704,-4704,-4704,-4704,-4704
-    },
-
-    {
-       27,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705, 3845,
-    -4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,
-    -4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,
-    -4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,
-    -4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,
-
-    -4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,-4705,
-    -4705,-4705,-4705,-4705,-4705
-    },
-
-    {
-       27,-4706, 4857, 4857,-4706,-4706,-4706,-4706,-4706,-4706,
-    -4706,-4706, 4858,-4706,-4706,-4706,-4706,-4706,-4706,-4706,
-    -4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,
-    -4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,
-    -4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,
-    -4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,-4706,
-    -4706,-4706,-4706,-4706,-4706
-    },
-
-    {
-       27,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,
-
-    -4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,
-    -4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,
-    -4707,-4707,-4707, 4859,-4707,-4707,-4707,-4707,-4707,-4707,
-    -4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707,
-    -4707,-4707,-4707,-4707,-4707,-4707,-4707,-4707, 4859,-4707,
-    -4707,-4707,-4707,-4707,-4707
-    },
-
-    {
-       27,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,
-    -4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,
-    -4708,-4708,-4708,-4708,-4708,-4708,-4708, 4860,-4708,-4708,
-    -4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,
-
-    -4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,-4708,
-    -4708,-4708, 4860,-4708,-4708,-4708,-4708,-4708,-4708,-4708,
-    -4708,-4708,-4708,-4708,-4708
-    },
-
-    {
-       27,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,
-    -4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,
-    -4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,
-    -4709,-4709,-4709, 4861,-4709,-4709,-4709,-4709,-4709,-4709,
-    -4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709,
-    -4709,-4709,-4709,-4709,-4709,-4709,-4709,-4709, 4861,-4709,
-    -4709,-4709,-4709,-4709,-4709
-
-    },
-
-    {
-       27,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,
-    -4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,
-    -4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,
-    -4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,
-    -4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,
-    -4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,-4710,
-    -4710,-4710,-4710,-4710,-4710
-    },
-
-    {
-       27,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,
-    -4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,
-    -4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,
-
-    -4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,
-    -4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,
-    -4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,-4711,
-    -4711,-4711,-4711,-4711,-4711
-    },
-
-    {
-       27,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,
-    -4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,
-    -4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,
-    -4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,
-    -4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,
-    -4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,-4712,
-
-    -4712,-4712,-4712,-4712,-4712
-    },
-
-    {
-       27,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,
-    -4713,-4713,-4713, 4862,-4713,-4713,-4713,-4713,-4713,-4713,
-    -4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,
-    -4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,
-    -4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,
-    -4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,-4713,
-    -4713,-4713,-4713,-4713,-4713
-    },
-
-    {
-       27,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,
-    -4714,-4714,-4714, 4863,-4714,-4714,-4714,-4714,-4714,-4714,
-
-    -4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,
-    -4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,
-    -4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,
-    -4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,-4714,
-    -4714,-4714,-4714,-4714,-4714
-    },
-
-    {
-       27,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,
-    -4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,
-    -4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,
-    -4715,-4715, 4864,-4715,-4715,-4715,-4715,-4715,-4715,-4715,
-    -4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,-4715,
-
-    -4715,-4715,-4715,-4715,-4715,-4715,-4715, 4864,-4715,-4715,
-    -4715,-4715,-4715,-4715,-4715
-    },
-
-    {
-       27,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,
-    -4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,
-    -4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,
-    -4716,-4716, 4865,-4716,-4716,-4716,-4716,-4716,-4716,-4716,
-    -4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,-4716,
-    -4716,-4716,-4716,-4716,-4716,-4716,-4716, 4865,-4716,-4716,
-    -4716,-4716,-4716,-4716,-4716
-    },
-
-    {
-       27,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,
-
-    -4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,
-    -4717,-4717,-4717,-4717,-4717,-4717,-4717, 4866,-4717,-4717,
-    -4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,
-    -4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,-4717,
-    -4717,-4717, 4866,-4717,-4717,-4717,-4717,-4717,-4717,-4717,
-    -4717,-4717,-4717,-4717,-4717
-    },
-
-    {
-       27,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,
-    -4718,-4718,-4718, 4867,-4718,-4718,-4718,-4718,-4718,-4718,
-    -4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,
-    -4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,
-
-    -4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,
-    -4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,-4718,
-    -4718,-4718,-4718,-4718,-4718
-    },
-
-    {
-       27,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,
-    -4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,
-    -4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,
-    -4719,-4719,-4719, 4868,-4719,-4719,-4719,-4719,-4719,-4719,
-    -4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719,
-    -4719,-4719,-4719,-4719,-4719,-4719,-4719,-4719, 4868,-4719,
-    -4719,-4719,-4719,-4719,-4719
-
-    },
-
-    {
-       27, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869,-4720, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869
-    },
-
-    {
-       27,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,
-    -4721,-4721,-4721, 4870,-4721,-4721,-4721,-4721,-4721,-4721,
-    -4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,
-
-    -4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,
-    -4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,
-    -4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,-4721,
-    -4721,-4721,-4721,-4721,-4721
-    },
-
-    {
-       27,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,
-    -4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,
-    -4722,-4722,-4722,-4722,-4722,-4722,-4722, 4871,-4722,-4722,
-    -4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,
-    -4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,-4722,
-    -4722,-4722, 4871,-4722,-4722,-4722,-4722,-4722,-4722,-4722,
-
-    -4722,-4722,-4722,-4722,-4722
-    },
-
-    {
-       27,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,
-    -4723,-4723,-4723, 4872,-4723,-4723,-4723,-4723,-4723,-4723,
-    -4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,
-    -4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,
-    -4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,
-    -4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,-4723,
-    -4723,-4723,-4723,-4723,-4723
-    },
-
-    {
-       27,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,
-    -4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,
-
-    -4724,-4724,-4724,-4724,-4724,-4724,-4724, 4873,-4724,-4724,
-    -4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,
-    -4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,-4724,
-    -4724,-4724, 4873,-4724,-4724,-4724,-4724,-4724,-4724,-4724,
-    -4724,-4724,-4724,-4724,-4724
-    },
-
-    {
-       27,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,
-    -4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,
-    -4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,
-    -4725, 4874,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,
-    -4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,-4725,
-
-    -4725,-4725,-4725,-4725,-4725,-4725, 4874,-4725,-4725,-4725,
-    -4725,-4725,-4725,-4725,-4725
-    },
-
-    {
-       27,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726, 3879,
-    -4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,
-    -4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,
-    -4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,
-    -4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,
-    -4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,-4726,
-    -4726,-4726,-4726,-4726,-4726
-    },
-
-    {
-       27,-4727, 4875, 4875,-4727,-4727,-4727,-4727,-4727,-4727,
-
-    -4727,-4727, 4876,-4727,-4727,-4727,-4727,-4727,-4727,-4727,
-    -4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,
-    -4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,
-    -4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,
-    -4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,-4727,
-    -4727,-4727,-4727,-4727,-4727
-    },
-
-    {
-       27,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,
-    -4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,
-    -4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,
-    -4728,-4728,-4728, 4877,-4728,-4728,-4728,-4728,-4728,-4728,
-
-    -4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728,
-    -4728,-4728,-4728,-4728,-4728,-4728,-4728,-4728, 4877,-4728,
-    -4728,-4728,-4728,-4728,-4728
-    },
-
-    {
-       27,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,
-    -4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,
-    -4729,-4729,-4729,-4729,-4729,-4729,-4729, 4878,-4729,-4729,
-    -4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,
-    -4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,-4729,
-    -4729,-4729, 4878,-4729,-4729,-4729,-4729,-4729,-4729,-4729,
-    -4729,-4729,-4729,-4729,-4729
-
-    },
-
-    {
-       27,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,
-    -4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,
-    -4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,
-    -4730,-4730,-4730, 4879,-4730,-4730,-4730,-4730,-4730,-4730,
-    -4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730,
-    -4730,-4730,-4730,-4730,-4730,-4730,-4730,-4730, 4879,-4730,
-    -4730,-4730,-4730,-4730,-4730
-    },
-
-    {
-       27,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,
-    -4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,
-    -4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,
-
-    -4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,
-    -4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,
-    -4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,-4731,
-    -4731,-4731,-4731,-4731,-4731
-    },
-
-    {
-       27,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,
-    -4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,
-    -4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,
-    -4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,
-    -4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,
-    -4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,-4732,
-
-    -4732,-4732,-4732,-4732,-4732
-    },
-
-    {
-       27,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,
-    -4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,
-    -4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,
-    -4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,
-    -4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,
-    -4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,-4733,
-    -4733,-4733,-4733,-4733,-4733
-    },
-
-    {
-       27,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,
-    -4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,
-
-    -4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,
-    -4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,
-    -4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,
-    -4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,-4734,
-    -4734,-4734,-4734,-4734,-4734
-    },
-
-    {
-       27,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,
-    -4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,
-    -4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,
-    -4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,
-    -4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,
-
-    -4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,-4735,
-    -4735,-4735,-4735,-4735,-4735
-    },
-
-    {
-       27,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,
-    -4736,-4736,-4736, 4880,-4736,-4736,-4736,-4736,-4736,-4736,
-    -4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,
-    -4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,
-    -4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,
-    -4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,-4736,
-    -4736,-4736,-4736,-4736,-4736
-    },
-
-    {
-       27,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,
-
-    -4737,-4737,-4737, 4881,-4737,-4737,-4737,-4737,-4737,-4737,
-    -4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,
-    -4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,
-    -4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,
-    -4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,-4737,
-    -4737,-4737,-4737,-4737,-4737
-    },
-
-    {
-       27,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,
-    -4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,
-    -4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,
-    -4738,-4738,-4738, 4882,-4738,-4738,-4738,-4738,-4738,-4738,
-
-    -4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738,
-    -4738,-4738,-4738,-4738,-4738,-4738,-4738,-4738, 4882,-4738,
-    -4738,-4738,-4738,-4738,-4738
-    },
-
-    {
-       27,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,
-    -4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,
-    -4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,
-    -4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,
-    -4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,
-    -4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,-4739,
-    -4739,-4739,-4739,-4739,-4739
-
-    },
-
-    {
-       27,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,
-    -4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,
-    -4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,
-    -4740,-4740, 4883,-4740,-4740,-4740,-4740,-4740,-4740,-4740,
-    -4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,-4740,
-    -4740,-4740,-4740,-4740,-4740,-4740,-4740, 4883,-4740,-4740,
-    -4740,-4740,-4740,-4740,-4740
-    },
-
-    {
-       27, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4884, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741, 4741,
-     4741, 4741, 4741, 4741, 4741
-    },
-
-    {
-       27,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,
-    -4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,
-    -4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,
-    -4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,
-    -4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,
-    -4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,-4742,
-
-    -4742,-4742,-4742,-4742,-4742
-    },
-
-    {
-       27,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,
-    -4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,
-    -4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,
-    -4743,-4743,-4743, 4885,-4743,-4743,-4743,-4743,-4743,-4743,
-    -4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743,
-    -4743,-4743,-4743,-4743,-4743,-4743,-4743,-4743, 4885,-4743,
-    -4743,-4743,-4743,-4743,-4743
-    },
-
-    {
-       27,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,
-    -4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,
-
-    -4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,
-    -4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,
-    -4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,
-    -4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,-4744,
-    -4744,-4744,-4744,-4744,-4744
-    },
-
-    {
-       27,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,
-    -4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,
-    -4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,
-    -4745,-4745,-4745, 4886,-4745,-4745,-4745,-4745,-4745,-4745,
-    -4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745,
-
-    -4745,-4745,-4745,-4745,-4745,-4745,-4745,-4745, 4886,-4745,
-    -4745,-4745,-4745,-4745,-4745
-    },
-
-    {
-       27,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,
-    -4746,-4746,-4746,-4746, 4887,-4746,-4746,-4746,-4746,-4746,
-    -4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,
-    -4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,
-     4887,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,
-    -4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,-4746,
-    -4746,-4746,-4746,-4746,-4746
-    },
-
-    {
-       27,-4747, 4747, 4747,-4747,-4747,-4747,-4747,-4747,-4747,
-
-    -4747,-4747, 4748,-4747,-4747,-4747,-4747,-4747,-4747,-4747,
-    -4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,
-    -4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,
-    -4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,
-    -4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,-4747,
-    -4747,-4747,-4747,-4747,-4747
-    },
-
-    {
-       27,-4748,-4748,-4748,-4748,-4748,-4748,-4748,-4748,-4748,
-    -4748,-4748,-4748,-4748,-4748,-4748, 4888,-4748,-4748,-4748,
-    -4748,-4748,-4748,-4748,-4748,-4748,-4748,-4748,-4748, 4889,
-    -4748,-4748,-4748,-4748,-4748,-4748,-4748,-4748,-4748,-4748,
-
-    -4748,-4748, 4888,-4748,-4748,-4748,-4748,-4748,-4748,-4748,
-    -4748,-4748,-4748,-4748, 4889,-4748,-4748,-4748,-4748,-4748,
-    -4748,-4748,-4748,-4748,-4748
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 4890,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     4890,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 4891,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 4892,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184, 4893,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 4893,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 4894,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 4894,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,
-    -4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,
-    -4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,
-    -4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,
-    -4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,
-    -4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,-4753,
-    -4753,-4753,-4753,-4753,-4753
-    },
-
-    {
-       27,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,
-    -4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,
-
-    -4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,
-    -4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,
-    -4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,
-    -4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,-4754,
-    -4754,-4754,-4754,-4754,-4754
-    },
-
-    {
-       27,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,
-    -4755,-4755,-4755, 4895,-4755,-4755,-4755,-4755,-4755,-4755,
-    -4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,
-    -4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,
-    -4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,
-
-    -4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,-4755,
-    -4755,-4755,-4755,-4755,-4755
-    },
-
-    {
-       27,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,
-    -4756,-4756,-4756, 4896,-4756,-4756,-4756,-4756,-4756,-4756,
-    -4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,
-    -4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,
-    -4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,
-    -4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,-4756,
-    -4756,-4756,-4756,-4756,-4756
-    },
-
-    {
-       27,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,
-
-    -4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,
-    -4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,
-    -4757,-4757,-4757, 4897,-4757,-4757,-4757,-4757,-4757,-4757,
-    -4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757,
-    -4757,-4757,-4757,-4757,-4757,-4757,-4757,-4757, 4897,-4757,
-    -4757,-4757,-4757,-4757,-4757
-    },
-
-    {
-       27,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,
-    -4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,
-    -4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,
-    -4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,
-
-    -4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,
-    -4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,-4758,
-    -4758,-4758,-4758,-4758,-4758
-    },
-
-    {
-       27,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,
-    -4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,
-    -4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,
-    -4759,-4759, 4898,-4759,-4759,-4759,-4759,-4759,-4759,-4759,
-    -4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,-4759,
-    -4759,-4759,-4759,-4759,-4759,-4759,-4759, 4898,-4759,-4759,
-    -4759,-4759,-4759,-4759,-4759
-
-    },
-
-    {
-       27, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4899, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760, 4760,
-     4760, 4760, 4760, 4760, 4760
-    },
-
-    {
-       27,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,
-    -4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,
-    -4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,
-
-    -4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,
-    -4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,
-    -4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,-4761,
-    -4761,-4761,-4761,-4761,-4761
-    },
-
-    {
-       27,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,
-    -4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,
-    -4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,
-    -4762,-4762,-4762, 4900,-4762,-4762,-4762,-4762,-4762,-4762,
-    -4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762,
-    -4762,-4762,-4762,-4762,-4762,-4762,-4762,-4762, 4900,-4762,
-
-    -4762,-4762,-4762,-4762,-4762
-    },
-
-    {
-       27,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,
-    -4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,
-    -4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,
-    -4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,
-    -4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,
-    -4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,-4763,
-    -4763,-4763,-4763,-4763,-4763
-    },
-
-    {
-       27,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,
-    -4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,
-
-    -4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,
-    -4764,-4764,-4764, 4901,-4764,-4764,-4764,-4764,-4764,-4764,
-    -4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764,
-    -4764,-4764,-4764,-4764,-4764,-4764,-4764,-4764, 4901,-4764,
-    -4764,-4764,-4764,-4764,-4764
-    },
-
-    {
-       27,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,
-    -4765,-4765,-4765,-4765, 4902,-4765,-4765,-4765,-4765,-4765,
-    -4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,
-    -4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,
-     4902,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,
-
-    -4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,-4765,
-    -4765,-4765,-4765,-4765,-4765
-    },
-
-    {
-       27,-4766, 4766, 4766,-4766,-4766,-4766,-4766,-4766,-4766,
-    -4766,-4766, 4767,-4766,-4766,-4766,-4766,-4766,-4766,-4766,
-    -4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,
-    -4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,
-    -4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,
-    -4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,-4766,
-    -4766,-4766,-4766,-4766,-4766
-    },
-
-    {
-       27,-4767,-4767,-4767,-4767,-4767,-4767,-4767,-4767,-4767,
-
-    -4767,-4767,-4767,-4767,-4767,-4767, 4903,-4767,-4767,-4767,
-    -4767,-4767,-4767,-4767,-4767,-4767,-4767,-4767,-4767, 4904,
-    -4767,-4767,-4767,-4767,-4767,-4767,-4767,-4767,-4767,-4767,
-    -4767,-4767, 4903,-4767,-4767,-4767,-4767,-4767,-4767,-4767,
-    -4767,-4767,-4767,-4767, 4904,-4767,-4767,-4767,-4767,-4767,
-    -4767,-4767,-4767,-4767,-4767
-    },
-
-    {
-       27,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,
-    -4768,-4768,-4768,-4768, 4905,-4768,-4768,-4768,-4768,-4768,
-    -4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,
-    -4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,
-
-     4905,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,
-    -4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,-4768,
-    -4768,-4768,-4768,-4768,-4768
-    },
-
-    {
-       27,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769, 4906,
-    -4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,
-    -4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,
-    -4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769, 4907,
-    -4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,
-    -4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,-4769,
-    -4769,-4769,-4769,-4769,-4769
-
-    },
-
-    {
-       27,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,
-    -4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,
-    -4770,-4770, 4908,-4770,-4770,-4770,-4770,-4770,-4770,-4770,
-    -4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,
-    -4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770, 4908,-4770,
-    -4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,-4770,
-    -4770,-4770,-4770,-4770,-4770
-    },
-
-    {
-       27,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,
-    -4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,
-    -4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,
-
-    -4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,
-    -4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,
-    -4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,-4771,
-    -4771,-4771,-4771,-4771,-4771
-    },
-
-    {
-       27,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,
-    -4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,
-    -4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,
-    -4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,
-    -4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,
-    -4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,-4772,
-
-    -4772,-4772,-4772,-4772,-4772
-    },
-
-    {
-       27,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,
-    -4773,-4773,-4773, 4909,-4773,-4773,-4773,-4773,-4773,-4773,
-    -4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,
-    -4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,
-    -4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,
-    -4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,-4773,
-    -4773,-4773,-4773,-4773,-4773
-    },
-
-    {
-       27,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,
-    -4774,-4774,-4774, 4910,-4774,-4774,-4774,-4774,-4774,-4774,
-
-    -4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,
-    -4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,
-    -4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,
-    -4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,-4774,
-    -4774,-4774,-4774,-4774,-4774
-    },
-
-    {
-       27,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,
-    -4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,
-    -4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,
-    -4775,-4775,-4775, 4911,-4775,-4775,-4775,-4775,-4775,-4775,
-    -4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775,
-
-    -4775,-4775,-4775,-4775,-4775,-4775,-4775,-4775, 4911,-4775,
-    -4775,-4775,-4775,-4775,-4775
-    },
-
-    {
-       27,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,
-    -4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,
-    -4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,
-    -4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,
-    -4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,
-    -4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,-4776,
-    -4776,-4776,-4776,-4776,-4776
-    },
-
-    {
-       27,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,
-
-    -4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,
-    -4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,
-    -4777,-4777, 4912,-4777,-4777,-4777,-4777,-4777,-4777,-4777,
-    -4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,-4777,
-    -4777,-4777,-4777,-4777,-4777,-4777,-4777, 4912,-4777,-4777,
-    -4777,-4777,-4777,-4777,-4777
-    },
-
-    {
-       27, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4913, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778, 4778,
-     4778, 4778, 4778, 4778, 4778
-    },
-
-    {
-       27,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,
-    -4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,
-    -4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,
-    -4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,
-    -4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,
-    -4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,-4779,
-    -4779,-4779,-4779,-4779,-4779
-
-    },
-
-    {
-       27,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,
-    -4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,
-    -4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,
-    -4780,-4780,-4780, 4914,-4780,-4780,-4780,-4780,-4780,-4780,
-    -4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780,
-    -4780,-4780,-4780,-4780,-4780,-4780,-4780,-4780, 4914,-4780,
-    -4780,-4780,-4780,-4780,-4780
-    },
-
-    {
-       27,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,
-    -4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,
-    -4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,
-
-    -4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,
-    -4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,
-    -4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,-4781,
-    -4781,-4781,-4781,-4781,-4781
-    },
-
-    {
-       27,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,
-    -4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,
-    -4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,
-    -4782,-4782,-4782, 4915,-4782,-4782,-4782,-4782,-4782,-4782,
-    -4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782,
-    -4782,-4782,-4782,-4782,-4782,-4782,-4782,-4782, 4915,-4782,
-
-    -4782,-4782,-4782,-4782,-4782
-    },
-
-    {
-       27,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,
-    -4783,-4783,-4783,-4783, 4916,-4783,-4783,-4783,-4783,-4783,
-    -4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,
-    -4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,
-     4916,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,
-    -4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,-4783,
-    -4783,-4783,-4783,-4783,-4783
-    },
-
-    {
-       27,-4784, 4784, 4784,-4784,-4784,-4784,-4784,-4784,-4784,
-    -4784,-4784, 4785,-4784,-4784,-4784,-4784,-4784,-4784,-4784,
-
-    -4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,
-    -4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,
-    -4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,
-    -4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,-4784,
-    -4784,-4784,-4784,-4784,-4784
-    },
-
-    {
-       27,-4785,-4785,-4785,-4785,-4785,-4785,-4785,-4785,-4785,
-    -4785,-4785,-4785,-4785,-4785,-4785, 4917,-4785,-4785,-4785,
-    -4785,-4785,-4785,-4785,-4785,-4785,-4785,-4785,-4785, 4918,
-    -4785,-4785,-4785,-4785,-4785,-4785,-4785,-4785,-4785,-4785,
-    -4785,-4785, 4917,-4785,-4785,-4785,-4785,-4785,-4785,-4785,
-
-    -4785,-4785,-4785,-4785, 4918,-4785,-4785,-4785,-4785,-4785,
-    -4785,-4785,-4785,-4785,-4785
-    },
-
-    {
-       27,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,
-    -4786,-4786,-4786,-4786, 4919,-4786,-4786,-4786,-4786,-4786,
-    -4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,
-    -4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,
-     4919,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,
-    -4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,-4786,
-    -4786,-4786,-4786,-4786,-4786
-    },
-
-    {
-       27,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787, 4920,
-
-    -4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,
-    -4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,
-    -4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787, 4921,
-    -4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,
-    -4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,-4787,
-    -4787,-4787,-4787,-4787,-4787
-    },
-
-    {
-       27,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,
-    -4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,
-    -4788,-4788, 4922,-4788,-4788,-4788,-4788,-4788,-4788,-4788,
-    -4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,
-
-    -4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788, 4922,-4788,
-    -4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,-4788,
-    -4788,-4788,-4788,-4788,-4788
-    },
-
-    {
-       27,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,
-    -4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,
-    -4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,
-    -4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,
-    -4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,
-    -4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,-4789,
-    -4789,-4789,-4789,-4789,-4789
-
-    },
-
-    {
-       27,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,
-    -4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,
-    -4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,
-    -4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,
-    -4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,
-    -4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,-4790,
-    -4790,-4790,-4790,-4790,-4790
-    },
-
-    {
-       27,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,
-    -4791,-4791,-4791, 4923,-4791,-4791,-4791,-4791,-4791,-4791,
-    -4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,
-
-    -4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,
-    -4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,
-    -4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,-4791,
-    -4791,-4791,-4791,-4791,-4791
-    },
-
-    {
-       27,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,
-    -4792,-4792,-4792, 4924,-4792,-4792,-4792,-4792,-4792,-4792,
-    -4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,
-    -4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,
-    -4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,
-    -4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,-4792,
-
-    -4792,-4792,-4792,-4792,-4792
-    },
-
-    {
-       27,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,
-    -4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,
-    -4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,
-    -4793,-4793,-4793, 4925,-4793,-4793,-4793,-4793,-4793,-4793,
-    -4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793,
-    -4793,-4793,-4793,-4793,-4793,-4793,-4793,-4793, 4925,-4793,
-    -4793,-4793,-4793,-4793,-4793
-    },
-
-    {
-       27,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,
-    -4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,
-
-    -4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,
-    -4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,
-    -4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,
-    -4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,-4794,
-    -4794,-4794,-4794,-4794,-4794
-    },
-
-    {
-       27,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,
-    -4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,
-    -4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,
-    -4795,-4795, 4926,-4795,-4795,-4795,-4795,-4795,-4795,-4795,
-    -4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,-4795,
-
-    -4795,-4795,-4795,-4795,-4795,-4795,-4795, 4926,-4795,-4795,
-    -4795,-4795,-4795,-4795,-4795
-    },
-
-    {
-       27, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4927, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796, 4796,
-     4796, 4796, 4796, 4796, 4796
-    },
-
-    {
-       27,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,
-
-    -4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,
-    -4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,
-    -4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,
-    -4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,
-    -4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,-4797,
-    -4797,-4797,-4797,-4797,-4797
-    },
-
-    {
-       27,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,
-    -4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,
-    -4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,
-    -4798,-4798,-4798, 4928,-4798,-4798,-4798,-4798,-4798,-4798,
-
-    -4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798,
-    -4798,-4798,-4798,-4798,-4798,-4798,-4798,-4798, 4928,-4798,
-    -4798,-4798,-4798,-4798,-4798
-    },
-
-    {
-       27,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,
-    -4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,
-    -4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,
-    -4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,
-    -4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,
-    -4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,-4799,
-    -4799,-4799,-4799,-4799,-4799
-
-    },
-
-    {
-       27,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,
-    -4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,
-    -4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,
-    -4800,-4800,-4800, 4929,-4800,-4800,-4800,-4800,-4800,-4800,
-    -4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800,
-    -4800,-4800,-4800,-4800,-4800,-4800,-4800,-4800, 4929,-4800,
-    -4800,-4800,-4800,-4800,-4800
-    },
-
-    {
-       27,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,
-    -4801,-4801,-4801,-4801, 4930,-4801,-4801,-4801,-4801,-4801,
-    -4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,
-
-    -4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,
-     4930,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,
-    -4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,-4801,
-    -4801,-4801,-4801,-4801,-4801
-    },
-
-    {
-       27,-4802, 4802, 4802,-4802,-4802,-4802,-4802,-4802,-4802,
-    -4802,-4802, 4803,-4802,-4802,-4802,-4802,-4802,-4802,-4802,
-    -4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,
-    -4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,
-    -4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,
-    -4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,-4802,
-
-    -4802,-4802,-4802,-4802,-4802
-    },
-
-    {
-       27,-4803,-4803,-4803,-4803,-4803,-4803,-4803,-4803,-4803,
-    -4803,-4803,-4803,-4803,-4803,-4803, 4931,-4803,-4803,-4803,
-    -4803,-4803,-4803,-4803,-4803,-4803,-4803,-4803,-4803, 4932,
-    -4803,-4803,-4803,-4803,-4803,-4803,-4803,-4803,-4803,-4803,
-    -4803,-4803, 4931,-4803,-4803,-4803,-4803,-4803,-4803,-4803,
-    -4803,-4803,-4803,-4803, 4932,-4803,-4803,-4803,-4803,-4803,
-    -4803,-4803,-4803,-4803,-4803
-    },
-
-    {
-       27,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,
-    -4804,-4804,-4804,-4804, 4933,-4804,-4804,-4804,-4804,-4804,
-
-    -4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,
-    -4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,
-     4933,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,
-    -4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,-4804,
-    -4804,-4804,-4804,-4804,-4804
-    },
-
-    {
-       27,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805, 4934,
-    -4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,
-    -4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,
-    -4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805, 4935,
-    -4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,
-
-    -4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,-4805,
-    -4805,-4805,-4805,-4805,-4805
-    },
-
-    {
-       27,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,
-    -4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,
-    -4806,-4806, 4936,-4806,-4806,-4806,-4806,-4806,-4806,-4806,
-    -4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,
-    -4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806, 4936,-4806,
-    -4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,-4806,
-    -4806,-4806,-4806,-4806,-4806
-    },
-
-    {
-       27,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,
-
-    -4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,
-    -4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,
-    -4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,
-    -4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,
-    -4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,-4807,
-    -4807,-4807,-4807,-4807,-4807
-    },
-
-    {
-       27,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,
-    -4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,
-    -4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,
-    -4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,
-
-    -4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,
-    -4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,-4808,
-    -4808,-4808,-4808,-4808,-4808
-    },
-
-    {
-       27,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,
-    -4809,-4809,-4809, 4937,-4809,-4809,-4809,-4809,-4809,-4809,
-    -4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,
-    -4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,
-    -4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,
-    -4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,-4809,
-    -4809,-4809,-4809,-4809,-4809
-
-    },
-
-    {
-       27,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,
-    -4810,-4810,-4810, 4938,-4810,-4810,-4810,-4810,-4810,-4810,
-    -4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,
-    -4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,
-    -4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,
-    -4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,-4810,
-    -4810,-4810,-4810,-4810,-4810
-    },
-
-    {
-       27,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,
-    -4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,
-    -4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,
-
-    -4811,-4811,-4811, 4939,-4811,-4811,-4811,-4811,-4811,-4811,
-    -4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811,
-    -4811,-4811,-4811,-4811,-4811,-4811,-4811,-4811, 4939,-4811,
-    -4811,-4811,-4811,-4811,-4811
-    },
-
-    {
-       27,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,
-    -4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,
-    -4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,
-    -4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,
-    -4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,
-    -4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,-4812,
-
-    -4812,-4812,-4812,-4812,-4812
-    },
-
-    {
-       27,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,
-    -4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,
-    -4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,
-    -4813,-4813, 4940,-4813,-4813,-4813,-4813,-4813,-4813,-4813,
-    -4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,-4813,
-    -4813,-4813,-4813,-4813,-4813,-4813,-4813, 4940,-4813,-4813,
-    -4813,-4813,-4813,-4813,-4813
-    },
-
-    {
-       27, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4941, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814, 4814,
-     4814, 4814, 4814, 4814, 4814
-    },
-
-    {
-       27,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,
-    -4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,
-    -4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,
-    -4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,
-    -4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,
-
-    -4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,-4815,
-    -4815,-4815,-4815,-4815,-4815
-    },
-
-    {
-       27,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,
-    -4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,
-    -4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,
-    -4816,-4816,-4816, 4942,-4816,-4816,-4816,-4816,-4816,-4816,
-    -4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816,
-    -4816,-4816,-4816,-4816,-4816,-4816,-4816,-4816, 4942,-4816,
-    -4816,-4816,-4816,-4816,-4816
-    },
-
-    {
-       27,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,
-
-    -4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,
-    -4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,
-    -4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,
-    -4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,
-    -4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,-4817,
-    -4817,-4817,-4817,-4817,-4817
-    },
-
-    {
-       27,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,
-    -4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,
-    -4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,
-    -4818,-4818,-4818, 4943,-4818,-4818,-4818,-4818,-4818,-4818,
-
-    -4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818,
-    -4818,-4818,-4818,-4818,-4818,-4818,-4818,-4818, 4943,-4818,
-    -4818,-4818,-4818,-4818,-4818
-    },
-
-    {
-       27,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,
-    -4819,-4819,-4819,-4819, 4944,-4819,-4819,-4819,-4819,-4819,
-    -4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,
-    -4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,
-     4944,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,
-    -4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,-4819,
-    -4819,-4819,-4819,-4819,-4819
-
-    },
-
-    {
-       27,-4820, 4820, 4820,-4820,-4820,-4820,-4820,-4820,-4820,
-    -4820,-4820, 4821,-4820,-4820,-4820,-4820,-4820,-4820,-4820,
-    -4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,
-    -4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,
-    -4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,
-    -4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,-4820,
-    -4820,-4820,-4820,-4820,-4820
-    },
-
-    {
-       27,-4821,-4821,-4821,-4821,-4821,-4821,-4821,-4821,-4821,
-    -4821,-4821,-4821,-4821,-4821,-4821, 4945,-4821,-4821,-4821,
-    -4821,-4821,-4821,-4821,-4821,-4821,-4821,-4821,-4821, 4946,
-
-    -4821,-4821,-4821,-4821,-4821,-4821,-4821,-4821,-4821,-4821,
-    -4821,-4821, 4945,-4821,-4821,-4821,-4821,-4821,-4821,-4821,
-    -4821,-4821,-4821,-4821, 4946,-4821,-4821,-4821,-4821,-4821,
-    -4821,-4821,-4821,-4821,-4821
-    },
-
-    {
-       27,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,
-    -4822,-4822,-4822,-4822, 4947,-4822,-4822,-4822,-4822,-4822,
-    -4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,
-    -4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,
-     4947,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,
-    -4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,-4822,
-
-    -4822,-4822,-4822,-4822,-4822
-    },
-
-    {
-       27,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823, 4948,
-    -4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,
-    -4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,
-    -4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823, 4949,
-    -4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,
-    -4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,-4823,
-    -4823,-4823,-4823,-4823,-4823
-    },
-
-    {
-       27,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,
-    -4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,
-
-    -4824,-4824, 4950,-4824,-4824,-4824,-4824,-4824,-4824,-4824,
-    -4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,
-    -4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824, 4950,-4824,
-    -4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,-4824,
-    -4824,-4824,-4824,-4824,-4824
-    },
-
-    {
-       27,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,
-    -4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,
-    -4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,
-    -4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,
-    -4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,
-
-    -4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,-4825,
-    -4825,-4825,-4825,-4825,-4825
-    },
-
-    {
-       27,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,
-    -4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,
-    -4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,
-    -4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,
-    -4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,
-    -4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,-4826,
-    -4826,-4826,-4826,-4826,-4826
-    },
-
-    {
-       27,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,
-
-    -4827,-4827,-4827, 4951,-4827,-4827,-4827,-4827,-4827,-4827,
-    -4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,
-    -4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,
-    -4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,
-    -4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,-4827,
-    -4827,-4827,-4827,-4827,-4827
-    },
-
-    {
-       27,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,
-    -4828,-4828,-4828, 4952,-4828,-4828,-4828,-4828,-4828,-4828,
-    -4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,
-    -4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,
-
-    -4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,
-    -4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,-4828,
-    -4828,-4828,-4828,-4828,-4828
-    },
-
-    {
-       27,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,
-    -4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,
-    -4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,
-    -4829,-4829,-4829, 4953,-4829,-4829,-4829,-4829,-4829,-4829,
-    -4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829,
-    -4829,-4829,-4829,-4829,-4829,-4829,-4829,-4829, 4953,-4829,
-    -4829,-4829,-4829,-4829,-4829
-
-    },
-
-    {
-       27,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,
-    -4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,
-    -4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,
-    -4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,
-    -4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,
-    -4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,-4830,
-    -4830,-4830,-4830,-4830,-4830
-    },
-
-    {
-       27,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,
-    -4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,
-    -4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,
-
-    -4831,-4831, 4954,-4831,-4831,-4831,-4831,-4831,-4831,-4831,
-    -4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,-4831,
-    -4831,-4831,-4831,-4831,-4831,-4831,-4831, 4954,-4831,-4831,
-    -4831,-4831,-4831,-4831,-4831
-    },
-
-    {
-       27, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4955, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-     4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832, 4832,
-
-     4832, 4832, 4832, 4832, 4832
-    },
-
-    {
-       27,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,
-    -4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,
-    -4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,
-    -4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,
-    -4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,
-    -4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,-4833,
-    -4833,-4833,-4833,-4833,-4833
-    },
-
-    {
-       27,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,
-    -4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,
-
-    -4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,
-    -4834,-4834,-4834, 4956,-4834,-4834,-4834,-4834,-4834,-4834,
-    -4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834,
-    -4834,-4834,-4834,-4834,-4834,-4834,-4834,-4834, 4956,-4834,
-    -4834,-4834,-4834,-4834,-4834
-    },
-
-    {
-       27,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,
-    -4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,
-    -4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,
-    -4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,
-    -4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,
-
-    -4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,-4835,
-    -4835,-4835,-4835,-4835,-4835
-    },
-
-    {
-       27,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,
-    -4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,
-    -4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,
-    -4836,-4836,-4836, 4957,-4836,-4836,-4836,-4836,-4836,-4836,
-    -4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836,
-    -4836,-4836,-4836,-4836,-4836,-4836,-4836,-4836, 4957,-4836,
-    -4836,-4836,-4836,-4836,-4836
-    },
-
-    {
-       27,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,
-
-    -4837,-4837,-4837,-4837, 4958,-4837,-4837,-4837,-4837,-4837,
-    -4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,
-    -4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,
-     4958,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,
-    -4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,-4837,
-    -4837,-4837,-4837,-4837,-4837
-    },
-
-    {
-       27,-4838, 4838, 4838,-4838,-4838,-4838,-4838,-4838,-4838,
-    -4838,-4838, 4839,-4838,-4838,-4838,-4838,-4838,-4838,-4838,
-    -4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,
-    -4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,
-
-    -4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,
-    -4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,-4838,
-    -4838,-4838,-4838,-4838,-4838
-    },
-
-    {
-       27,-4839,-4839,-4839,-4839,-4839,-4839,-4839,-4839,-4839,
-    -4839,-4839,-4839,-4839,-4839,-4839, 4959,-4839,-4839,-4839,
-    -4839,-4839,-4839,-4839,-4839,-4839,-4839,-4839,-4839, 4960,
-    -4839,-4839,-4839,-4839,-4839,-4839,-4839,-4839,-4839,-4839,
-    -4839,-4839, 4959,-4839,-4839,-4839,-4839,-4839,-4839,-4839,
-    -4839,-4839,-4839,-4839, 4960,-4839,-4839,-4839,-4839,-4839,
-    -4839,-4839,-4839,-4839,-4839
-
-    },
-
-    {
-       27,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,
-    -4840,-4840,-4840,-4840, 4961,-4840,-4840,-4840,-4840,-4840,
-    -4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,
-    -4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,
-     4961,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,
-    -4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,-4840,
-    -4840,-4840,-4840,-4840,-4840
-    },
-
-    {
-       27,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841, 4962,
-    -4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,
-    -4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,
-
-    -4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841, 4963,
-    -4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,
-    -4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,-4841,
-    -4841,-4841,-4841,-4841,-4841
-    },
-
-    {
-       27,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,
-    -4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,
-    -4842,-4842, 4964,-4842,-4842,-4842,-4842,-4842,-4842,-4842,
-    -4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,
-    -4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842, 4964,-4842,
-    -4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,-4842,
-
-    -4842,-4842,-4842,-4842,-4842
-    },
-
-    {
-       27,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,
-    -4843,-4843,-4843,-4843, 4965,-4843,-4843,-4843,-4843,-4843,
-    -4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,
-    -4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,
-     4965,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,
-    -4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,-4843,
-    -4843,-4843,-4843,-4843,-4843
-    },
-
-    {
-       27,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,
-    -4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,
-
-    -4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,
-    -4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,
-    -4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,
-    -4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,-4844,
-    -4844,-4844,-4844,-4844,-4844
-    },
-
-    {
-       27,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,
-    -4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,
-    -4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,
-    -4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,
-    -4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,
-
-    -4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,-4845,
-    -4845,-4845,-4845,-4845,-4845
-    },
-
-    {
-       27,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,
-    -4846,-4846,-4846, 4966,-4846,-4846,-4846,-4846,-4846,-4846,
-    -4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,
-    -4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,
-    -4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,
-    -4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,-4846,
-    -4846,-4846,-4846,-4846,-4846
-    },
-
-    {
-       27,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,
-
-    -4847,-4847,-4847, 4967,-4847,-4847,-4847,-4847,-4847,-4847,
-    -4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,
-    -4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,
-    -4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,
-    -4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,-4847,
-    -4847,-4847,-4847,-4847,-4847
-    },
-
-    {
-       27,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,
-    -4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,
-    -4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,
-    -4848,-4848,-4848, 4968,-4848,-4848,-4848,-4848,-4848,-4848,
-
-    -4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848,
-    -4848,-4848,-4848,-4848,-4848,-4848,-4848,-4848, 4968,-4848,
-    -4848,-4848,-4848,-4848,-4848
-    },
-
-    {
-       27,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,
-    -4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,
-    -4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,
-    -4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,
-    -4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,
-    -4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,-4849,
-    -4849,-4849,-4849,-4849,-4849
-
-    },
-
-    {
-       27,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,
-    -4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,
-    -4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,
-    -4850,-4850, 4969,-4850,-4850,-4850,-4850,-4850,-4850,-4850,
-    -4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,-4850,
-    -4850,-4850,-4850,-4850,-4850,-4850,-4850, 4969,-4850,-4850,
-    -4850,-4850,-4850,-4850,-4850
-    },
-
-    {
-       27, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4970, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851, 4851,
-     4851, 4851, 4851, 4851, 4851
-    },
-
-    {
-       27,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,
-    -4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,
-    -4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,
-    -4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,
-    -4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,
-    -4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,-4852,
-
-    -4852,-4852,-4852,-4852,-4852
-    },
-
-    {
-       27,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,
-    -4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,
-    -4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,
-    -4853,-4853,-4853, 4971,-4853,-4853,-4853,-4853,-4853,-4853,
-    -4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853,
-    -4853,-4853,-4853,-4853,-4853,-4853,-4853,-4853, 4971,-4853,
-    -4853,-4853,-4853,-4853,-4853
-    },
-
-    {
-       27,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,
-    -4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,
-
-    -4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,
-    -4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,
-    -4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,
-    -4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,-4854,
-    -4854,-4854,-4854,-4854,-4854
-    },
-
-    {
-       27,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,
-    -4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,
-    -4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,
-    -4855,-4855,-4855, 4972,-4855,-4855,-4855,-4855,-4855,-4855,
-    -4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855,
-
-    -4855,-4855,-4855,-4855,-4855,-4855,-4855,-4855, 4972,-4855,
-    -4855,-4855,-4855,-4855,-4855
-    },
-
-    {
-       27,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,
-    -4856,-4856,-4856,-4856, 4973,-4856,-4856,-4856,-4856,-4856,
-    -4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,
-    -4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,
-     4973,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,
-    -4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,-4856,
-    -4856,-4856,-4856,-4856,-4856
-    },
-
-    {
-       27,-4857, 4857, 4857,-4857,-4857,-4857,-4857,-4857,-4857,
-
-    -4857,-4857, 4858,-4857,-4857,-4857,-4857,-4857,-4857,-4857,
-    -4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,
-    -4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,
-    -4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,
-    -4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,-4857,
-    -4857,-4857,-4857,-4857,-4857
-    },
-
-    {
-       27,-4858,-4858,-4858,-4858,-4858,-4858,-4858,-4858,-4858,
-    -4858,-4858,-4858,-4858,-4858,-4858, 4974,-4858,-4858,-4858,
-    -4858,-4858,-4858,-4858,-4858,-4858,-4858,-4858,-4858, 4975,
-    -4858,-4858,-4858,-4858,-4858,-4858,-4858,-4858,-4858,-4858,
-
-    -4858,-4858, 4974,-4858,-4858,-4858,-4858,-4858,-4858,-4858,
-    -4858,-4858,-4858,-4858, 4975,-4858,-4858,-4858,-4858,-4858,
-    -4858,-4858,-4858,-4858,-4858
-    },
-
-    {
-       27,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,
-    -4859,-4859,-4859,-4859, 4976,-4859,-4859,-4859,-4859,-4859,
-    -4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,
-    -4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,
-     4976,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,
-    -4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,-4859,
-    -4859,-4859,-4859,-4859,-4859
-
-    },
-
-    {
-       27,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860, 4977,
-    -4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,
-    -4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,
-    -4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860, 4978,
-    -4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,
-    -4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,-4860,
-    -4860,-4860,-4860,-4860,-4860
-    },
-
-    {
-       27,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,
-    -4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,
-    -4861,-4861, 4979,-4861,-4861,-4861,-4861,-4861,-4861,-4861,
-
-    -4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,
-    -4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861, 4979,-4861,
-    -4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,-4861,
-    -4861,-4861,-4861,-4861,-4861
-    },
-
-    {
-       27,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,
-    -4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,
-    -4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,
-    -4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,
-    -4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,
-    -4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,-4862,
-
-    -4862,-4862,-4862,-4862,-4862
-    },
-
-    {
-       27,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,
-    -4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,
-    -4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,
-    -4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,
-    -4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,
-    -4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,-4863,
-    -4863,-4863,-4863,-4863,-4863
-    },
-
-    {
-       27,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,
-    -4864,-4864,-4864, 4980,-4864,-4864,-4864,-4864,-4864,-4864,
-
-    -4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,
-    -4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,
-    -4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,
-    -4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,-4864,
-    -4864,-4864,-4864,-4864,-4864
-    },
-
-    {
-       27,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,
-    -4865,-4865,-4865, 4981,-4865,-4865,-4865,-4865,-4865,-4865,
-    -4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,
-    -4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,
-    -4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,
-
-    -4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,-4865,
-    -4865,-4865,-4865,-4865,-4865
-    },
-
-    {
-       27,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,
-    -4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,
-    -4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,
-    -4866,-4866,-4866, 4982,-4866,-4866,-4866,-4866,-4866,-4866,
-    -4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866,
-    -4866,-4866,-4866,-4866,-4866,-4866,-4866,-4866, 4982,-4866,
-    -4866,-4866,-4866,-4866,-4866
-    },
-
-    {
-       27,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,
-
-    -4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,
-    -4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,
-    -4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,
-    -4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,
-    -4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,-4867,
-    -4867,-4867,-4867,-4867,-4867
-    },
-
-    {
-       27,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,
-    -4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,
-    -4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,
-    -4868,-4868, 4983,-4868,-4868,-4868,-4868,-4868,-4868,-4868,
-
-    -4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,-4868,
-    -4868,-4868,-4868,-4868,-4868,-4868,-4868, 4983,-4868,-4868,
-    -4868,-4868,-4868,-4868,-4868
-    },
-
-    {
-       27, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4984, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869, 4869,
-     4869, 4869, 4869, 4869, 4869
-
-    },
-
-    {
-       27,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,
-    -4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,
-    -4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,
-    -4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,
-    -4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,
-    -4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,-4870,
-    -4870,-4870,-4870,-4870,-4870
-    },
-
-    {
-       27,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,
-    -4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,
-    -4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,
-
-    -4871,-4871,-4871, 4985,-4871,-4871,-4871,-4871,-4871,-4871,
-    -4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871,
-    -4871,-4871,-4871,-4871,-4871,-4871,-4871,-4871, 4985,-4871,
-    -4871,-4871,-4871,-4871,-4871
-    },
-
-    {
-       27,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,
-    -4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,
-    -4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,
-    -4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,
-    -4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,
-    -4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,-4872,
-
-    -4872,-4872,-4872,-4872,-4872
-    },
-
-    {
-       27,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,
-    -4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,
-    -4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,
-    -4873,-4873,-4873, 4986,-4873,-4873,-4873,-4873,-4873,-4873,
-    -4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873,
-    -4873,-4873,-4873,-4873,-4873,-4873,-4873,-4873, 4986,-4873,
-    -4873,-4873,-4873,-4873,-4873
-    },
-
-    {
-       27,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,
-    -4874,-4874,-4874,-4874, 4987,-4874,-4874,-4874,-4874,-4874,
-
-    -4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,
-    -4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,
-     4987,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,
-    -4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,-4874,
-    -4874,-4874,-4874,-4874,-4874
-    },
-
-    {
-       27,-4875, 4875, 4875,-4875,-4875,-4875,-4875,-4875,-4875,
-    -4875,-4875, 4876,-4875,-4875,-4875,-4875,-4875,-4875,-4875,
-    -4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,
-    -4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,
-    -4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,
-
-    -4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,-4875,
-    -4875,-4875,-4875,-4875,-4875
-    },
-
-    {
-       27,-4876,-4876,-4876,-4876,-4876,-4876,-4876,-4876,-4876,
-    -4876,-4876,-4876,-4876,-4876,-4876, 4988,-4876,-4876,-4876,
-    -4876,-4876,-4876,-4876,-4876,-4876,-4876,-4876,-4876, 4989,
-    -4876,-4876,-4876,-4876,-4876,-4876,-4876,-4876,-4876,-4876,
-    -4876,-4876, 4988,-4876,-4876,-4876,-4876,-4876,-4876,-4876,
-    -4876,-4876,-4876,-4876, 4989,-4876,-4876,-4876,-4876,-4876,
-    -4876,-4876,-4876,-4876,-4876
-    },
-
-    {
-       27,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,
-
-    -4877,-4877,-4877,-4877, 4990,-4877,-4877,-4877,-4877,-4877,
-    -4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,
-    -4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,
-     4990,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,
-    -4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,-4877,
-    -4877,-4877,-4877,-4877,-4877
-    },
-
-    {
-       27,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878, 4991,
-    -4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,
-    -4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,
-    -4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878, 4992,
-
-    -4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,
-    -4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,-4878,
-    -4878,-4878,-4878,-4878,-4878
-    },
-
-    {
-       27,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,
-    -4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,
-    -4879,-4879, 4993,-4879,-4879,-4879,-4879,-4879,-4879,-4879,
-    -4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,
-    -4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879, 4993,-4879,
-    -4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,-4879,
-    -4879,-4879,-4879,-4879,-4879
-
-    },
-
-    {
-       27,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,
-    -4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,
-    -4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,
-    -4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,
-    -4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,
-    -4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,-4880,
-    -4880,-4880,-4880,-4880,-4880
-    },
-
-    {
-       27,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,
-    -4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,
-    -4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,
-
-    -4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,
-    -4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,
-    -4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,-4881,
-    -4881,-4881,-4881,-4881,-4881
-    },
-
-    {
-       27,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,
-    -4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,
-    -4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,
-    -4882,-4882, 4994,-4882,-4882,-4882,-4882,-4882,-4882,-4882,
-    -4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,-4882,
-    -4882,-4882,-4882,-4882,-4882,-4882,-4882, 4994,-4882,-4882,
-
-    -4882,-4882,-4882,-4882,-4882
-    },
-
-    {
-       27,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,
-    -4883,-4883,-4883, 4995,-4883,-4883,-4883,-4883,-4883,-4883,
-    -4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,
-    -4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,
-    -4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,
-    -4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,-4883,
-    -4883,-4883,-4883,-4883,-4883
-    },
-
-    {
-       27,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884, 4996,
-    -4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,
-
-    -4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,
-    -4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,
-    -4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,
-    -4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,-4884,
-    -4884,-4884,-4884,-4884,-4884
-    },
-
-    {
-       27,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,
-    -4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,
-    -4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,
-    -4885,-4885, 4997,-4885,-4885,-4885,-4885,-4885,-4885,-4885,
-    -4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,-4885,
-
-    -4885,-4885,-4885,-4885,-4885,-4885,-4885, 4997,-4885,-4885,
-    -4885,-4885,-4885,-4885,-4885
-    },
-
-    {
-       27,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,
-    -4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886, 4998,-4886,
-    -4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,
-    -4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,
-    -4886,-4886,-4886,-4886, 4998,-4886,-4886,-4886,-4886,-4886,
-    -4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,-4886,
-    -4886,-4886,-4886,-4886,-4886
-    },
-
-    {
-       27,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,
-
-    -4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,
-    -4887,-4887,-4887,-4887,-4887,-4887, 4999,-4887,-4887,-4887,
-    -4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,
-    -4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,
-    -4887, 4999,-4887,-4887,-4887,-4887,-4887,-4887,-4887,-4887,
-    -4887,-4887,-4887,-4887,-4887
-    },
-
-    {
-       27,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,
-    -4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,
-    -4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888, 5000,-4888,
-    -4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,
-
-    -4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,-4888,
-    -4888,-4888,-4888, 5000,-4888,-4888,-4888,-4888,-4888,-4888,
-    -4888,-4888,-4888,-4888,-4888
-    },
-
-    {
-       27,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,
-    -4889,-4889,-4889,-4889, 5001,-4889,-4889,-4889,-4889,-4889,
-    -4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,
-    -4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,
-     5001,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,
-    -4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,-4889,
-    -4889,-4889,-4889,-4889,-4889
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 5002,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 5002,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 5003,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 5004,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 5004,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 5005,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 5005,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 4169,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,
-    -4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,
-    -4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,
-    -4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,
-    -4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,
-
-    -4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,-4895,
-    -4895,-4895,-4895,-4895,-4895
-    },
-
-    {
-       27,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,
-    -4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,
-    -4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,
-    -4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,
-    -4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,
-    -4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,-4896,
-    -4896,-4896,-4896,-4896,-4896
-    },
-
-    {
-       27,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,
-
-    -4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,
-    -4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,
-    -4897,-4897, 5006,-4897,-4897,-4897,-4897,-4897,-4897,-4897,
-    -4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,-4897,
-    -4897,-4897,-4897,-4897,-4897,-4897,-4897, 5006,-4897,-4897,
-    -4897,-4897,-4897,-4897,-4897
-    },
-
-    {
-       27,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,
-    -4898,-4898,-4898, 5007,-4898,-4898,-4898,-4898,-4898,-4898,
-    -4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,
-    -4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,
-
-    -4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,
-    -4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,-4898,
-    -4898,-4898,-4898,-4898,-4898
-    },
-
-    {
-       27,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899, 5008,
-    -4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,
-    -4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,
-    -4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,
-    -4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,
-    -4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,-4899,
-    -4899,-4899,-4899,-4899,-4899
-
-    },
-
-    {
-       27,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,
-    -4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,
-    -4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,
-    -4900,-4900, 5009,-4900,-4900,-4900,-4900,-4900,-4900,-4900,
-    -4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,-4900,
-    -4900,-4900,-4900,-4900,-4900,-4900,-4900, 5009,-4900,-4900,
-    -4900,-4900,-4900,-4900,-4900
-    },
-
-    {
-       27,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,
-    -4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901, 5010,-4901,
-    -4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,
-
-    -4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,
-    -4901,-4901,-4901,-4901, 5010,-4901,-4901,-4901,-4901,-4901,
-    -4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,-4901,
-    -4901,-4901,-4901,-4901,-4901
-    },
-
-    {
-       27,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,
-    -4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,
-    -4902,-4902,-4902,-4902,-4902,-4902, 5011,-4902,-4902,-4902,
-    -4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,
-    -4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,
-    -4902, 5011,-4902,-4902,-4902,-4902,-4902,-4902,-4902,-4902,
-
-    -4902,-4902,-4902,-4902,-4902
-    },
-
-    {
-       27,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,
-    -4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,
-    -4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903, 5012,-4903,
-    -4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,
-    -4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,-4903,
-    -4903,-4903,-4903, 5012,-4903,-4903,-4903,-4903,-4903,-4903,
-    -4903,-4903,-4903,-4903,-4903
-    },
-
-    {
-       27,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,
-    -4904,-4904,-4904,-4904, 5013,-4904,-4904,-4904,-4904,-4904,
-
-    -4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,
-    -4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,
-     5013,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,
-    -4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,-4904,
-    -4904,-4904,-4904,-4904,-4904
-    },
-
-    {
-       27,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,
-    -4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,
-    -4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,
-    -4905, 5014,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,
-    -4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,-4905,
-
-    -4905,-4905,-4905,-4905,-4905,-4905, 5014,-4905,-4905,-4905,
-    -4905,-4905,-4905,-4905,-4905
-    },
-
-    {
-       27,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,
-    -4906,-4906,-4906, 5015,-4906,-4906,-4906,-4906,-4906,-4906,
-    -4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,
-    -4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,
-    -4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,
-    -4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,-4906,
-    -4906,-4906,-4906,-4906,-4906
-    },
-
-    {
-       27,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,
-
-    -4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,
-    -4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,
-    -4907,-4907, 5016,-4907,-4907,-4907,-4907,-4907,-4907,-4907,
-    -4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,-4907,
-    -4907,-4907,-4907,-4907,-4907,-4907,-4907, 5016,-4907,-4907,
-    -4907,-4907,-4907,-4907,-4907
-    },
-
-    {
-       27,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,
-    -4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,
-    -4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908, 5017,-4908,
-    -4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,
-
-    -4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,-4908,
-    -4908,-4908,-4908, 5017,-4908,-4908,-4908,-4908,-4908,-4908,
-    -4908,-4908,-4908,-4908,-4908
-    },
-
-    {
-       27,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,
-    -4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,
-    -4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,
-    -4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,
-    -4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,
-    -4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,-4909,
-    -4909,-4909,-4909,-4909,-4909
-
-    },
-
-    {
-       27,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,
-    -4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,
-    -4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,
-    -4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,
-    -4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,
-    -4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,-4910,
-    -4910,-4910,-4910,-4910,-4910
-    },
-
-    {
-       27,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,
-    -4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,
-    -4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,
-
-    -4911,-4911, 5018,-4911,-4911,-4911,-4911,-4911,-4911,-4911,
-    -4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,-4911,
-    -4911,-4911,-4911,-4911,-4911,-4911,-4911, 5018,-4911,-4911,
-    -4911,-4911,-4911,-4911,-4911
-    },
-
-    {
-       27,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,
-    -4912,-4912,-4912, 5019,-4912,-4912,-4912,-4912,-4912,-4912,
-    -4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,
-    -4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,
-    -4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,
-    -4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,-4912,
-
-    -4912,-4912,-4912,-4912,-4912
-    },
-
-    {
-       27,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913, 5020,
-    -4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,
-    -4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,
-    -4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,
-    -4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,
-    -4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,-4913,
-    -4913,-4913,-4913,-4913,-4913
-    },
-
-    {
-       27,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,
-    -4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,
-
-    -4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,
-    -4914,-4914, 5021,-4914,-4914,-4914,-4914,-4914,-4914,-4914,
-    -4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,-4914,
-    -4914,-4914,-4914,-4914,-4914,-4914,-4914, 5021,-4914,-4914,
-    -4914,-4914,-4914,-4914,-4914
-    },
-
-    {
-       27,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,
-    -4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915, 5022,-4915,
-    -4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,
-    -4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,
-    -4915,-4915,-4915,-4915, 5022,-4915,-4915,-4915,-4915,-4915,
-
-    -4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,-4915,
-    -4915,-4915,-4915,-4915,-4915
-    },
-
-    {
-       27,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,
-    -4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,
-    -4916,-4916,-4916,-4916,-4916,-4916, 5023,-4916,-4916,-4916,
-    -4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,
-    -4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,
-    -4916, 5023,-4916,-4916,-4916,-4916,-4916,-4916,-4916,-4916,
-    -4916,-4916,-4916,-4916,-4916
-    },
-
-    {
-       27,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,
-
-    -4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,
-    -4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917, 5024,-4917,
-    -4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,
-    -4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,-4917,
-    -4917,-4917,-4917, 5024,-4917,-4917,-4917,-4917,-4917,-4917,
-    -4917,-4917,-4917,-4917,-4917
-    },
-
-    {
-       27,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,
-    -4918,-4918,-4918,-4918, 5025,-4918,-4918,-4918,-4918,-4918,
-    -4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,
-    -4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,
-
-     5025,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,
-    -4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,-4918,
-    -4918,-4918,-4918,-4918,-4918
-    },
-
-    {
-       27,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,
-    -4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,
-    -4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,
-    -4919, 5026,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,
-    -4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,-4919,
-    -4919,-4919,-4919,-4919,-4919,-4919, 5026,-4919,-4919,-4919,
-    -4919,-4919,-4919,-4919,-4919
-
-    },
-
-    {
-       27,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,
-    -4920,-4920,-4920, 5027,-4920,-4920,-4920,-4920,-4920,-4920,
-    -4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,
-    -4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,
-    -4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,
-    -4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,-4920,
-    -4920,-4920,-4920,-4920,-4920
-    },
-
-    {
-       27,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,
-    -4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,
-    -4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,
-
-    -4921,-4921, 5028,-4921,-4921,-4921,-4921,-4921,-4921,-4921,
-    -4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,-4921,
-    -4921,-4921,-4921,-4921,-4921,-4921,-4921, 5028,-4921,-4921,
-    -4921,-4921,-4921,-4921,-4921
-    },
-
-    {
-       27,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,
-    -4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,
-    -4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922, 5029,-4922,
-    -4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,
-    -4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,-4922,
-    -4922,-4922,-4922, 5029,-4922,-4922,-4922,-4922,-4922,-4922,
-
-    -4922,-4922,-4922,-4922,-4922
-    },
-
-    {
-       27,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,
-    -4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,
-    -4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,
-    -4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,
-    -4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,
-    -4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,-4923,
-    -4923,-4923,-4923,-4923,-4923
-    },
-
-    {
-       27,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,
-    -4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,
-
-    -4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,
-    -4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,
-    -4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,
-    -4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,-4924,
-    -4924,-4924,-4924,-4924,-4924
-    },
-
-    {
-       27,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,
-    -4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,
-    -4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,
-    -4925,-4925, 5030,-4925,-4925,-4925,-4925,-4925,-4925,-4925,
-    -4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,-4925,
-
-    -4925,-4925,-4925,-4925,-4925,-4925,-4925, 5030,-4925,-4925,
-    -4925,-4925,-4925,-4925,-4925
-    },
-
-    {
-       27,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,
-    -4926,-4926,-4926, 5031,-4926,-4926,-4926,-4926,-4926,-4926,
-    -4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,
-    -4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,
-    -4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,
-    -4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,-4926,
-    -4926,-4926,-4926,-4926,-4926
-    },
-
-    {
-       27,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927, 5032,
-
-    -4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,
-    -4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,
-    -4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,
-    -4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,
-    -4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,-4927,
-    -4927,-4927,-4927,-4927,-4927
-    },
-
-    {
-       27,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,
-    -4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,
-    -4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,
-    -4928,-4928, 5033,-4928,-4928,-4928,-4928,-4928,-4928,-4928,
-
-    -4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,-4928,
-    -4928,-4928,-4928,-4928,-4928,-4928,-4928, 5033,-4928,-4928,
-    -4928,-4928,-4928,-4928,-4928
-    },
-
-    {
-       27,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,
-    -4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929, 5034,-4929,
-    -4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,
-    -4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,
-    -4929,-4929,-4929,-4929, 5034,-4929,-4929,-4929,-4929,-4929,
-    -4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,-4929,
-    -4929,-4929,-4929,-4929,-4929
-
-    },
-
-    {
-       27,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,
-    -4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,
-    -4930,-4930,-4930,-4930,-4930,-4930, 5035,-4930,-4930,-4930,
-    -4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,
-    -4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,
-    -4930, 5035,-4930,-4930,-4930,-4930,-4930,-4930,-4930,-4930,
-    -4930,-4930,-4930,-4930,-4930
-    },
-
-    {
-       27,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,
-    -4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,
-    -4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931, 5036,-4931,
-
-    -4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,
-    -4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,-4931,
-    -4931,-4931,-4931, 5036,-4931,-4931,-4931,-4931,-4931,-4931,
-    -4931,-4931,-4931,-4931,-4931
-    },
-
-    {
-       27,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,
-    -4932,-4932,-4932,-4932, 5037,-4932,-4932,-4932,-4932,-4932,
-    -4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,
-    -4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,
-     5037,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,
-    -4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,-4932,
-
-    -4932,-4932,-4932,-4932,-4932
-    },
-
-    {
-       27,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,
-    -4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,
-    -4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,
-    -4933, 5038,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,
-    -4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,-4933,
-    -4933,-4933,-4933,-4933,-4933,-4933, 5038,-4933,-4933,-4933,
-    -4933,-4933,-4933,-4933,-4933
-    },
-
-    {
-       27,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,
-    -4934,-4934,-4934, 5039,-4934,-4934,-4934,-4934,-4934,-4934,
-
-    -4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,
-    -4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,
-    -4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,
-    -4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,-4934,
-    -4934,-4934,-4934,-4934,-4934
-    },
-
-    {
-       27,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,
-    -4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,
-    -4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,
-    -4935,-4935, 5040,-4935,-4935,-4935,-4935,-4935,-4935,-4935,
-    -4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,-4935,
-
-    -4935,-4935,-4935,-4935,-4935,-4935,-4935, 5040,-4935,-4935,
-    -4935,-4935,-4935,-4935,-4935
-    },
-
-    {
-       27,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,
-    -4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,
-    -4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936, 5041,-4936,
-    -4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,
-    -4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,-4936,
-    -4936,-4936,-4936, 5041,-4936,-4936,-4936,-4936,-4936,-4936,
-    -4936,-4936,-4936,-4936,-4936
-    },
-
-    {
-       27,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,
-
-    -4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,
-    -4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,
-    -4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,
-    -4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,
-    -4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,-4937,
-    -4937,-4937,-4937,-4937,-4937
-    },
-
-    {
-       27,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,
-    -4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,
-    -4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,
-    -4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,
-
-    -4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,
-    -4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,-4938,
-    -4938,-4938,-4938,-4938,-4938
-    },
-
-    {
-       27,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,
-    -4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,
-    -4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,
-    -4939,-4939, 5042,-4939,-4939,-4939,-4939,-4939,-4939,-4939,
-    -4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,-4939,
-    -4939,-4939,-4939,-4939,-4939,-4939,-4939, 5042,-4939,-4939,
-    -4939,-4939,-4939,-4939,-4939
-
-    },
-
-    {
-       27,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,
-    -4940,-4940,-4940, 5043,-4940,-4940,-4940,-4940,-4940,-4940,
-    -4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,
-    -4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,
-    -4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,
-    -4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,-4940,
-    -4940,-4940,-4940,-4940,-4940
-    },
-
-    {
-       27,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941, 5044,
-    -4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,
-    -4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,
-
-    -4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,
-    -4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,
-    -4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,-4941,
-    -4941,-4941,-4941,-4941,-4941
-    },
-
-    {
-       27,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,
-    -4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,
-    -4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,
-    -4942,-4942, 5045,-4942,-4942,-4942,-4942,-4942,-4942,-4942,
-    -4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,-4942,
-    -4942,-4942,-4942,-4942,-4942,-4942,-4942, 5045,-4942,-4942,
-
-    -4942,-4942,-4942,-4942,-4942
-    },
-
-    {
-       27,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,
-    -4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943, 5046,-4943,
-    -4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,
-    -4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,
-    -4943,-4943,-4943,-4943, 5046,-4943,-4943,-4943,-4943,-4943,
-    -4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,-4943,
-    -4943,-4943,-4943,-4943,-4943
-    },
-
-    {
-       27,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,
-    -4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,
-
-    -4944,-4944,-4944,-4944,-4944,-4944, 5047,-4944,-4944,-4944,
-    -4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,
-    -4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,
-    -4944, 5047,-4944,-4944,-4944,-4944,-4944,-4944,-4944,-4944,
-    -4944,-4944,-4944,-4944,-4944
-    },
-
-    {
-       27,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,
-    -4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,
-    -4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945, 5048,-4945,
-    -4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,
-    -4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,-4945,
-
-    -4945,-4945,-4945, 5048,-4945,-4945,-4945,-4945,-4945,-4945,
-    -4945,-4945,-4945,-4945,-4945
-    },
-
-    {
-       27,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,
-    -4946,-4946,-4946,-4946, 5049,-4946,-4946,-4946,-4946,-4946,
-    -4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,
-    -4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,
-     5049,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,
-    -4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,-4946,
-    -4946,-4946,-4946,-4946,-4946
-    },
-
-    {
-       27,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,
-
-    -4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,
-    -4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,
-    -4947, 5050,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,
-    -4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,-4947,
-    -4947,-4947,-4947,-4947,-4947,-4947, 5050,-4947,-4947,-4947,
-    -4947,-4947,-4947,-4947,-4947
-    },
-
-    {
-       27,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,
-    -4948,-4948,-4948, 5051,-4948,-4948,-4948,-4948,-4948,-4948,
-    -4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,
-    -4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,
-
-    -4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,
-    -4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,-4948,
-    -4948,-4948,-4948,-4948,-4948
-    },
-
-    {
-       27,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,
-    -4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,
-    -4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,
-    -4949,-4949, 5052,-4949,-4949,-4949,-4949,-4949,-4949,-4949,
-    -4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,-4949,
-    -4949,-4949,-4949,-4949,-4949,-4949,-4949, 5052,-4949,-4949,
-    -4949,-4949,-4949,-4949,-4949
-
-    },
-
-    {
-       27,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,
-    -4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,
-    -4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950, 5053,-4950,
-    -4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,
-    -4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,-4950,
-    -4950,-4950,-4950, 5053,-4950,-4950,-4950,-4950,-4950,-4950,
-    -4950,-4950,-4950,-4950,-4950
-    },
-
-    {
-       27,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,
-    -4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,
-    -4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,
-
-    -4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,
-    -4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,
-    -4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,-4951,
-    -4951,-4951,-4951,-4951,-4951
-    },
-
-    {
-       27,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,
-    -4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,
-    -4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,
-    -4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,
-    -4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,
-    -4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,-4952,
-
-    -4952,-4952,-4952,-4952,-4952
-    },
-
-    {
-       27,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,
-    -4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,
-    -4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,
-    -4953,-4953, 5054,-4953,-4953,-4953,-4953,-4953,-4953,-4953,
-    -4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,-4953,
-    -4953,-4953,-4953,-4953,-4953,-4953,-4953, 5054,-4953,-4953,
-    -4953,-4953,-4953,-4953,-4953
-    },
-
-    {
-       27,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,
-    -4954,-4954,-4954, 5055,-4954,-4954,-4954,-4954,-4954,-4954,
-
-    -4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,
-    -4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,
-    -4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,
-    -4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,-4954,
-    -4954,-4954,-4954,-4954,-4954
-    },
-
-    {
-       27,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955, 5056,
-    -4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,
-    -4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,
-    -4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,
-    -4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,
-
-    -4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,-4955,
-    -4955,-4955,-4955,-4955,-4955
-    },
-
-    {
-       27,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,
-    -4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,
-    -4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,
-    -4956,-4956, 5057,-4956,-4956,-4956,-4956,-4956,-4956,-4956,
-    -4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,-4956,
-    -4956,-4956,-4956,-4956,-4956,-4956,-4956, 5057,-4956,-4956,
-    -4956,-4956,-4956,-4956,-4956
-    },
-
-    {
-       27,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,
-
-    -4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957, 5058,-4957,
-    -4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,
-    -4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,
-    -4957,-4957,-4957,-4957, 5058,-4957,-4957,-4957,-4957,-4957,
-    -4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,-4957,
-    -4957,-4957,-4957,-4957,-4957
-    },
-
-    {
-       27,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,
-    -4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,
-    -4958,-4958,-4958,-4958,-4958,-4958, 5059,-4958,-4958,-4958,
-    -4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,
-
-    -4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,
-    -4958, 5059,-4958,-4958,-4958,-4958,-4958,-4958,-4958,-4958,
-    -4958,-4958,-4958,-4958,-4958
-    },
-
-    {
-       27,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,
-    -4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,
-    -4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959, 5060,-4959,
-    -4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,
-    -4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,-4959,
-    -4959,-4959,-4959, 5060,-4959,-4959,-4959,-4959,-4959,-4959,
-    -4959,-4959,-4959,-4959,-4959
-
-    },
-
-    {
-       27,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,
-    -4960,-4960,-4960,-4960, 5061,-4960,-4960,-4960,-4960,-4960,
-    -4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,
-    -4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,
-     5061,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,
-    -4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,-4960,
-    -4960,-4960,-4960,-4960,-4960
-    },
-
-    {
-       27,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,
-    -4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,
-    -4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,
-
-    -4961, 5062,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,
-    -4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,-4961,
-    -4961,-4961,-4961,-4961,-4961,-4961, 5062,-4961,-4961,-4961,
-    -4961,-4961,-4961,-4961,-4961
-    },
-
-    {
-       27,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,
-    -4962,-4962,-4962, 5063,-4962,-4962,-4962,-4962,-4962,-4962,
-    -4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,
-    -4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,
-    -4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,
-    -4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,-4962,
-
-    -4962,-4962,-4962,-4962,-4962
-    },
-
-    {
-       27,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,
-    -4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,
-    -4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,
-    -4963,-4963, 5064,-4963,-4963,-4963,-4963,-4963,-4963,-4963,
-    -4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,-4963,
-    -4963,-4963,-4963,-4963,-4963,-4963,-4963, 5064,-4963,-4963,
-    -4963,-4963,-4963,-4963,-4963
-    },
-
-    {
-       27,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,
-    -4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,
-
-    -4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964, 5065,-4964,
-    -4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,
-    -4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,-4964,
-    -4964,-4964,-4964, 5065,-4964,-4964,-4964,-4964,-4964,-4964,
-    -4964,-4964,-4964,-4964,-4964
-    },
-
-    {
-       27,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,
-    -4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,
-    -4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,
-    -4965, 5066,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,
-    -4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,-4965,
-
-    -4965,-4965,-4965,-4965,-4965,-4965, 5066,-4965,-4965,-4965,
-    -4965,-4965,-4965,-4965,-4965
-    },
-
-    {
-       27,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,
-    -4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,
-    -4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,
-    -4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,
-    -4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,
-    -4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,-4966,
-    -4966,-4966,-4966,-4966,-4966
-    },
-
-    {
-       27,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,
-
-    -4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,
-    -4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,
-    -4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,
-    -4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,
-    -4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,-4967,
-    -4967,-4967,-4967,-4967,-4967
-    },
-
-    {
-       27,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,
-    -4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,
-    -4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,
-    -4968,-4968, 5067,-4968,-4968,-4968,-4968,-4968,-4968,-4968,
-
-    -4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,-4968,
-    -4968,-4968,-4968,-4968,-4968,-4968,-4968, 5067,-4968,-4968,
-    -4968,-4968,-4968,-4968,-4968
-    },
-
-    {
-       27,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,
-    -4969,-4969,-4969, 5068,-4969,-4969,-4969,-4969,-4969,-4969,
-    -4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,
-    -4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,
-    -4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,
-    -4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,-4969,
-    -4969,-4969,-4969,-4969,-4969
-
-    },
-
-    {
-       27,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970, 5069,
-    -4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,
-    -4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,
-    -4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,
-    -4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,
-    -4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,-4970,
-    -4970,-4970,-4970,-4970,-4970
-    },
-
-    {
-       27,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,
-    -4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,
-    -4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,
-
-    -4971,-4971, 5070,-4971,-4971,-4971,-4971,-4971,-4971,-4971,
-    -4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,-4971,
-    -4971,-4971,-4971,-4971,-4971,-4971,-4971, 5070,-4971,-4971,
-    -4971,-4971,-4971,-4971,-4971
-    },
-
-    {
-       27,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,
-    -4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972, 5071,-4972,
-    -4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,
-    -4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,
-    -4972,-4972,-4972,-4972, 5071,-4972,-4972,-4972,-4972,-4972,
-    -4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,-4972,
-
-    -4972,-4972,-4972,-4972,-4972
-    },
-
-    {
-       27,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,
-    -4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,
-    -4973,-4973,-4973,-4973,-4973,-4973, 5072,-4973,-4973,-4973,
-    -4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,
-    -4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,
-    -4973, 5072,-4973,-4973,-4973,-4973,-4973,-4973,-4973,-4973,
-    -4973,-4973,-4973,-4973,-4973
-    },
-
-    {
-       27,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,
-    -4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,
-
-    -4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974, 5073,-4974,
-    -4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,
-    -4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,-4974,
-    -4974,-4974,-4974, 5073,-4974,-4974,-4974,-4974,-4974,-4974,
-    -4974,-4974,-4974,-4974,-4974
-    },
-
-    {
-       27,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,
-    -4975,-4975,-4975,-4975, 5074,-4975,-4975,-4975,-4975,-4975,
-    -4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,
-    -4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,
-     5074,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,
-
-    -4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,-4975,
-    -4975,-4975,-4975,-4975,-4975
-    },
-
-    {
-       27,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,
-    -4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,
-    -4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,
-    -4976, 5075,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,
-    -4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,-4976,
-    -4976,-4976,-4976,-4976,-4976,-4976, 5075,-4976,-4976,-4976,
-    -4976,-4976,-4976,-4976,-4976
-    },
-
-    {
-       27,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,
-
-    -4977,-4977,-4977, 5076,-4977,-4977,-4977,-4977,-4977,-4977,
-    -4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,
-    -4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,
-    -4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,
-    -4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,-4977,
-    -4977,-4977,-4977,-4977,-4977
-    },
-
-    {
-       27,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,
-    -4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,
-    -4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,
-    -4978,-4978, 5077,-4978,-4978,-4978,-4978,-4978,-4978,-4978,
-
-    -4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,-4978,
-    -4978,-4978,-4978,-4978,-4978,-4978,-4978, 5077,-4978,-4978,
-    -4978,-4978,-4978,-4978,-4978
-    },
-
-    {
-       27,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,
-    -4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,
-    -4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979, 5078,-4979,
-    -4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,
-    -4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,-4979,
-    -4979,-4979,-4979, 5078,-4979,-4979,-4979,-4979,-4979,-4979,
-    -4979,-4979,-4979,-4979,-4979
-
-    },
-
-    {
-       27,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,
-    -4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,
-    -4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,
-    -4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,
-    -4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,
-    -4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,-4980,
-    -4980,-4980,-4980,-4980,-4980
-    },
-
-    {
-       27,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,
-    -4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,
-    -4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,
-
-    -4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,
-    -4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,
-    -4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,-4981,
-    -4981,-4981,-4981,-4981,-4981
-    },
-
-    {
-       27,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,
-    -4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,
-    -4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,
-    -4982,-4982, 5079,-4982,-4982,-4982,-4982,-4982,-4982,-4982,
-    -4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,-4982,
-    -4982,-4982,-4982,-4982,-4982,-4982,-4982, 5079,-4982,-4982,
-
-    -4982,-4982,-4982,-4982,-4982
-    },
-
-    {
-       27,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,
-    -4983,-4983,-4983, 5080,-4983,-4983,-4983,-4983,-4983,-4983,
-    -4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,
-    -4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,
-    -4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,
-    -4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,-4983,
-    -4983,-4983,-4983,-4983,-4983
-    },
-
-    {
-       27,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984, 5081,
-    -4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,
-
-    -4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,
-    -4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,
-    -4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,
-    -4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,-4984,
-    -4984,-4984,-4984,-4984,-4984
-    },
-
-    {
-       27,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,
-    -4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,
-    -4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,
-    -4985,-4985, 5082,-4985,-4985,-4985,-4985,-4985,-4985,-4985,
-    -4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,-4985,
-
-    -4985,-4985,-4985,-4985,-4985,-4985,-4985, 5082,-4985,-4985,
-    -4985,-4985,-4985,-4985,-4985
-    },
-
-    {
-       27,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,
-    -4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986, 5083,-4986,
-    -4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,
-    -4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,
-    -4986,-4986,-4986,-4986, 5083,-4986,-4986,-4986,-4986,-4986,
-    -4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,-4986,
-    -4986,-4986,-4986,-4986,-4986
-    },
-
-    {
-       27,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,
-
-    -4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,
-    -4987,-4987,-4987,-4987,-4987,-4987, 5084,-4987,-4987,-4987,
-    -4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,
-    -4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,
-    -4987, 5084,-4987,-4987,-4987,-4987,-4987,-4987,-4987,-4987,
-    -4987,-4987,-4987,-4987,-4987
-    },
-
-    {
-       27,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,
-    -4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,
-    -4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988, 5085,-4988,
-    -4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,
-
-    -4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,-4988,
-    -4988,-4988,-4988, 5085,-4988,-4988,-4988,-4988,-4988,-4988,
-    -4988,-4988,-4988,-4988,-4988
-    },
-
-    {
-       27,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,
-    -4989,-4989,-4989,-4989, 5086,-4989,-4989,-4989,-4989,-4989,
-    -4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,
-    -4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,
-     5086,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,
-    -4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,-4989,
-    -4989,-4989,-4989,-4989,-4989
-
-    },
-
-    {
-       27,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,
-    -4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,
-    -4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,
-    -4990, 5087,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,
-    -4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,-4990,
-    -4990,-4990,-4990,-4990,-4990,-4990, 5087,-4990,-4990,-4990,
-    -4990,-4990,-4990,-4990,-4990
-    },
-
-    {
-       27,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,
-    -4991,-4991,-4991, 5088,-4991,-4991,-4991,-4991,-4991,-4991,
-    -4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,
-
-    -4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,
-    -4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,
-    -4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,-4991,
-    -4991,-4991,-4991,-4991,-4991
-    },
-
-    {
-       27,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,
-    -4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,
-    -4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,
-    -4992,-4992, 5089,-4992,-4992,-4992,-4992,-4992,-4992,-4992,
-    -4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,-4992,
-    -4992,-4992,-4992,-4992,-4992,-4992,-4992, 5089,-4992,-4992,
-
-    -4992,-4992,-4992,-4992,-4992
-    },
-
-    {
-       27,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,
-    -4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,
-    -4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993, 5090,-4993,
-    -4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,
-    -4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,-4993,
-    -4993,-4993,-4993, 5090,-4993,-4993,-4993,-4993,-4993,-4993,
-    -4993,-4993,-4993,-4993,-4993
-    },
-
-    {
-       27,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,
-    -4994,-4994,-4994, 5091,-4994,-4994,-4994,-4994,-4994,-4994,
-
-    -4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,
-    -4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,
-    -4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,
-    -4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,-4994,
-    -4994,-4994,-4994,-4994,-4994
-    },
-
-    {
-       27,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,
-    -4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,
-    -4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,
-    -4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,
-    -4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,
-
-    -4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,-4995,
-    -4995,-4995,-4995,-4995,-4995
-    },
-
-    {
-       27,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,
-    -4996,-4996,-4996,-4996,-4996,-4996, 5092,-4996,-4996,-4996,
-    -4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,
-    -4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,
-    -4996,-4996, 5092,-4996,-4996,-4996,-4996,-4996,-4996,-4996,
-    -4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,-4996,
-    -4996,-4996,-4996,-4996,-4996
-    },
-
-    {
-       27,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,
-
-    -4997,-4997,-4997, 5093,-4997,-4997,-4997,-4997,-4997,-4997,
-    -4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,
-    -4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,
-    -4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,
-    -4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,-4997,
-    -4997,-4997,-4997,-4997,-4997
-    },
-
-    {
-       27,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,
-    -4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,
-    -4998,-4998,-4998,-4998,-4998,-4998,-4998, 5094,-4998,-4998,
-    -4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,
-
-    -4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,-4998,
-    -4998,-4998, 5094,-4998,-4998,-4998,-4998,-4998,-4998,-4998,
-    -4998,-4998,-4998,-4998,-4998
-    },
-
-    {
-       27,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,
-    -4999,-4999,-4999, 5095,-4999,-4999,-4999,-4999,-4999,-4999,
-    -4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,
-    -4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,
-    -4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,
-    -4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,-4999,
-    -4999,-4999,-4999,-4999,-4999
-
-    },
-
-    {
-       27,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,
-    -5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,
-    -5000,-5000,-5000,-5000,-5000,-5000,-5000, 5096,-5000,-5000,
-    -5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,
-    -5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,-5000,
-    -5000,-5000, 5096,-5000,-5000,-5000,-5000,-5000,-5000,-5000,
-    -5000,-5000,-5000,-5000,-5000
-    },
-
-    {
-       27,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,
-    -5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,
-    -5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,
-
-    -5001, 5097,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,
-    -5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,-5001,
-    -5001,-5001,-5001,-5001,-5001,-5001, 5097,-5001,-5001,-5001,
-    -5001,-5001,-5001,-5001,-5001
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 4392,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5003, 5098, 5098,-5003,-5003,-5003,-5003,-5003,-5003,
-    -5003,-5003, 5099,-5003,-5003,-5003,-5003,-5003,-5003,-5003,
-    -5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,
-    -5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,
-    -5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,
-    -5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,-5003,
-    -5003,-5003,-5003,-5003,-5003
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 5100,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 5100,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 5101,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184, 5101,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,
-    -5006,-5006,-5006, 5102,-5006,-5006,-5006,-5006,-5006,-5006,
-    -5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,
-    -5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,
-    -5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,
-    -5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,-5006,
-    -5006,-5006,-5006,-5006,-5006
-    },
-
-    {
-       27,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,
-
-    -5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,
-    -5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,
-    -5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,
-    -5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,
-    -5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,-5007,
-    -5007,-5007,-5007,-5007,-5007
-    },
-
-    {
-       27,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,
-    -5008,-5008,-5008,-5008,-5008,-5008, 5103,-5008,-5008,-5008,
-    -5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,
-    -5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,
-
-    -5008,-5008, 5103,-5008,-5008,-5008,-5008,-5008,-5008,-5008,
-    -5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,-5008,
-    -5008,-5008,-5008,-5008,-5008
-    },
-
-    {
-       27,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,
-    -5009,-5009,-5009, 5104,-5009,-5009,-5009,-5009,-5009,-5009,
-    -5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,
-    -5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,
-    -5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,
-    -5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,-5009,
-    -5009,-5009,-5009,-5009,-5009
-
-    },
-
-    {
-       27,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,
-    -5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,
-    -5010,-5010,-5010,-5010,-5010,-5010,-5010, 5105,-5010,-5010,
-    -5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,
-    -5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,-5010,
-    -5010,-5010, 5105,-5010,-5010,-5010,-5010,-5010,-5010,-5010,
-    -5010,-5010,-5010,-5010,-5010
-    },
-
-    {
-       27,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,
-    -5011,-5011,-5011, 5106,-5011,-5011,-5011,-5011,-5011,-5011,
-    -5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,
-
-    -5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,
-    -5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,
-    -5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,-5011,
-    -5011,-5011,-5011,-5011,-5011
-    },
-
-    {
-       27,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,
-    -5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,
-    -5012,-5012,-5012,-5012,-5012,-5012,-5012, 5107,-5012,-5012,
-    -5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,
-    -5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,-5012,
-    -5012,-5012, 5107,-5012,-5012,-5012,-5012,-5012,-5012,-5012,
-
-    -5012,-5012,-5012,-5012,-5012
-    },
-
-    {
-       27,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,
-    -5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,
-    -5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,
-    -5013, 5108,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,
-    -5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,-5013,
-    -5013,-5013,-5013,-5013,-5013,-5013, 5108,-5013,-5013,-5013,
-    -5013,-5013,-5013,-5013,-5013
-    },
-
-    {
-       27,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014, 4416,
-    -5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,
-
-    -5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,
-    -5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,
-    -5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,
-    -5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,-5014,
-    -5014,-5014,-5014,-5014,-5014
-    },
-
-    {
-       27,-5015, 5109, 5109,-5015,-5015,-5015,-5015,-5015,-5015,
-    -5015,-5015, 5110,-5015,-5015,-5015,-5015,-5015,-5015,-5015,
-    -5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,
-    -5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,
-    -5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,
-
-    -5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,-5015,
-    -5015,-5015,-5015,-5015,-5015
-    },
-
-    {
-       27,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,
-    -5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,
-    -5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,
-    -5016,-5016,-5016, 5111,-5016,-5016,-5016,-5016,-5016,-5016,
-    -5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016,
-    -5016,-5016,-5016,-5016,-5016,-5016,-5016,-5016, 5111,-5016,
-    -5016,-5016,-5016,-5016,-5016
-    },
-
-    {
-       27,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,
-
-    -5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,
-    -5017,-5017,-5017,-5017,-5017,-5017,-5017, 5112,-5017,-5017,
-    -5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,
-    -5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,-5017,
-    -5017,-5017, 5112,-5017,-5017,-5017,-5017,-5017,-5017,-5017,
-    -5017,-5017,-5017,-5017,-5017
-    },
-
-    {
-       27,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,
-    -5018,-5018,-5018, 5113,-5018,-5018,-5018,-5018,-5018,-5018,
-    -5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,
-    -5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,
-
-    -5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,
-    -5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,-5018,
-    -5018,-5018,-5018,-5018,-5018
-    },
-
-    {
-       27,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,
-    -5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,
-    -5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,
-    -5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,
-    -5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,
-    -5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,-5019,
-    -5019,-5019,-5019,-5019,-5019
-
-    },
-
-    {
-       27,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,
-    -5020,-5020,-5020,-5020,-5020,-5020, 5114,-5020,-5020,-5020,
-    -5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,
-    -5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,
-    -5020,-5020, 5114,-5020,-5020,-5020,-5020,-5020,-5020,-5020,
-    -5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,-5020,
-    -5020,-5020,-5020,-5020,-5020
-    },
-
-    {
-       27,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,
-    -5021,-5021,-5021, 5115,-5021,-5021,-5021,-5021,-5021,-5021,
-    -5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,
-
-    -5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,
-    -5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,
-    -5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,-5021,
-    -5021,-5021,-5021,-5021,-5021
-    },
-
-    {
-       27,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,
-    -5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,
-    -5022,-5022,-5022,-5022,-5022,-5022,-5022, 5116,-5022,-5022,
-    -5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,
-    -5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,-5022,
-    -5022,-5022, 5116,-5022,-5022,-5022,-5022,-5022,-5022,-5022,
-
-    -5022,-5022,-5022,-5022,-5022
-    },
-
-    {
-       27,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,
-    -5023,-5023,-5023, 5117,-5023,-5023,-5023,-5023,-5023,-5023,
-    -5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,
-    -5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,
-    -5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,
-    -5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,-5023,
-    -5023,-5023,-5023,-5023,-5023
-    },
-
-    {
-       27,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,
-    -5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,
-
-    -5024,-5024,-5024,-5024,-5024,-5024,-5024, 5118,-5024,-5024,
-    -5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,
-    -5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,-5024,
-    -5024,-5024, 5118,-5024,-5024,-5024,-5024,-5024,-5024,-5024,
-    -5024,-5024,-5024,-5024,-5024
-    },
-
-    {
-       27,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,
-    -5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,
-    -5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,
-    -5025, 5119,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,
-    -5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,-5025,
-
-    -5025,-5025,-5025,-5025,-5025,-5025, 5119,-5025,-5025,-5025,
-    -5025,-5025,-5025,-5025,-5025
-    },
-
-    {
-       27,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026, 4439,
-    -5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,
-    -5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,
-    -5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,
-    -5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,
-    -5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,-5026,
-    -5026,-5026,-5026,-5026,-5026
-    },
-
-    {
-       27,-5027, 5120, 5120,-5027,-5027,-5027,-5027,-5027,-5027,
-
-    -5027,-5027, 5121,-5027,-5027,-5027,-5027,-5027,-5027,-5027,
-    -5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,
-    -5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,
-    -5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,
-    -5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,-5027,
-    -5027,-5027,-5027,-5027,-5027
-    },
-
-    {
-       27,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,
-    -5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,
-    -5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,
-    -5028,-5028,-5028, 5122,-5028,-5028,-5028,-5028,-5028,-5028,
-
-    -5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028,
-    -5028,-5028,-5028,-5028,-5028,-5028,-5028,-5028, 5122,-5028,
-    -5028,-5028,-5028,-5028,-5028
-    },
-
-    {
-       27,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,
-    -5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,
-    -5029,-5029,-5029,-5029,-5029,-5029,-5029, 5123,-5029,-5029,
-    -5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,
-    -5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,-5029,
-    -5029,-5029, 5123,-5029,-5029,-5029,-5029,-5029,-5029,-5029,
-    -5029,-5029,-5029,-5029,-5029
-
-    },
-
-    {
-       27,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,
-    -5030,-5030,-5030, 5124,-5030,-5030,-5030,-5030,-5030,-5030,
-    -5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,
-    -5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,
-    -5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,
-    -5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,-5030,
-    -5030,-5030,-5030,-5030,-5030
-    },
-
-    {
-       27,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,
-    -5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,
-    -5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,
-
-    -5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,
-    -5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,
-    -5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,-5031,
-    -5031,-5031,-5031,-5031,-5031
-    },
-
-    {
-       27,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,
-    -5032,-5032,-5032,-5032,-5032,-5032, 5125,-5032,-5032,-5032,
-    -5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,
-    -5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,
-    -5032,-5032, 5125,-5032,-5032,-5032,-5032,-5032,-5032,-5032,
-    -5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,-5032,
-
-    -5032,-5032,-5032,-5032,-5032
-    },
-
-    {
-       27,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,
-    -5033,-5033,-5033, 5126,-5033,-5033,-5033,-5033,-5033,-5033,
-    -5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,
-    -5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,
-    -5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,
-    -5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,-5033,
-    -5033,-5033,-5033,-5033,-5033
-    },
-
-    {
-       27,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,
-    -5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,
-
-    -5034,-5034,-5034,-5034,-5034,-5034,-5034, 5127,-5034,-5034,
-    -5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,
-    -5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,-5034,
-    -5034,-5034, 5127,-5034,-5034,-5034,-5034,-5034,-5034,-5034,
-    -5034,-5034,-5034,-5034,-5034
-    },
-
-    {
-       27,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,
-    -5035,-5035,-5035, 5128,-5035,-5035,-5035,-5035,-5035,-5035,
-    -5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,
-    -5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,
-    -5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,
-
-    -5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,-5035,
-    -5035,-5035,-5035,-5035,-5035
-    },
-
-    {
-       27,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,
-    -5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,
-    -5036,-5036,-5036,-5036,-5036,-5036,-5036, 5129,-5036,-5036,
-    -5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,
-    -5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,-5036,
-    -5036,-5036, 5129,-5036,-5036,-5036,-5036,-5036,-5036,-5036,
-    -5036,-5036,-5036,-5036,-5036
-    },
-
-    {
-       27,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,
-
-    -5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,
-    -5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,
-    -5037, 5130,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,
-    -5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,-5037,
-    -5037,-5037,-5037,-5037,-5037,-5037, 5130,-5037,-5037,-5037,
-    -5037,-5037,-5037,-5037,-5037
-    },
-
-    {
-       27,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038, 4462,
-    -5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,
-    -5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,
-    -5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,
-
-    -5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,
-    -5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,-5038,
-    -5038,-5038,-5038,-5038,-5038
-    },
-
-    {
-       27,-5039, 5131, 5131,-5039,-5039,-5039,-5039,-5039,-5039,
-    -5039,-5039, 5132,-5039,-5039,-5039,-5039,-5039,-5039,-5039,
-    -5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,
-    -5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,
-    -5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,
-    -5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,-5039,
-    -5039,-5039,-5039,-5039,-5039
-
-    },
-
-    {
-       27,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,
-    -5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,
-    -5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,
-    -5040,-5040,-5040, 5133,-5040,-5040,-5040,-5040,-5040,-5040,
-    -5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040,
-    -5040,-5040,-5040,-5040,-5040,-5040,-5040,-5040, 5133,-5040,
-    -5040,-5040,-5040,-5040,-5040
-    },
-
-    {
-       27,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,
-    -5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,
-    -5041,-5041,-5041,-5041,-5041,-5041,-5041, 5134,-5041,-5041,
-
-    -5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,
-    -5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,-5041,
-    -5041,-5041, 5134,-5041,-5041,-5041,-5041,-5041,-5041,-5041,
-    -5041,-5041,-5041,-5041,-5041
-    },
-
-    {
-       27,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,
-    -5042,-5042,-5042, 5135,-5042,-5042,-5042,-5042,-5042,-5042,
-    -5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,
-    -5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,
-    -5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,
-    -5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,-5042,
-
-    -5042,-5042,-5042,-5042,-5042
-    },
-
-    {
-       27,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,
-    -5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,
-    -5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,
-    -5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,
-    -5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,
-    -5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,-5043,
-    -5043,-5043,-5043,-5043,-5043
-    },
-
-    {
-       27,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,
-    -5044,-5044,-5044,-5044,-5044,-5044, 5136,-5044,-5044,-5044,
-
-    -5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,
-    -5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,
-    -5044,-5044, 5136,-5044,-5044,-5044,-5044,-5044,-5044,-5044,
-    -5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,-5044,
-    -5044,-5044,-5044,-5044,-5044
-    },
-
-    {
-       27,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,
-    -5045,-5045,-5045, 5137,-5045,-5045,-5045,-5045,-5045,-5045,
-    -5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,
-    -5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,
-    -5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,
-
-    -5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,-5045,
-    -5045,-5045,-5045,-5045,-5045
-    },
-
-    {
-       27,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,
-    -5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,
-    -5046,-5046,-5046,-5046,-5046,-5046,-5046, 5138,-5046,-5046,
-    -5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,
-    -5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,-5046,
-    -5046,-5046, 5138,-5046,-5046,-5046,-5046,-5046,-5046,-5046,
-    -5046,-5046,-5046,-5046,-5046
-    },
-
-    {
-       27,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,
-
-    -5047,-5047,-5047, 5139,-5047,-5047,-5047,-5047,-5047,-5047,
-    -5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,
-    -5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,
-    -5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,
-    -5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,-5047,
-    -5047,-5047,-5047,-5047,-5047
-    },
-
-    {
-       27,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,
-    -5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,
-    -5048,-5048,-5048,-5048,-5048,-5048,-5048, 5140,-5048,-5048,
-    -5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,
-
-    -5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,-5048,
-    -5048,-5048, 5140,-5048,-5048,-5048,-5048,-5048,-5048,-5048,
-    -5048,-5048,-5048,-5048,-5048
-    },
-
-    {
-       27,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,
-    -5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,
-    -5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,
-    -5049, 5141,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,
-    -5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,-5049,
-    -5049,-5049,-5049,-5049,-5049,-5049, 5141,-5049,-5049,-5049,
-    -5049,-5049,-5049,-5049,-5049
-
-    },
-
-    {
-       27,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050, 4485,
-    -5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,
-    -5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,
-    -5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,
-    -5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,
-    -5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,-5050,
-    -5050,-5050,-5050,-5050,-5050
-    },
-
-    {
-       27,-5051, 5142, 5142,-5051,-5051,-5051,-5051,-5051,-5051,
-    -5051,-5051, 5143,-5051,-5051,-5051,-5051,-5051,-5051,-5051,
-    -5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,
-
-    -5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,
-    -5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,
-    -5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,-5051,
-    -5051,-5051,-5051,-5051,-5051
-    },
-
-    {
-       27,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,
-    -5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,
-    -5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,
-    -5052,-5052,-5052, 5144,-5052,-5052,-5052,-5052,-5052,-5052,
-    -5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052,
-    -5052,-5052,-5052,-5052,-5052,-5052,-5052,-5052, 5144,-5052,
-
-    -5052,-5052,-5052,-5052,-5052
-    },
-
-    {
-       27,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,
-    -5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,
-    -5053,-5053,-5053,-5053,-5053,-5053,-5053, 5145,-5053,-5053,
-    -5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,
-    -5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,-5053,
-    -5053,-5053, 5145,-5053,-5053,-5053,-5053,-5053,-5053,-5053,
-    -5053,-5053,-5053,-5053,-5053
-    },
-
-    {
-       27,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,
-    -5054,-5054,-5054, 5146,-5054,-5054,-5054,-5054,-5054,-5054,
-
-    -5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,
-    -5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,
-    -5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,
-    -5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,-5054,
-    -5054,-5054,-5054,-5054,-5054
-    },
-
-    {
-       27,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,
-    -5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,
-    -5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,
-    -5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,
-    -5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,
-
-    -5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,-5055,
-    -5055,-5055,-5055,-5055,-5055
-    },
-
-    {
-       27,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,
-    -5056,-5056,-5056,-5056,-5056,-5056, 5147,-5056,-5056,-5056,
-    -5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,
-    -5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,
-    -5056,-5056, 5147,-5056,-5056,-5056,-5056,-5056,-5056,-5056,
-    -5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,-5056,
-    -5056,-5056,-5056,-5056,-5056
-    },
-
-    {
-       27,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,
-
-    -5057,-5057,-5057, 5148,-5057,-5057,-5057,-5057,-5057,-5057,
-    -5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,
-    -5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,
-    -5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,
-    -5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,-5057,
-    -5057,-5057,-5057,-5057,-5057
-    },
-
-    {
-       27,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,
-    -5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,
-    -5058,-5058,-5058,-5058,-5058,-5058,-5058, 5149,-5058,-5058,
-    -5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,
-
-    -5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,-5058,
-    -5058,-5058, 5149,-5058,-5058,-5058,-5058,-5058,-5058,-5058,
-    -5058,-5058,-5058,-5058,-5058
-    },
-
-    {
-       27,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,
-    -5059,-5059,-5059, 5150,-5059,-5059,-5059,-5059,-5059,-5059,
-    -5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,
-    -5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,
-    -5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,
-    -5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,-5059,
-    -5059,-5059,-5059,-5059,-5059
-
-    },
-
-    {
-       27,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,
-    -5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,
-    -5060,-5060,-5060,-5060,-5060,-5060,-5060, 5151,-5060,-5060,
-    -5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,
-    -5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,-5060,
-    -5060,-5060, 5151,-5060,-5060,-5060,-5060,-5060,-5060,-5060,
-    -5060,-5060,-5060,-5060,-5060
-    },
-
-    {
-       27,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,
-    -5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,
-    -5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,
-
-    -5061, 5152,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,
-    -5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,-5061,
-    -5061,-5061,-5061,-5061,-5061,-5061, 5152,-5061,-5061,-5061,
-    -5061,-5061,-5061,-5061,-5061
-    },
-
-    {
-       27,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062, 4508,
-    -5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,
-    -5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,
-    -5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,
-    -5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,
-    -5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,-5062,
-
-    -5062,-5062,-5062,-5062,-5062
-    },
-
-    {
-       27,-5063, 5153, 5153,-5063,-5063,-5063,-5063,-5063,-5063,
-    -5063,-5063, 5154,-5063,-5063,-5063,-5063,-5063,-5063,-5063,
-    -5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,
-    -5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,
-    -5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,
-    -5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,-5063,
-    -5063,-5063,-5063,-5063,-5063
-    },
-
-    {
-       27,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,
-    -5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,
-
-    -5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,
-    -5064,-5064,-5064, 5155,-5064,-5064,-5064,-5064,-5064,-5064,
-    -5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064,
-    -5064,-5064,-5064,-5064,-5064,-5064,-5064,-5064, 5155,-5064,
-    -5064,-5064,-5064,-5064,-5064
-    },
-
-    {
-       27,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,
-    -5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,
-    -5065,-5065,-5065,-5065,-5065,-5065,-5065, 5156,-5065,-5065,
-    -5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,
-    -5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,-5065,
-
-    -5065,-5065, 5156,-5065,-5065,-5065,-5065,-5065,-5065,-5065,
-    -5065,-5065,-5065,-5065,-5065
-    },
-
-    {
-       27,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,
-    -5066,-5066,-5066, 4516,-5066,-5066,-5066,-5066,-5066,-5066,
-    -5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,
-    -5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,
-    -5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,
-    -5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,-5066,
-    -5066,-5066,-5066,-5066,-5066
-    },
-
-    {
-       27,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,
-
-    -5067,-5067,-5067, 5157,-5067,-5067,-5067,-5067,-5067,-5067,
-    -5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,
-    -5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,
-    -5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,
-    -5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,-5067,
-    -5067,-5067,-5067,-5067,-5067
-    },
-
-    {
-       27,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,
-    -5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,
-    -5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,
-    -5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,
-
-    -5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,
-    -5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,-5068,
-    -5068,-5068,-5068,-5068,-5068
-    },
-
-    {
-       27,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,
-    -5069,-5069,-5069,-5069,-5069,-5069, 5158,-5069,-5069,-5069,
-    -5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,
-    -5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,
-    -5069,-5069, 5158,-5069,-5069,-5069,-5069,-5069,-5069,-5069,
-    -5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,-5069,
-    -5069,-5069,-5069,-5069,-5069
-
-    },
-
-    {
-       27,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,
-    -5070,-5070,-5070, 5159,-5070,-5070,-5070,-5070,-5070,-5070,
-    -5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,
-    -5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,
-    -5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,
-    -5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,-5070,
-    -5070,-5070,-5070,-5070,-5070
-    },
-
-    {
-       27,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,
-    -5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,
-    -5071,-5071,-5071,-5071,-5071,-5071,-5071, 5160,-5071,-5071,
-
-    -5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,
-    -5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,-5071,
-    -5071,-5071, 5160,-5071,-5071,-5071,-5071,-5071,-5071,-5071,
-    -5071,-5071,-5071,-5071,-5071
-    },
-
-    {
-       27,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,
-    -5072,-5072,-5072, 5161,-5072,-5072,-5072,-5072,-5072,-5072,
-    -5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,
-    -5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,
-    -5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,
-    -5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,-5072,
-
-    -5072,-5072,-5072,-5072,-5072
-    },
-
-    {
-       27,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,
-    -5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,
-    -5073,-5073,-5073,-5073,-5073,-5073,-5073, 5162,-5073,-5073,
-    -5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,
-    -5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,-5073,
-    -5073,-5073, 5162,-5073,-5073,-5073,-5073,-5073,-5073,-5073,
-    -5073,-5073,-5073,-5073,-5073
-    },
-
-    {
-       27,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,
-    -5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,
-
-    -5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,
-    -5074, 5163,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,
-    -5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,-5074,
-    -5074,-5074,-5074,-5074,-5074,-5074, 5163,-5074,-5074,-5074,
-    -5074,-5074,-5074,-5074,-5074
-    },
-
-    {
-       27,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075, 4533,
-    -5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,
-    -5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,
-    -5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,
-    -5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,
-
-    -5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,-5075,
-    -5075,-5075,-5075,-5075,-5075
-    },
-
-    {
-       27,-5076, 5164, 5164,-5076,-5076,-5076,-5076,-5076,-5076,
-    -5076,-5076, 5165,-5076,-5076,-5076,-5076,-5076,-5076,-5076,
-    -5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,
-    -5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,
-    -5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,
-    -5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,-5076,
-    -5076,-5076,-5076,-5076,-5076
-    },
-
-    {
-       27,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,
-
-    -5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,
-    -5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,
-    -5077,-5077,-5077, 5166,-5077,-5077,-5077,-5077,-5077,-5077,
-    -5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077,
-    -5077,-5077,-5077,-5077,-5077,-5077,-5077,-5077, 5166,-5077,
-    -5077,-5077,-5077,-5077,-5077
-    },
-
-    {
-       27,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,
-    -5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,
-    -5078,-5078,-5078,-5078,-5078,-5078,-5078, 5167,-5078,-5078,
-    -5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,
-
-    -5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,-5078,
-    -5078,-5078, 5167,-5078,-5078,-5078,-5078,-5078,-5078,-5078,
-    -5078,-5078,-5078,-5078,-5078
-    },
-
-    {
-       27,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,
-    -5079,-5079,-5079, 5168,-5079,-5079,-5079,-5079,-5079,-5079,
-    -5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,
-    -5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,
-    -5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,
-    -5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,-5079,
-    -5079,-5079,-5079,-5079,-5079
-
-    },
-
-    {
-       27,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,
-    -5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,
-    -5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,
-    -5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,
-    -5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,
-    -5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,-5080,
-    -5080,-5080,-5080,-5080,-5080
-    },
-
-    {
-       27,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,
-    -5081,-5081,-5081,-5081,-5081,-5081, 5169,-5081,-5081,-5081,
-    -5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,
-
-    -5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,
-    -5081,-5081, 5169,-5081,-5081,-5081,-5081,-5081,-5081,-5081,
-    -5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,-5081,
-    -5081,-5081,-5081,-5081,-5081
-    },
-
-    {
-       27,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,
-    -5082,-5082,-5082, 5170,-5082,-5082,-5082,-5082,-5082,-5082,
-    -5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,
-    -5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,
-    -5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,
-    -5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,-5082,
-
-    -5082,-5082,-5082,-5082,-5082
-    },
-
-    {
-       27,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,
-    -5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,
-    -5083,-5083,-5083,-5083,-5083,-5083,-5083, 5171,-5083,-5083,
-    -5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,
-    -5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,-5083,
-    -5083,-5083, 5171,-5083,-5083,-5083,-5083,-5083,-5083,-5083,
-    -5083,-5083,-5083,-5083,-5083
-    },
-
-    {
-       27,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,
-    -5084,-5084,-5084, 5172,-5084,-5084,-5084,-5084,-5084,-5084,
-
-    -5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,
-    -5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,
-    -5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,
-    -5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,-5084,
-    -5084,-5084,-5084,-5084,-5084
-    },
-
-    {
-       27,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,
-    -5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,
-    -5085,-5085,-5085,-5085,-5085,-5085,-5085, 5173,-5085,-5085,
-    -5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,
-    -5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,-5085,
-
-    -5085,-5085, 5173,-5085,-5085,-5085,-5085,-5085,-5085,-5085,
-    -5085,-5085,-5085,-5085,-5085
-    },
-
-    {
-       27,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,
-    -5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,
-    -5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,
-    -5086, 5174,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,
-    -5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,-5086,
-    -5086,-5086,-5086,-5086,-5086,-5086, 5174,-5086,-5086,-5086,
-    -5086,-5086,-5086,-5086,-5086
-    },
-
-    {
-       27,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087, 4556,
-
-    -5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,
-    -5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,
-    -5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,
-    -5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,
-    -5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,-5087,
-    -5087,-5087,-5087,-5087,-5087
-    },
-
-    {
-       27,-5088, 5175, 5175,-5088,-5088,-5088,-5088,-5088,-5088,
-    -5088,-5088, 5176,-5088,-5088,-5088,-5088,-5088,-5088,-5088,
-    -5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,
-    -5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,
-
-    -5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,
-    -5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,-5088,
-    -5088,-5088,-5088,-5088,-5088
-    },
-
-    {
-       27,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,
-    -5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,
-    -5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,
-    -5089,-5089,-5089, 5177,-5089,-5089,-5089,-5089,-5089,-5089,
-    -5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089,
-    -5089,-5089,-5089,-5089,-5089,-5089,-5089,-5089, 5177,-5089,
-    -5089,-5089,-5089,-5089,-5089
-
-    },
-
-    {
-       27,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,
-    -5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,
-    -5090,-5090,-5090,-5090,-5090,-5090,-5090, 5178,-5090,-5090,
-    -5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,
-    -5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,-5090,
-    -5090,-5090, 5178,-5090,-5090,-5090,-5090,-5090,-5090,-5090,
-    -5090,-5090,-5090,-5090,-5090
-    },
-
-    {
-       27,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,
-    -5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,
-    -5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,
-
-    -5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,
-    -5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,
-    -5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,-5091,
-    -5091,-5091,-5091,-5091,-5091
-    },
-
-    {
-       27,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,
-    -5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,
-    -5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092, 5179,-5092,
-    -5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,
-    -5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,-5092,
-    -5092,-5092,-5092, 5179,-5092,-5092,-5092,-5092,-5092,-5092,
-
-    -5092,-5092,-5092,-5092,-5092
-    },
-
-    {
-       27,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,
-    -5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,
-    -5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,
-    -5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,
-    -5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,
-    -5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,-5093,
-    -5093,-5093,-5093,-5093,-5093
-    },
-
-    {
-       27,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,
-    -5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,
-
-    -5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,
-    -5094,-5094,-5094, 5180,-5094,-5094,-5094,-5094,-5094,-5094,
-    -5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094,
-    -5094,-5094,-5094,-5094,-5094,-5094,-5094,-5094, 5180,-5094,
-    -5094,-5094,-5094,-5094,-5094
-    },
-
-    {
-       27,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,
-    -5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,
-    -5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,
-    -5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,
-    -5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,
-
-    -5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,-5095,
-    -5095,-5095,-5095,-5095,-5095
-    },
-
-    {
-       27,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,
-    -5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,
-    -5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,
-    -5096,-5096,-5096, 5181,-5096,-5096,-5096,-5096,-5096,-5096,
-    -5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096,
-    -5096,-5096,-5096,-5096,-5096,-5096,-5096,-5096, 5181,-5096,
-    -5096,-5096,-5096,-5096,-5096
-    },
-
-    {
-       27,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,
-
-    -5097,-5097,-5097,-5097, 5182,-5097,-5097,-5097,-5097,-5097,
-    -5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,
-    -5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,
-     5182,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,
-    -5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,-5097,
-    -5097,-5097,-5097,-5097,-5097
-    },
-
-    {
-       27,-5098, 5098, 5098,-5098,-5098,-5098,-5098,-5098,-5098,
-    -5098,-5098, 5099,-5098,-5098,-5098,-5098,-5098,-5098,-5098,
-    -5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,
-    -5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,
-
-    -5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,
-    -5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,-5098,
-    -5098,-5098,-5098,-5098,-5098
-    },
-
-    {
-       27,-5099,-5099,-5099,-5099,-5099,-5099,-5099,-5099,-5099,
-    -5099,-5099,-5099,-5099,-5099,-5099, 5183,-5099,-5099,-5099,
-    -5099,-5099,-5099,-5099,-5099,-5099,-5099,-5099,-5099, 5184,
-    -5099,-5099,-5099,-5099,-5099,-5099,-5099,-5099,-5099,-5099,
-    -5099,-5099, 5183,-5099,-5099,-5099,-5099,-5099,-5099,-5099,
-    -5099,-5099,-5099,-5099, 5184,-5099,-5099,-5099,-5099,-5099,
-    -5099,-5099,-5099,-5099,-5099
-
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 5185,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     5185,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 5186,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184, 5187,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,
-    -5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,
-    -5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,
-    -5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,
-    -5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,
-    -5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,-5102,
-
-    -5102,-5102,-5102,-5102,-5102
-    },
-
-    {
-       27,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,
-    -5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,
-    -5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103, 5188,-5103,
-    -5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,
-    -5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,-5103,
-    -5103,-5103,-5103, 5188,-5103,-5103,-5103,-5103,-5103,-5103,
-    -5103,-5103,-5103,-5103,-5103
-    },
-
-    {
-       27,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,
-    -5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,
-
-    -5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,
-    -5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,
-    -5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,
-    -5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,-5104,
-    -5104,-5104,-5104,-5104,-5104
-    },
-
-    {
-       27,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,
-    -5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,
-    -5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,
-    -5105,-5105,-5105, 5189,-5105,-5105,-5105,-5105,-5105,-5105,
-    -5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105,
-
-    -5105,-5105,-5105,-5105,-5105,-5105,-5105,-5105, 5189,-5105,
-    -5105,-5105,-5105,-5105,-5105
-    },
-
-    {
-       27,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,
-    -5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,
-    -5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,
-    -5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,
-    -5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,
-    -5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,-5106,
-    -5106,-5106,-5106,-5106,-5106
-    },
-
-    {
-       27,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,
-
-    -5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,
-    -5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,
-    -5107,-5107,-5107, 5190,-5107,-5107,-5107,-5107,-5107,-5107,
-    -5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107,
-    -5107,-5107,-5107,-5107,-5107,-5107,-5107,-5107, 5190,-5107,
-    -5107,-5107,-5107,-5107,-5107
-    },
-
-    {
-       27,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,
-    -5108,-5108,-5108,-5108, 5191,-5108,-5108,-5108,-5108,-5108,
-    -5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,
-    -5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,
-
-     5191,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,
-    -5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,-5108,
-    -5108,-5108,-5108,-5108,-5108
-    },
-
-    {
-       27,-5109, 5109, 5109,-5109,-5109,-5109,-5109,-5109,-5109,
-    -5109,-5109, 5110,-5109,-5109,-5109,-5109,-5109,-5109,-5109,
-    -5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,
-    -5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,
-    -5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,
-    -5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,-5109,
-    -5109,-5109,-5109,-5109,-5109
-
-    },
-
-    {
-       27,-5110,-5110,-5110,-5110,-5110,-5110,-5110,-5110,-5110,
-    -5110,-5110,-5110,-5110,-5110,-5110, 5192,-5110,-5110,-5110,
-    -5110,-5110,-5110,-5110,-5110,-5110,-5110,-5110,-5110, 5193,
-    -5110,-5110,-5110,-5110,-5110,-5110,-5110,-5110,-5110,-5110,
-    -5110,-5110, 5192,-5110,-5110,-5110,-5110,-5110,-5110,-5110,
-    -5110,-5110,-5110,-5110, 5193,-5110,-5110,-5110,-5110,-5110,
-    -5110,-5110,-5110,-5110,-5110
-    },
-
-    {
-       27,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,
-    -5111,-5111,-5111,-5111, 5194,-5111,-5111,-5111,-5111,-5111,
-    -5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,
-
-    -5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,
-     5194,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,
-    -5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,-5111,
-    -5111,-5111,-5111,-5111,-5111
-    },
-
-    {
-       27,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112, 5195,
-    -5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,
-    -5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,
-    -5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112, 5196,
-    -5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,
-    -5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,-5112,
-
-    -5112,-5112,-5112,-5112,-5112
-    },
-
-    {
-       27,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,
-    -5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,
-    -5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,
-    -5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,
-    -5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,
-    -5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,-5113,
-    -5113,-5113,-5113,-5113,-5113
-    },
-
-    {
-       27,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,
-    -5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,
-
-    -5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114, 5197,-5114,
-    -5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,
-    -5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,-5114,
-    -5114,-5114,-5114, 5197,-5114,-5114,-5114,-5114,-5114,-5114,
-    -5114,-5114,-5114,-5114,-5114
-    },
-
-    {
-       27,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,
-    -5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,
-    -5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,
-    -5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,
-    -5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,
-
-    -5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,-5115,
-    -5115,-5115,-5115,-5115,-5115
-    },
-
-    {
-       27,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,
-    -5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,
-    -5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,
-    -5116,-5116,-5116, 5198,-5116,-5116,-5116,-5116,-5116,-5116,
-    -5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116,
-    -5116,-5116,-5116,-5116,-5116,-5116,-5116,-5116, 5198,-5116,
-    -5116,-5116,-5116,-5116,-5116
-    },
-
-    {
-       27,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,
-
-    -5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,
-    -5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,
-    -5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,
-    -5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,
-    -5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,-5117,
-    -5117,-5117,-5117,-5117,-5117
-    },
-
-    {
-       27,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,
-    -5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,
-    -5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,
-    -5118,-5118,-5118, 5199,-5118,-5118,-5118,-5118,-5118,-5118,
-
-    -5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118,
-    -5118,-5118,-5118,-5118,-5118,-5118,-5118,-5118, 5199,-5118,
-    -5118,-5118,-5118,-5118,-5118
-    },
-
-    {
-       27,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,
-    -5119,-5119,-5119,-5119, 5200,-5119,-5119,-5119,-5119,-5119,
-    -5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,
-    -5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,
-     5200,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,
-    -5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,-5119,
-    -5119,-5119,-5119,-5119,-5119
-
-    },
-
-    {
-       27,-5120, 5120, 5120,-5120,-5120,-5120,-5120,-5120,-5120,
-    -5120,-5120, 5121,-5120,-5120,-5120,-5120,-5120,-5120,-5120,
-    -5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,
-    -5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,
-    -5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,
-    -5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,-5120,
-    -5120,-5120,-5120,-5120,-5120
-    },
-
-    {
-       27,-5121,-5121,-5121,-5121,-5121,-5121,-5121,-5121,-5121,
-    -5121,-5121,-5121,-5121,-5121,-5121, 5201,-5121,-5121,-5121,
-    -5121,-5121,-5121,-5121,-5121,-5121,-5121,-5121,-5121, 5202,
-
-    -5121,-5121,-5121,-5121,-5121,-5121,-5121,-5121,-5121,-5121,
-    -5121,-5121, 5201,-5121,-5121,-5121,-5121,-5121,-5121,-5121,
-    -5121,-5121,-5121,-5121, 5202,-5121,-5121,-5121,-5121,-5121,
-    -5121,-5121,-5121,-5121,-5121
-    },
-
-    {
-       27,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,
-    -5122,-5122,-5122,-5122, 5203,-5122,-5122,-5122,-5122,-5122,
-    -5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,
-    -5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,
-     5203,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,
-    -5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,-5122,
-
-    -5122,-5122,-5122,-5122,-5122
-    },
-
-    {
-       27,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123, 5204,
-    -5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,
-    -5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,
-    -5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123, 5205,
-    -5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,
-    -5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,-5123,
-    -5123,-5123,-5123,-5123,-5123
-    },
-
-    {
-       27,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,
-    -5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,
-
-    -5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,
-    -5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,
-    -5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,
-    -5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,-5124,
-    -5124,-5124,-5124,-5124,-5124
-    },
-
-    {
-       27,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,
-    -5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,
-    -5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125, 5206,-5125,
-    -5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,
-    -5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,-5125,
-
-    -5125,-5125,-5125, 5206,-5125,-5125,-5125,-5125,-5125,-5125,
-    -5125,-5125,-5125,-5125,-5125
-    },
-
-    {
-       27,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,
-    -5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,
-    -5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,
-    -5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,
-    -5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,
-    -5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,-5126,
-    -5126,-5126,-5126,-5126,-5126
-    },
-
-    {
-       27,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,
-
-    -5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,
-    -5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,
-    -5127,-5127,-5127, 5207,-5127,-5127,-5127,-5127,-5127,-5127,
-    -5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127,
-    -5127,-5127,-5127,-5127,-5127,-5127,-5127,-5127, 5207,-5127,
-    -5127,-5127,-5127,-5127,-5127
-    },
-
-    {
-       27,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,
-    -5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,
-    -5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,
-    -5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,
-
-    -5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,
-    -5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,-5128,
-    -5128,-5128,-5128,-5128,-5128
-    },
-
-    {
-       27,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,
-    -5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,
-    -5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,
-    -5129,-5129,-5129, 5208,-5129,-5129,-5129,-5129,-5129,-5129,
-    -5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129,
-    -5129,-5129,-5129,-5129,-5129,-5129,-5129,-5129, 5208,-5129,
-    -5129,-5129,-5129,-5129,-5129
-
-    },
-
-    {
-       27,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,
-    -5130,-5130,-5130,-5130, 5209,-5130,-5130,-5130,-5130,-5130,
-    -5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,
-    -5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,
-     5209,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,
-    -5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,-5130,
-    -5130,-5130,-5130,-5130,-5130
-    },
-
-    {
-       27,-5131, 5131, 5131,-5131,-5131,-5131,-5131,-5131,-5131,
-    -5131,-5131, 5132,-5131,-5131,-5131,-5131,-5131,-5131,-5131,
-    -5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,
-
-    -5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,
-    -5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,
-    -5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,-5131,
-    -5131,-5131,-5131,-5131,-5131
-    },
-
-    {
-       27,-5132,-5132,-5132,-5132,-5132,-5132,-5132,-5132,-5132,
-    -5132,-5132,-5132,-5132,-5132,-5132, 5210,-5132,-5132,-5132,
-    -5132,-5132,-5132,-5132,-5132,-5132,-5132,-5132,-5132, 5211,
-    -5132,-5132,-5132,-5132,-5132,-5132,-5132,-5132,-5132,-5132,
-    -5132,-5132, 5210,-5132,-5132,-5132,-5132,-5132,-5132,-5132,
-    -5132,-5132,-5132,-5132, 5211,-5132,-5132,-5132,-5132,-5132,
-
-    -5132,-5132,-5132,-5132,-5132
-    },
-
-    {
-       27,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,
-    -5133,-5133,-5133,-5133, 5212,-5133,-5133,-5133,-5133,-5133,
-    -5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,
-    -5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,
-     5212,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,
-    -5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,-5133,
-    -5133,-5133,-5133,-5133,-5133
-    },
-
-    {
-       27,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134, 5213,
-    -5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,
-
-    -5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,
-    -5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134, 5214,
-    -5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,
-    -5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,-5134,
-    -5134,-5134,-5134,-5134,-5134
-    },
-
-    {
-       27,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,
-    -5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,
-    -5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,
-    -5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,
-    -5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,
-
-    -5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,-5135,
-    -5135,-5135,-5135,-5135,-5135
-    },
-
-    {
-       27,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,
-    -5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,
-    -5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136, 5215,-5136,
-    -5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,
-    -5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,-5136,
-    -5136,-5136,-5136, 5215,-5136,-5136,-5136,-5136,-5136,-5136,
-    -5136,-5136,-5136,-5136,-5136
-    },
-
-    {
-       27,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,
-
-    -5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,
-    -5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,
-    -5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,
-    -5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,
-    -5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,-5137,
-    -5137,-5137,-5137,-5137,-5137
-    },
-
-    {
-       27,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,
-    -5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,
-    -5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,
-    -5138,-5138,-5138, 5216,-5138,-5138,-5138,-5138,-5138,-5138,
-
-    -5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138,
-    -5138,-5138,-5138,-5138,-5138,-5138,-5138,-5138, 5216,-5138,
-    -5138,-5138,-5138,-5138,-5138
-    },
-
-    {
-       27,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,
-    -5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,
-    -5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,
-    -5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,
-    -5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,
-    -5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,-5139,
-    -5139,-5139,-5139,-5139,-5139
-
-    },
-
-    {
-       27,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,
-    -5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,
-    -5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,
-    -5140,-5140,-5140, 5217,-5140,-5140,-5140,-5140,-5140,-5140,
-    -5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140,
-    -5140,-5140,-5140,-5140,-5140,-5140,-5140,-5140, 5217,-5140,
-    -5140,-5140,-5140,-5140,-5140
-    },
-
-    {
-       27,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,
-    -5141,-5141,-5141,-5141, 5218,-5141,-5141,-5141,-5141,-5141,
-    -5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,
-
-    -5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,
-     5218,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,
-    -5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,-5141,
-    -5141,-5141,-5141,-5141,-5141
-    },
-
-    {
-       27,-5142, 5142, 5142,-5142,-5142,-5142,-5142,-5142,-5142,
-    -5142,-5142, 5143,-5142,-5142,-5142,-5142,-5142,-5142,-5142,
-    -5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,
-    -5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,
-    -5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,
-    -5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,-5142,
-
-    -5142,-5142,-5142,-5142,-5142
-    },
-
-    {
-       27,-5143,-5143,-5143,-5143,-5143,-5143,-5143,-5143,-5143,
-    -5143,-5143,-5143,-5143,-5143,-5143, 5219,-5143,-5143,-5143,
-    -5143,-5143,-5143,-5143,-5143,-5143,-5143,-5143,-5143, 5220,
-    -5143,-5143,-5143,-5143,-5143,-5143,-5143,-5143,-5143,-5143,
-    -5143,-5143, 5219,-5143,-5143,-5143,-5143,-5143,-5143,-5143,
-    -5143,-5143,-5143,-5143, 5220,-5143,-5143,-5143,-5143,-5143,
-    -5143,-5143,-5143,-5143,-5143
-    },
-
-    {
-       27,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,
-    -5144,-5144,-5144,-5144, 5221,-5144,-5144,-5144,-5144,-5144,
-
-    -5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,
-    -5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,
-     5221,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,
-    -5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,-5144,
-    -5144,-5144,-5144,-5144,-5144
-    },
-
-    {
-       27,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145, 5222,
-    -5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,
-    -5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,
-    -5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145, 5223,
-    -5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,
-
-    -5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,-5145,
-    -5145,-5145,-5145,-5145,-5145
-    },
-
-    {
-       27,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,
-    -5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,
-    -5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,
-    -5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,
-    -5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,
-    -5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,-5146,
-    -5146,-5146,-5146,-5146,-5146
-    },
-
-    {
-       27,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,
-
-    -5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,
-    -5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147, 5224,-5147,
-    -5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,
-    -5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,-5147,
-    -5147,-5147,-5147, 5224,-5147,-5147,-5147,-5147,-5147,-5147,
-    -5147,-5147,-5147,-5147,-5147
-    },
-
-    {
-       27,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,
-    -5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,
-    -5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,
-    -5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,
-
-    -5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,
-    -5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,-5148,
-    -5148,-5148,-5148,-5148,-5148
-    },
-
-    {
-       27,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,
-    -5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,
-    -5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,
-    -5149,-5149,-5149, 5225,-5149,-5149,-5149,-5149,-5149,-5149,
-    -5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149,
-    -5149,-5149,-5149,-5149,-5149,-5149,-5149,-5149, 5225,-5149,
-    -5149,-5149,-5149,-5149,-5149
-
-    },
-
-    {
-       27,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,
-    -5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,
-    -5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,
-    -5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,
-    -5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,
-    -5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,-5150,
-    -5150,-5150,-5150,-5150,-5150
-    },
-
-    {
-       27,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,
-    -5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,
-    -5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,
-
-    -5151,-5151,-5151, 5226,-5151,-5151,-5151,-5151,-5151,-5151,
-    -5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151,
-    -5151,-5151,-5151,-5151,-5151,-5151,-5151,-5151, 5226,-5151,
-    -5151,-5151,-5151,-5151,-5151
-    },
-
-    {
-       27,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,
-    -5152,-5152,-5152,-5152, 5227,-5152,-5152,-5152,-5152,-5152,
-    -5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,
-    -5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,
-     5227,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,
-    -5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,-5152,
-
-    -5152,-5152,-5152,-5152,-5152
-    },
-
-    {
-       27,-5153, 5153, 5153,-5153,-5153,-5153,-5153,-5153,-5153,
-    -5153,-5153, 5154,-5153,-5153,-5153,-5153,-5153,-5153,-5153,
-    -5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,
-    -5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,
-    -5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,
-    -5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,-5153,
-    -5153,-5153,-5153,-5153,-5153
-    },
-
-    {
-       27,-5154,-5154,-5154,-5154,-5154,-5154,-5154,-5154,-5154,
-    -5154,-5154,-5154,-5154,-5154,-5154, 5228,-5154,-5154,-5154,
-
-    -5154,-5154,-5154,-5154,-5154,-5154,-5154,-5154,-5154, 5229,
-    -5154,-5154,-5154,-5154,-5154,-5154,-5154,-5154,-5154,-5154,
-    -5154,-5154, 5228,-5154,-5154,-5154,-5154,-5154,-5154,-5154,
-    -5154,-5154,-5154,-5154, 5229,-5154,-5154,-5154,-5154,-5154,
-    -5154,-5154,-5154,-5154,-5154
-    },
-
-    {
-       27,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,
-    -5155,-5155,-5155,-5155, 5230,-5155,-5155,-5155,-5155,-5155,
-    -5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,
-    -5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,
-     5230,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,
-
-    -5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,-5155,
-    -5155,-5155,-5155,-5155,-5155
-    },
-
-    {
-       27,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156, 5231,
-    -5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,
-    -5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,
-    -5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156, 5232,
-    -5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,
-    -5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,-5156,
-    -5156,-5156,-5156,-5156,-5156
-    },
-
-    {
-       27,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,
-
-    -5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,
-    -5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,
-    -5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,
-    -5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,
-    -5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,-5157,
-    -5157,-5157,-5157,-5157,-5157
-    },
-
-    {
-       27,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,
-    -5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,
-    -5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158, 5233,-5158,
-    -5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,
-
-    -5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,-5158,
-    -5158,-5158,-5158, 5233,-5158,-5158,-5158,-5158,-5158,-5158,
-    -5158,-5158,-5158,-5158,-5158
-    },
-
-    {
-       27,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,
-    -5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,
-    -5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,
-    -5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,
-    -5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,
-    -5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,-5159,
-    -5159,-5159,-5159,-5159,-5159
-
-    },
-
-    {
-       27,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,
-    -5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,
-    -5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,
-    -5160,-5160,-5160, 5234,-5160,-5160,-5160,-5160,-5160,-5160,
-    -5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160,
-    -5160,-5160,-5160,-5160,-5160,-5160,-5160,-5160, 5234,-5160,
-    -5160,-5160,-5160,-5160,-5160
-    },
-
-    {
-       27,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,
-    -5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,
-    -5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,
-
-    -5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,
-    -5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,
-    -5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,-5161,
-    -5161,-5161,-5161,-5161,-5161
-    },
-
-    {
-       27,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,
-    -5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,
-    -5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,
-    -5162,-5162,-5162, 5235,-5162,-5162,-5162,-5162,-5162,-5162,
-    -5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162,
-    -5162,-5162,-5162,-5162,-5162,-5162,-5162,-5162, 5235,-5162,
-
-    -5162,-5162,-5162,-5162,-5162
-    },
-
-    {
-       27,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,
-    -5163,-5163,-5163,-5163, 5236,-5163,-5163,-5163,-5163,-5163,
-    -5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,
-    -5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,
-     5236,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,
-    -5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,-5163,
-    -5163,-5163,-5163,-5163,-5163
-    },
-
-    {
-       27,-5164, 5164, 5164,-5164,-5164,-5164,-5164,-5164,-5164,
-    -5164,-5164, 5165,-5164,-5164,-5164,-5164,-5164,-5164,-5164,
-
-    -5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,
-    -5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,
-    -5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,
-    -5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,-5164,
-    -5164,-5164,-5164,-5164,-5164
-    },
-
-    {
-       27,-5165,-5165,-5165,-5165,-5165,-5165,-5165,-5165,-5165,
-    -5165,-5165,-5165,-5165,-5165,-5165, 5237,-5165,-5165,-5165,
-    -5165,-5165,-5165,-5165,-5165,-5165,-5165,-5165,-5165, 5238,
-    -5165,-5165,-5165,-5165,-5165,-5165,-5165,-5165,-5165,-5165,
-    -5165,-5165, 5237,-5165,-5165,-5165,-5165,-5165,-5165,-5165,
-
-    -5165,-5165,-5165,-5165, 5238,-5165,-5165,-5165,-5165,-5165,
-    -5165,-5165,-5165,-5165,-5165
-    },
-
-    {
-       27,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,
-    -5166,-5166,-5166,-5166, 5239,-5166,-5166,-5166,-5166,-5166,
-    -5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,
-    -5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,
-     5239,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,
-    -5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,-5166,
-    -5166,-5166,-5166,-5166,-5166
-    },
-
-    {
-       27,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167, 5240,
-
-    -5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,
-    -5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,
-    -5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167, 5241,
-    -5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,
-    -5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,-5167,
-    -5167,-5167,-5167,-5167,-5167
-    },
-
-    {
-       27,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,
-    -5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,
-    -5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,
-    -5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,
-
-    -5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,
-    -5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,-5168,
-    -5168,-5168,-5168,-5168,-5168
-    },
-
-    {
-       27,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,
-    -5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,
-    -5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169, 5242,-5169,
-    -5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,
-    -5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,-5169,
-    -5169,-5169,-5169, 5242,-5169,-5169,-5169,-5169,-5169,-5169,
-    -5169,-5169,-5169,-5169,-5169
-
-    },
-
-    {
-       27,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,
-    -5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,
-    -5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,
-    -5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,
-    -5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,
-    -5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,-5170,
-    -5170,-5170,-5170,-5170,-5170
-    },
-
-    {
-       27,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,
-    -5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,
-    -5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,
-
-    -5171,-5171,-5171, 5243,-5171,-5171,-5171,-5171,-5171,-5171,
-    -5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171,
-    -5171,-5171,-5171,-5171,-5171,-5171,-5171,-5171, 5243,-5171,
-    -5171,-5171,-5171,-5171,-5171
-    },
-
-    {
-       27,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,
-    -5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,
-    -5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,
-    -5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,
-    -5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,
-    -5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,-5172,
-
-    -5172,-5172,-5172,-5172,-5172
-    },
-
-    {
-       27,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,
-    -5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,
-    -5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,
-    -5173,-5173,-5173, 5244,-5173,-5173,-5173,-5173,-5173,-5173,
-    -5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173,
-    -5173,-5173,-5173,-5173,-5173,-5173,-5173,-5173, 5244,-5173,
-    -5173,-5173,-5173,-5173,-5173
-    },
-
-    {
-       27,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,
-    -5174,-5174,-5174,-5174, 5245,-5174,-5174,-5174,-5174,-5174,
-
-    -5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,
-    -5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,
-     5245,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,
-    -5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,-5174,
-    -5174,-5174,-5174,-5174,-5174
-    },
-
-    {
-       27,-5175, 5175, 5175,-5175,-5175,-5175,-5175,-5175,-5175,
-    -5175,-5175, 5176,-5175,-5175,-5175,-5175,-5175,-5175,-5175,
-    -5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,
-    -5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,
-    -5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,
-
-    -5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,-5175,
-    -5175,-5175,-5175,-5175,-5175
-    },
-
-    {
-       27,-5176,-5176,-5176,-5176,-5176,-5176,-5176,-5176,-5176,
-    -5176,-5176,-5176,-5176,-5176,-5176, 5246,-5176,-5176,-5176,
-    -5176,-5176,-5176,-5176,-5176,-5176,-5176,-5176,-5176, 5247,
-    -5176,-5176,-5176,-5176,-5176,-5176,-5176,-5176,-5176,-5176,
-    -5176,-5176, 5246,-5176,-5176,-5176,-5176,-5176,-5176,-5176,
-    -5176,-5176,-5176,-5176, 5247,-5176,-5176,-5176,-5176,-5176,
-    -5176,-5176,-5176,-5176,-5176
-    },
-
-    {
-       27,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,
-
-    -5177,-5177,-5177,-5177, 5248,-5177,-5177,-5177,-5177,-5177,
-    -5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,
-    -5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,
-     5248,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,
-    -5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,-5177,
-    -5177,-5177,-5177,-5177,-5177
-    },
-
-    {
-       27,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178, 5249,
-    -5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,
-    -5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,
-    -5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178, 5250,
-
-    -5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,
-    -5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,-5178,
-    -5178,-5178,-5178,-5178,-5178
-    },
-
-    {
-       27,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,
-    -5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,
-    -5179,-5179,-5179,-5179,-5179,-5179,-5179, 5251,-5179,-5179,
-    -5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,
-    -5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,-5179,
-    -5179,-5179, 5251,-5179,-5179,-5179,-5179,-5179,-5179,-5179,
-    -5179,-5179,-5179,-5179,-5179
-
-    },
-
-    {
-       27,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,
-    -5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,
-    -5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,
-    -5180,-5180, 5252,-5180,-5180,-5180,-5180,-5180,-5180,-5180,
-    -5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,-5180,
-    -5180,-5180,-5180,-5180,-5180,-5180,-5180, 5252,-5180,-5180,
-    -5180,-5180,-5180,-5180,-5180
-    },
-
-    {
-       27,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,
-    -5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181, 5253,-5181,
-    -5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,
-
-    -5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,
-    -5181,-5181,-5181,-5181, 5253,-5181,-5181,-5181,-5181,-5181,
-    -5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,-5181,
-    -5181,-5181,-5181,-5181,-5181
-    },
-
-    {
-       27,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,
-    -5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,
-    -5182,-5182,-5182,-5182,-5182,-5182, 5254,-5182,-5182,-5182,
-    -5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,
-    -5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,
-    -5182, 5254,-5182,-5182,-5182,-5182,-5182,-5182,-5182,-5182,
-
-    -5182,-5182,-5182,-5182,-5182
-    },
-
-    {
-       27,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,
-    -5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,
-    -5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183, 5255,-5183,
-    -5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,
-    -5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,-5183,
-    -5183,-5183,-5183, 5255,-5183,-5183,-5183,-5183,-5183,-5183,
-    -5183,-5183,-5183,-5183,-5183
-    },
-
-    {
-       27,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,
-    -5184,-5184,-5184,-5184, 5256,-5184,-5184,-5184,-5184,-5184,
-
-    -5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,
-    -5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,
-     5256,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,
-    -5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,-5184,
-    -5184,-5184,-5184,-5184,-5184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184, 5257,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184, 5257,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 5258,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184, 5259,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184, 5259,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,
-    -5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,
-    -5188,-5188,-5188,-5188,-5188,-5188,-5188, 5260,-5188,-5188,
-    -5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,
-
-    -5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,-5188,
-    -5188,-5188, 5260,-5188,-5188,-5188,-5188,-5188,-5188,-5188,
-    -5188,-5188,-5188,-5188,-5188
-    },
-
-    {
-       27,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,
-    -5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,
-    -5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,
-    -5189,-5189, 5261,-5189,-5189,-5189,-5189,-5189,-5189,-5189,
-    -5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,-5189,
-    -5189,-5189,-5189,-5189,-5189,-5189,-5189, 5261,-5189,-5189,
-    -5189,-5189,-5189,-5189,-5189
-
-    },
-
-    {
-       27,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,
-    -5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190, 5262,-5190,
-    -5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,
-    -5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,
-    -5190,-5190,-5190,-5190, 5262,-5190,-5190,-5190,-5190,-5190,
-    -5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,-5190,
-    -5190,-5190,-5190,-5190,-5190
-    },
-
-    {
-       27,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,
-    -5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,
-    -5191,-5191,-5191,-5191,-5191,-5191, 5263,-5191,-5191,-5191,
-
-    -5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,
-    -5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,
-    -5191, 5263,-5191,-5191,-5191,-5191,-5191,-5191,-5191,-5191,
-    -5191,-5191,-5191,-5191,-5191
-    },
-
-    {
-       27,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,
-    -5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,
-    -5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192, 5264,-5192,
-    -5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,
-    -5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,-5192,
-    -5192,-5192,-5192, 5264,-5192,-5192,-5192,-5192,-5192,-5192,
-
-    -5192,-5192,-5192,-5192,-5192
-    },
-
-    {
-       27,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,
-    -5193,-5193,-5193,-5193, 5265,-5193,-5193,-5193,-5193,-5193,
-    -5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,
-    -5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,
-     5265,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,
-    -5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,-5193,
-    -5193,-5193,-5193,-5193,-5193
-    },
-
-    {
-       27,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,
-    -5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,
-
-    -5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,
-    -5194, 5266,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,
-    -5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,-5194,
-    -5194,-5194,-5194,-5194,-5194,-5194, 5266,-5194,-5194,-5194,
-    -5194,-5194,-5194,-5194,-5194
-    },
-
-    {
-       27,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,
-    -5195,-5195,-5195, 5267,-5195,-5195,-5195,-5195,-5195,-5195,
-    -5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,
-    -5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,
-    -5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,
-
-    -5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,-5195,
-    -5195,-5195,-5195,-5195,-5195
-    },
-
-    {
-       27,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,
-    -5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,
-    -5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,
-    -5196,-5196, 5268,-5196,-5196,-5196,-5196,-5196,-5196,-5196,
-    -5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,-5196,
-    -5196,-5196,-5196,-5196,-5196,-5196,-5196, 5268,-5196,-5196,
-    -5196,-5196,-5196,-5196,-5196
-    },
-
-    {
-       27,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,
-
-    -5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,
-    -5197,-5197,-5197,-5197,-5197,-5197,-5197, 5269,-5197,-5197,
-    -5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,
-    -5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,-5197,
-    -5197,-5197, 5269,-5197,-5197,-5197,-5197,-5197,-5197,-5197,
-    -5197,-5197,-5197,-5197,-5197
-    },
-
-    {
-       27,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,
-    -5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,
-    -5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,
-    -5198,-5198, 5270,-5198,-5198,-5198,-5198,-5198,-5198,-5198,
-
-    -5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,-5198,
-    -5198,-5198,-5198,-5198,-5198,-5198,-5198, 5270,-5198,-5198,
-    -5198,-5198,-5198,-5198,-5198
-    },
-
-    {
-       27,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,
-    -5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199, 5271,-5199,
-    -5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,
-    -5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,
-    -5199,-5199,-5199,-5199, 5271,-5199,-5199,-5199,-5199,-5199,
-    -5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,-5199,
-    -5199,-5199,-5199,-5199,-5199
-
-    },
-
-    {
-       27,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,
-    -5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,
-    -5200,-5200,-5200,-5200,-5200,-5200, 5272,-5200,-5200,-5200,
-    -5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,
-    -5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,
-    -5200, 5272,-5200,-5200,-5200,-5200,-5200,-5200,-5200,-5200,
-    -5200,-5200,-5200,-5200,-5200
-    },
-
-    {
-       27,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,
-    -5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,
-    -5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201, 5273,-5201,
-
-    -5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,
-    -5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,-5201,
-    -5201,-5201,-5201, 5273,-5201,-5201,-5201,-5201,-5201,-5201,
-    -5201,-5201,-5201,-5201,-5201
-    },
-
-    {
-       27,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,
-    -5202,-5202,-5202,-5202, 5274,-5202,-5202,-5202,-5202,-5202,
-    -5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,
-    -5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,
-     5274,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,
-    -5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,-5202,
-
-    -5202,-5202,-5202,-5202,-5202
-    },
-
-    {
-       27,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,
-    -5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,
-    -5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,
-    -5203, 5275,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,
-    -5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,-5203,
-    -5203,-5203,-5203,-5203,-5203,-5203, 5275,-5203,-5203,-5203,
-    -5203,-5203,-5203,-5203,-5203
-    },
-
-    {
-       27,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,
-    -5204,-5204,-5204, 5276,-5204,-5204,-5204,-5204,-5204,-5204,
-
-    -5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,
-    -5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,
-    -5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,
-    -5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,-5204,
-    -5204,-5204,-5204,-5204,-5204
-    },
-
-    {
-       27,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,
-    -5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,
-    -5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,
-    -5205,-5205, 5277,-5205,-5205,-5205,-5205,-5205,-5205,-5205,
-    -5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,-5205,
-
-    -5205,-5205,-5205,-5205,-5205,-5205,-5205, 5277,-5205,-5205,
-    -5205,-5205,-5205,-5205,-5205
-    },
-
-    {
-       27,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,
-    -5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,
-    -5206,-5206,-5206,-5206,-5206,-5206,-5206, 5278,-5206,-5206,
-    -5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,
-    -5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,-5206,
-    -5206,-5206, 5278,-5206,-5206,-5206,-5206,-5206,-5206,-5206,
-    -5206,-5206,-5206,-5206,-5206
-    },
-
-    {
-       27,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,
-
-    -5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,
-    -5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,
-    -5207,-5207, 5279,-5207,-5207,-5207,-5207,-5207,-5207,-5207,
-    -5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,-5207,
-    -5207,-5207,-5207,-5207,-5207,-5207,-5207, 5279,-5207,-5207,
-    -5207,-5207,-5207,-5207,-5207
-    },
-
-    {
-       27,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,
-    -5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208, 5280,-5208,
-    -5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,
-    -5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,
-
-    -5208,-5208,-5208,-5208, 5280,-5208,-5208,-5208,-5208,-5208,
-    -5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,-5208,
-    -5208,-5208,-5208,-5208,-5208
-    },
-
-    {
-       27,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,
-    -5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,
-    -5209,-5209,-5209,-5209,-5209,-5209, 5281,-5209,-5209,-5209,
-    -5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,
-    -5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,
-    -5209, 5281,-5209,-5209,-5209,-5209,-5209,-5209,-5209,-5209,
-    -5209,-5209,-5209,-5209,-5209
-
-    },
-
-    {
-       27,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,
-    -5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,
-    -5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210, 5282,-5210,
-    -5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,
-    -5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,-5210,
-    -5210,-5210,-5210, 5282,-5210,-5210,-5210,-5210,-5210,-5210,
-    -5210,-5210,-5210,-5210,-5210
-    },
-
-    {
-       27,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,
-    -5211,-5211,-5211,-5211, 5283,-5211,-5211,-5211,-5211,-5211,
-    -5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,
-
-    -5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,
-     5283,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,
-    -5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,-5211,
-    -5211,-5211,-5211,-5211,-5211
-    },
-
-    {
-       27,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,
-    -5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,
-    -5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,
-    -5212, 5284,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,
-    -5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,-5212,
-    -5212,-5212,-5212,-5212,-5212,-5212, 5284,-5212,-5212,-5212,
-
-    -5212,-5212,-5212,-5212,-5212
-    },
-
-    {
-       27,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,
-    -5213,-5213,-5213, 5285,-5213,-5213,-5213,-5213,-5213,-5213,
-    -5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,
-    -5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,
-    -5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,
-    -5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,-5213,
-    -5213,-5213,-5213,-5213,-5213
-    },
-
-    {
-       27,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,
-    -5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,
-
-    -5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,
-    -5214,-5214, 5286,-5214,-5214,-5214,-5214,-5214,-5214,-5214,
-    -5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,-5214,
-    -5214,-5214,-5214,-5214,-5214,-5214,-5214, 5286,-5214,-5214,
-    -5214,-5214,-5214,-5214,-5214
-    },
-
-    {
-       27,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,
-    -5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,
-    -5215,-5215,-5215,-5215,-5215,-5215,-5215, 5287,-5215,-5215,
-    -5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,
-    -5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,-5215,
-
-    -5215,-5215, 5287,-5215,-5215,-5215,-5215,-5215,-5215,-5215,
-    -5215,-5215,-5215,-5215,-5215
-    },
-
-    {
-       27,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,
-    -5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,
-    -5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,
-    -5216,-5216, 5288,-5216,-5216,-5216,-5216,-5216,-5216,-5216,
-    -5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,-5216,
-    -5216,-5216,-5216,-5216,-5216,-5216,-5216, 5288,-5216,-5216,
-    -5216,-5216,-5216,-5216,-5216
-    },
-
-    {
-       27,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,
-
-    -5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217, 5289,-5217,
-    -5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,
-    -5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,
-    -5217,-5217,-5217,-5217, 5289,-5217,-5217,-5217,-5217,-5217,
-    -5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,-5217,
-    -5217,-5217,-5217,-5217,-5217
-    },
-
-    {
-       27,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,
-    -5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,
-    -5218,-5218,-5218,-5218,-5218,-5218, 5290,-5218,-5218,-5218,
-    -5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,
-
-    -5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,
-    -5218, 5290,-5218,-5218,-5218,-5218,-5218,-5218,-5218,-5218,
-    -5218,-5218,-5218,-5218,-5218
-    },
-
-    {
-       27,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,
-    -5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,
-    -5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219, 5291,-5219,
-    -5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,
-    -5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,-5219,
-    -5219,-5219,-5219, 5291,-5219,-5219,-5219,-5219,-5219,-5219,
-    -5219,-5219,-5219,-5219,-5219
-
-    },
-
-    {
-       27,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,
-    -5220,-5220,-5220,-5220, 5292,-5220,-5220,-5220,-5220,-5220,
-    -5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,
-    -5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,
-     5292,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,
-    -5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,-5220,
-    -5220,-5220,-5220,-5220,-5220
-    },
-
-    {
-       27,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,
-    -5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,
-    -5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,
-
-    -5221, 5293,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,
-    -5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,-5221,
-    -5221,-5221,-5221,-5221,-5221,-5221, 5293,-5221,-5221,-5221,
-    -5221,-5221,-5221,-5221,-5221
-    },
-
-    {
-       27,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,
-    -5222,-5222,-5222, 5294,-5222,-5222,-5222,-5222,-5222,-5222,
-    -5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,
-    -5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,
-    -5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,
-    -5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,-5222,
-
-    -5222,-5222,-5222,-5222,-5222
-    },
-
-    {
-       27,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,
-    -5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,
-    -5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,
-    -5223,-5223, 5295,-5223,-5223,-5223,-5223,-5223,-5223,-5223,
-    -5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,-5223,
-    -5223,-5223,-5223,-5223,-5223,-5223,-5223, 5295,-5223,-5223,
-    -5223,-5223,-5223,-5223,-5223
-    },
-
-    {
-       27,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,
-    -5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,
-
-    -5224,-5224,-5224,-5224,-5224,-5224,-5224, 5296,-5224,-5224,
-    -5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,
-    -5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,-5224,
-    -5224,-5224, 5296,-5224,-5224,-5224,-5224,-5224,-5224,-5224,
-    -5224,-5224,-5224,-5224,-5224
-    },
-
-    {
-       27,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,
-    -5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,
-    -5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,
-    -5225,-5225, 5297,-5225,-5225,-5225,-5225,-5225,-5225,-5225,
-    -5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,-5225,
-
-    -5225,-5225,-5225,-5225,-5225,-5225,-5225, 5297,-5225,-5225,
-    -5225,-5225,-5225,-5225,-5225
-    },
-
-    {
-       27,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,
-    -5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226, 5298,-5226,
-    -5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,
-    -5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,
-    -5226,-5226,-5226,-5226, 5298,-5226,-5226,-5226,-5226,-5226,
-    -5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,-5226,
-    -5226,-5226,-5226,-5226,-5226
-    },
-
-    {
-       27,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,
-
-    -5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,
-    -5227,-5227,-5227,-5227,-5227,-5227, 5299,-5227,-5227,-5227,
-    -5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,
-    -5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,
-    -5227, 5299,-5227,-5227,-5227,-5227,-5227,-5227,-5227,-5227,
-    -5227,-5227,-5227,-5227,-5227
-    },
-
-    {
-       27,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,
-    -5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,
-    -5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228, 5300,-5228,
-    -5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,
-
-    -5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,-5228,
-    -5228,-5228,-5228, 5300,-5228,-5228,-5228,-5228,-5228,-5228,
-    -5228,-5228,-5228,-5228,-5228
-    },
-
-    {
-       27,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,
-    -5229,-5229,-5229,-5229, 5301,-5229,-5229,-5229,-5229,-5229,
-    -5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,
-    -5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,
-     5301,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,
-    -5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,-5229,
-    -5229,-5229,-5229,-5229,-5229
-
-    },
-
-    {
-       27,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,
-    -5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,
-    -5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,
-    -5230, 5302,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,
-    -5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,-5230,
-    -5230,-5230,-5230,-5230,-5230,-5230, 5302,-5230,-5230,-5230,
-    -5230,-5230,-5230,-5230,-5230
-    },
-
-    {
-       27,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,
-    -5231,-5231,-5231, 5303,-5231,-5231,-5231,-5231,-5231,-5231,
-    -5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,
-
-    -5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,
-    -5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,
-    -5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,-5231,
-    -5231,-5231,-5231,-5231,-5231
-    },
-
-    {
-       27,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,
-    -5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,
-    -5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,
-    -5232,-5232, 5304,-5232,-5232,-5232,-5232,-5232,-5232,-5232,
-    -5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,-5232,
-    -5232,-5232,-5232,-5232,-5232,-5232,-5232, 5304,-5232,-5232,
-
-    -5232,-5232,-5232,-5232,-5232
-    },
-
-    {
-       27,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,
-    -5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,
-    -5233,-5233,-5233,-5233,-5233,-5233,-5233, 5305,-5233,-5233,
-    -5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,
-    -5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,-5233,
-    -5233,-5233, 5305,-5233,-5233,-5233,-5233,-5233,-5233,-5233,
-    -5233,-5233,-5233,-5233,-5233
-    },
-
-    {
-       27,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,
-    -5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,
-
-    -5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,
-    -5234,-5234, 5306,-5234,-5234,-5234,-5234,-5234,-5234,-5234,
-    -5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,-5234,
-    -5234,-5234,-5234,-5234,-5234,-5234,-5234, 5306,-5234,-5234,
-    -5234,-5234,-5234,-5234,-5234
-    },
-
-    {
-       27,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,
-    -5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235, 5307,-5235,
-    -5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,
-    -5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,
-    -5235,-5235,-5235,-5235, 5307,-5235,-5235,-5235,-5235,-5235,
-
-    -5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,-5235,
-    -5235,-5235,-5235,-5235,-5235
-    },
-
-    {
-       27,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,
-    -5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,
-    -5236,-5236,-5236,-5236,-5236,-5236, 5308,-5236,-5236,-5236,
-    -5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,
-    -5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,
-    -5236, 5308,-5236,-5236,-5236,-5236,-5236,-5236,-5236,-5236,
-    -5236,-5236,-5236,-5236,-5236
-    },
-
-    {
-       27,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,
-
-    -5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,
-    -5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237, 5309,-5237,
-    -5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,
-    -5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,-5237,
-    -5237,-5237,-5237, 5309,-5237,-5237,-5237,-5237,-5237,-5237,
-    -5237,-5237,-5237,-5237,-5237
-    },
-
-    {
-       27,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,
-    -5238,-5238,-5238,-5238, 5310,-5238,-5238,-5238,-5238,-5238,
-    -5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,
-    -5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,
-
-     5310,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,
-    -5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,-5238,
-    -5238,-5238,-5238,-5238,-5238
-    },
-
-    {
-       27,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,
-    -5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,
-    -5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,
-    -5239, 5311,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,
-    -5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,-5239,
-    -5239,-5239,-5239,-5239,-5239,-5239, 5311,-5239,-5239,-5239,
-    -5239,-5239,-5239,-5239,-5239
-
-    },
-
-    {
-       27,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,
-    -5240,-5240,-5240, 5312,-5240,-5240,-5240,-5240,-5240,-5240,
-    -5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,
-    -5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,
-    -5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,
-    -5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,-5240,
-    -5240,-5240,-5240,-5240,-5240
-    },
-
-    {
-       27,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,
-    -5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,
-    -5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,
-
-    -5241,-5241, 5313,-5241,-5241,-5241,-5241,-5241,-5241,-5241,
-    -5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,-5241,
-    -5241,-5241,-5241,-5241,-5241,-5241,-5241, 5313,-5241,-5241,
-    -5241,-5241,-5241,-5241,-5241
-    },
-
-    {
-       27,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,
-    -5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,
-    -5242,-5242,-5242,-5242,-5242,-5242,-5242, 5314,-5242,-5242,
-    -5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,
-    -5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,-5242,
-    -5242,-5242, 5314,-5242,-5242,-5242,-5242,-5242,-5242,-5242,
-
-    -5242,-5242,-5242,-5242,-5242
-    },
-
-    {
-       27,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,
-    -5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,
-    -5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,
-    -5243,-5243, 5315,-5243,-5243,-5243,-5243,-5243,-5243,-5243,
-    -5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,-5243,
-    -5243,-5243,-5243,-5243,-5243,-5243,-5243, 5315,-5243,-5243,
-    -5243,-5243,-5243,-5243,-5243
-    },
-
-    {
-       27,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,
-    -5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244, 5316,-5244,
-
-    -5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,
-    -5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,
-    -5244,-5244,-5244,-5244, 5316,-5244,-5244,-5244,-5244,-5244,
-    -5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,-5244,
-    -5244,-5244,-5244,-5244,-5244
-    },
-
-    {
-       27,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,
-    -5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,
-    -5245,-5245,-5245,-5245,-5245,-5245, 5317,-5245,-5245,-5245,
-    -5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,
-    -5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,
-
-    -5245, 5317,-5245,-5245,-5245,-5245,-5245,-5245,-5245,-5245,
-    -5245,-5245,-5245,-5245,-5245
-    },
-
-    {
-       27,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,
-    -5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,
-    -5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246, 5318,-5246,
-    -5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,
-    -5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,-5246,
-    -5246,-5246,-5246, 5318,-5246,-5246,-5246,-5246,-5246,-5246,
-    -5246,-5246,-5246,-5246,-5246
-    },
-
-    {
-       27,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,
-
-    -5247,-5247,-5247,-5247, 5319,-5247,-5247,-5247,-5247,-5247,
-    -5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,
-    -5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,
-     5319,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,
-    -5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,-5247,
-    -5247,-5247,-5247,-5247,-5247
-    },
-
-    {
-       27,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,
-    -5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,
-    -5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,
-    -5248, 5320,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,
-
-    -5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,-5248,
-    -5248,-5248,-5248,-5248,-5248,-5248, 5320,-5248,-5248,-5248,
-    -5248,-5248,-5248,-5248,-5248
-    },
-
-    {
-       27,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,
-    -5249,-5249,-5249, 5321,-5249,-5249,-5249,-5249,-5249,-5249,
-    -5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,
-    -5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,
-    -5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,
-    -5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,-5249,
-    -5249,-5249,-5249,-5249,-5249
-
-    },
-
-    {
-       27,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,
-    -5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,
-    -5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,
-    -5250,-5250, 5322,-5250,-5250,-5250,-5250,-5250,-5250,-5250,
-    -5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,-5250,
-    -5250,-5250,-5250,-5250,-5250,-5250,-5250, 5322,-5250,-5250,
-    -5250,-5250,-5250,-5250,-5250
-    },
-
-    {
-       27,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,
-    -5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,
-    -5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,
-
-    -5251,-5251,-5251, 5323,-5251,-5251,-5251,-5251,-5251,-5251,
-    -5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251,
-    -5251,-5251,-5251,-5251,-5251,-5251,-5251,-5251, 5323,-5251,
-    -5251,-5251,-5251,-5251,-5251
-    },
-
-    {
-       27,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,
-    -5252,-5252,-5252, 5324,-5252,-5252,-5252,-5252,-5252,-5252,
-    -5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,
-    -5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,
-    -5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,
-    -5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,-5252,
-
-    -5252,-5252,-5252,-5252,-5252
-    },
-
-    {
-       27,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,
-    -5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,
-    -5253,-5253,-5253,-5253,-5253,-5253,-5253, 5325,-5253,-5253,
-    -5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,
-    -5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,-5253,
-    -5253,-5253, 5325,-5253,-5253,-5253,-5253,-5253,-5253,-5253,
-    -5253,-5253,-5253,-5253,-5253
-    },
-
-    {
-       27,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,
-    -5254,-5254,-5254, 5326,-5254,-5254,-5254,-5254,-5254,-5254,
-
-    -5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,
-    -5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,
-    -5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,
-    -5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,-5254,
-    -5254,-5254,-5254,-5254,-5254
-    },
-
-    {
-       27,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,
-    -5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,
-    -5255,-5255,-5255,-5255,-5255,-5255,-5255, 5327,-5255,-5255,
-    -5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,
-    -5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,-5255,
-
-    -5255,-5255, 5327,-5255,-5255,-5255,-5255,-5255,-5255,-5255,
-    -5255,-5255,-5255,-5255,-5255
-    },
-
-    {
-       27,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,
-    -5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,
-    -5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,
-    -5256, 5328,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,
-    -5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,-5256,
-    -5256,-5256,-5256,-5256,-5256,-5256, 5328,-5256,-5256,-5256,
-    -5256,-5256,-5256,-5256,-5256
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 4891,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5258, 5329, 5329,-5258,-5258,-5258,-5258,-5258,-5258,
-    -5258,-5258, 5330,-5258,-5258,-5258,-5258,-5258,-5258,-5258,
-    -5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,
-    -5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,
-
-    -5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,
-    -5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,-5258,
-    -5258,-5258,-5258,-5258,-5258
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184, 5331,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184, 5331,  184,
-      184,  184,  184,  184,  184
-
-    },
-
-    {
-       27,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,
-    -5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,
-    -5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,
-    -5260,-5260,-5260, 5332,-5260,-5260,-5260,-5260,-5260,-5260,
-    -5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260,
-    -5260,-5260,-5260,-5260,-5260,-5260,-5260,-5260, 5332,-5260,
-    -5260,-5260,-5260,-5260,-5260
-    },
-
-    {
-       27,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,
-    -5261,-5261,-5261, 5333,-5261,-5261,-5261,-5261,-5261,-5261,
-    -5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,
-
-    -5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,
-    -5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,
-    -5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,-5261,
-    -5261,-5261,-5261,-5261,-5261
-    },
-
-    {
-       27,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,
-    -5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,
-    -5262,-5262,-5262,-5262,-5262,-5262,-5262, 5334,-5262,-5262,
-    -5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,
-    -5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,-5262,
-    -5262,-5262, 5334,-5262,-5262,-5262,-5262,-5262,-5262,-5262,
-
-    -5262,-5262,-5262,-5262,-5262
-    },
-
-    {
-       27,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,
-    -5263,-5263,-5263, 5335,-5263,-5263,-5263,-5263,-5263,-5263,
-    -5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,
-    -5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,
-    -5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,
-    -5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,-5263,
-    -5263,-5263,-5263,-5263,-5263
-    },
-
-    {
-       27,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,
-    -5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,
-
-    -5264,-5264,-5264,-5264,-5264,-5264,-5264, 5336,-5264,-5264,
-    -5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,
-    -5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,-5264,
-    -5264,-5264, 5336,-5264,-5264,-5264,-5264,-5264,-5264,-5264,
-    -5264,-5264,-5264,-5264,-5264
-    },
-
-    {
-       27,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,
-    -5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,
-    -5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,
-    -5265, 5337,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,
-    -5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,-5265,
-
-    -5265,-5265,-5265,-5265,-5265,-5265, 5337,-5265,-5265,-5265,
-    -5265,-5265,-5265,-5265,-5265
-    },
-
-    {
-       27,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266, 4906,
-    -5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,
-    -5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,
-    -5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,
-    -5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,
-    -5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,-5266,
-    -5266,-5266,-5266,-5266,-5266
-    },
-
-    {
-       27,-5267, 5338, 5338,-5267,-5267,-5267,-5267,-5267,-5267,
-
-    -5267,-5267, 5339,-5267,-5267,-5267,-5267,-5267,-5267,-5267,
-    -5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,
-    -5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,
-    -5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,
-    -5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,-5267,
-    -5267,-5267,-5267,-5267,-5267
-    },
-
-    {
-       27,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,
-    -5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,
-    -5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,
-    -5268,-5268,-5268, 5340,-5268,-5268,-5268,-5268,-5268,-5268,
-
-    -5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268,
-    -5268,-5268,-5268,-5268,-5268,-5268,-5268,-5268, 5340,-5268,
-    -5268,-5268,-5268,-5268,-5268
-    },
-
-    {
-       27,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,
-    -5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,
-    -5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,
-    -5269,-5269,-5269, 5341,-5269,-5269,-5269,-5269,-5269,-5269,
-    -5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269,
-    -5269,-5269,-5269,-5269,-5269,-5269,-5269,-5269, 5341,-5269,
-    -5269,-5269,-5269,-5269,-5269
-
-    },
-
-    {
-       27,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,
-    -5270,-5270,-5270, 5342,-5270,-5270,-5270,-5270,-5270,-5270,
-    -5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,
-    -5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,
-    -5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,
-    -5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,-5270,
-    -5270,-5270,-5270,-5270,-5270
-    },
-
-    {
-       27,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,
-    -5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,
-    -5271,-5271,-5271,-5271,-5271,-5271,-5271, 5343,-5271,-5271,
-
-    -5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,
-    -5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,-5271,
-    -5271,-5271, 5343,-5271,-5271,-5271,-5271,-5271,-5271,-5271,
-    -5271,-5271,-5271,-5271,-5271
-    },
-
-    {
-       27,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,
-    -5272,-5272,-5272, 5344,-5272,-5272,-5272,-5272,-5272,-5272,
-    -5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,
-    -5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,
-    -5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,
-    -5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,-5272,
-
-    -5272,-5272,-5272,-5272,-5272
-    },
-
-    {
-       27,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,
-    -5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,
-    -5273,-5273,-5273,-5273,-5273,-5273,-5273, 5345,-5273,-5273,
-    -5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,
-    -5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,-5273,
-    -5273,-5273, 5345,-5273,-5273,-5273,-5273,-5273,-5273,-5273,
-    -5273,-5273,-5273,-5273,-5273
-    },
-
-    {
-       27,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,
-    -5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,
-
-    -5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,
-    -5274, 5346,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,
-    -5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,-5274,
-    -5274,-5274,-5274,-5274,-5274,-5274, 5346,-5274,-5274,-5274,
-    -5274,-5274,-5274,-5274,-5274
-    },
-
-    {
-       27,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275, 4920,
-    -5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,
-    -5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,
-    -5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,
-    -5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,
-
-    -5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,-5275,
-    -5275,-5275,-5275,-5275,-5275
-    },
-
-    {
-       27,-5276, 5347, 5347,-5276,-5276,-5276,-5276,-5276,-5276,
-    -5276,-5276, 5348,-5276,-5276,-5276,-5276,-5276,-5276,-5276,
-    -5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,
-    -5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,
-    -5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,
-    -5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,-5276,
-    -5276,-5276,-5276,-5276,-5276
-    },
-
-    {
-       27,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,
-
-    -5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,
-    -5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,
-    -5277,-5277,-5277, 5349,-5277,-5277,-5277,-5277,-5277,-5277,
-    -5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277,
-    -5277,-5277,-5277,-5277,-5277,-5277,-5277,-5277, 5349,-5277,
-    -5277,-5277,-5277,-5277,-5277
-    },
-
-    {
-       27,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,
-    -5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,
-    -5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,
-    -5278,-5278,-5278, 5350,-5278,-5278,-5278,-5278,-5278,-5278,
-
-    -5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278,
-    -5278,-5278,-5278,-5278,-5278,-5278,-5278,-5278, 5350,-5278,
-    -5278,-5278,-5278,-5278,-5278
-    },
-
-    {
-       27,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,
-    -5279,-5279,-5279, 5351,-5279,-5279,-5279,-5279,-5279,-5279,
-    -5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,
-    -5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,
-    -5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,
-    -5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,-5279,
-    -5279,-5279,-5279,-5279,-5279
-
-    },
-
-    {
-       27,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,
-    -5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,
-    -5280,-5280,-5280,-5280,-5280,-5280,-5280, 5352,-5280,-5280,
-    -5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,
-    -5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,-5280,
-    -5280,-5280, 5352,-5280,-5280,-5280,-5280,-5280,-5280,-5280,
-    -5280,-5280,-5280,-5280,-5280
-    },
-
-    {
-       27,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,
-    -5281,-5281,-5281, 5353,-5281,-5281,-5281,-5281,-5281,-5281,
-    -5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,
-
-    -5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,
-    -5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,
-    -5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,-5281,
-    -5281,-5281,-5281,-5281,-5281
-    },
-
-    {
-       27,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,
-    -5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,
-    -5282,-5282,-5282,-5282,-5282,-5282,-5282, 5354,-5282,-5282,
-    -5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,
-    -5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,-5282,
-    -5282,-5282, 5354,-5282,-5282,-5282,-5282,-5282,-5282,-5282,
-
-    -5282,-5282,-5282,-5282,-5282
-    },
-
-    {
-       27,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,
-    -5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,
-    -5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,
-    -5283, 5355,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,
-    -5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,-5283,
-    -5283,-5283,-5283,-5283,-5283,-5283, 5355,-5283,-5283,-5283,
-    -5283,-5283,-5283,-5283,-5283
-    },
-
-    {
-       27,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284, 4934,
-    -5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,
-
-    -5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,
-    -5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,
-    -5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,
-    -5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,-5284,
-    -5284,-5284,-5284,-5284,-5284
-    },
-
-    {
-       27,-5285, 5356, 5356,-5285,-5285,-5285,-5285,-5285,-5285,
-    -5285,-5285, 5357,-5285,-5285,-5285,-5285,-5285,-5285,-5285,
-    -5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,
-    -5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,
-    -5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,
-
-    -5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,-5285,
-    -5285,-5285,-5285,-5285,-5285
-    },
-
-    {
-       27,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,
-    -5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,
-    -5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,
-    -5286,-5286,-5286, 5358,-5286,-5286,-5286,-5286,-5286,-5286,
-    -5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286,
-    -5286,-5286,-5286,-5286,-5286,-5286,-5286,-5286, 5358,-5286,
-    -5286,-5286,-5286,-5286,-5286
-    },
-
-    {
-       27,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,
-
-    -5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,
-    -5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,
-    -5287,-5287,-5287, 5359,-5287,-5287,-5287,-5287,-5287,-5287,
-    -5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287,
-    -5287,-5287,-5287,-5287,-5287,-5287,-5287,-5287, 5359,-5287,
-    -5287,-5287,-5287,-5287,-5287
-    },
-
-    {
-       27,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,
-    -5288,-5288,-5288, 5360,-5288,-5288,-5288,-5288,-5288,-5288,
-    -5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,
-    -5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,
-
-    -5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,
-    -5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,-5288,
-    -5288,-5288,-5288,-5288,-5288
-    },
-
-    {
-       27,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,
-    -5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,
-    -5289,-5289,-5289,-5289,-5289,-5289,-5289, 5361,-5289,-5289,
-    -5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,
-    -5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,-5289,
-    -5289,-5289, 5361,-5289,-5289,-5289,-5289,-5289,-5289,-5289,
-    -5289,-5289,-5289,-5289,-5289
-
-    },
-
-    {
-       27,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,
-    -5290,-5290,-5290, 5362,-5290,-5290,-5290,-5290,-5290,-5290,
-    -5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,
-    -5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,
-    -5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,
-    -5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,-5290,
-    -5290,-5290,-5290,-5290,-5290
-    },
-
-    {
-       27,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,
-    -5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,
-    -5291,-5291,-5291,-5291,-5291,-5291,-5291, 5363,-5291,-5291,
-
-    -5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,
-    -5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,-5291,
-    -5291,-5291, 5363,-5291,-5291,-5291,-5291,-5291,-5291,-5291,
-    -5291,-5291,-5291,-5291,-5291
-    },
-
-    {
-       27,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,
-    -5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,
-    -5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,
-    -5292, 5364,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,
-    -5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,-5292,
-    -5292,-5292,-5292,-5292,-5292,-5292, 5364,-5292,-5292,-5292,
-
-    -5292,-5292,-5292,-5292,-5292
-    },
-
-    {
-       27,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293, 4948,
-    -5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,
-    -5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,
-    -5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,
-    -5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,
-    -5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,-5293,
-    -5293,-5293,-5293,-5293,-5293
-    },
-
-    {
-       27,-5294, 5365, 5365,-5294,-5294,-5294,-5294,-5294,-5294,
-    -5294,-5294, 5366,-5294,-5294,-5294,-5294,-5294,-5294,-5294,
-
-    -5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,
-    -5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,
-    -5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,
-    -5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,-5294,
-    -5294,-5294,-5294,-5294,-5294
-    },
-
-    {
-       27,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,
-    -5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,
-    -5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,
-    -5295,-5295,-5295, 5367,-5295,-5295,-5295,-5295,-5295,-5295,
-    -5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295,
-
-    -5295,-5295,-5295,-5295,-5295,-5295,-5295,-5295, 5367,-5295,
-    -5295,-5295,-5295,-5295,-5295
-    },
-
-    {
-       27,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,
-    -5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,
-    -5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,
-    -5296,-5296,-5296, 5368,-5296,-5296,-5296,-5296,-5296,-5296,
-    -5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296,
-    -5296,-5296,-5296,-5296,-5296,-5296,-5296,-5296, 5368,-5296,
-    -5296,-5296,-5296,-5296,-5296
-    },
-
-    {
-       27,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,
-
-    -5297,-5297,-5297, 5369,-5297,-5297,-5297,-5297,-5297,-5297,
-    -5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,
-    -5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,
-    -5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,
-    -5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,-5297,
-    -5297,-5297,-5297,-5297,-5297
-    },
-
-    {
-       27,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,
-    -5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,
-    -5298,-5298,-5298,-5298,-5298,-5298,-5298, 5370,-5298,-5298,
-    -5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,
-
-    -5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,-5298,
-    -5298,-5298, 5370,-5298,-5298,-5298,-5298,-5298,-5298,-5298,
-    -5298,-5298,-5298,-5298,-5298
-    },
-
-    {
-       27,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,
-    -5299,-5299,-5299, 5371,-5299,-5299,-5299,-5299,-5299,-5299,
-    -5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,
-    -5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,
-    -5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,
-    -5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,-5299,
-    -5299,-5299,-5299,-5299,-5299
-
-    },
-
-    {
-       27,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,
-    -5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,
-    -5300,-5300,-5300,-5300,-5300,-5300,-5300, 5372,-5300,-5300,
-    -5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,
-    -5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,-5300,
-    -5300,-5300, 5372,-5300,-5300,-5300,-5300,-5300,-5300,-5300,
-    -5300,-5300,-5300,-5300,-5300
-    },
-
-    {
-       27,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,
-    -5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,
-    -5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,
-
-    -5301, 5373,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,
-    -5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,-5301,
-    -5301,-5301,-5301,-5301,-5301,-5301, 5373,-5301,-5301,-5301,
-    -5301,-5301,-5301,-5301,-5301
-    },
-
-    {
-       27,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302, 4962,
-    -5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,
-    -5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,
-    -5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,
-    -5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,
-    -5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,-5302,
-
-    -5302,-5302,-5302,-5302,-5302
-    },
-
-    {
-       27,-5303, 5374, 5374,-5303,-5303,-5303,-5303,-5303,-5303,
-    -5303,-5303, 5375,-5303,-5303,-5303,-5303,-5303,-5303,-5303,
-    -5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,
-    -5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,
-    -5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,
-    -5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,-5303,
-    -5303,-5303,-5303,-5303,-5303
-    },
-
-    {
-       27,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,
-    -5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,
-
-    -5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,
-    -5304,-5304,-5304, 5376,-5304,-5304,-5304,-5304,-5304,-5304,
-    -5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304,
-    -5304,-5304,-5304,-5304,-5304,-5304,-5304,-5304, 5376,-5304,
-    -5304,-5304,-5304,-5304,-5304
-    },
-
-    {
-       27,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,
-    -5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,
-    -5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,
-    -5305,-5305,-5305, 5377,-5305,-5305,-5305,-5305,-5305,-5305,
-    -5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305,
-
-    -5305,-5305,-5305,-5305,-5305,-5305,-5305,-5305, 5377,-5305,
-    -5305,-5305,-5305,-5305,-5305
-    },
-
-    {
-       27,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,
-    -5306,-5306,-5306, 5378,-5306,-5306,-5306,-5306,-5306,-5306,
-    -5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,
-    -5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,
-    -5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,
-    -5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,-5306,
-    -5306,-5306,-5306,-5306,-5306
-    },
-
-    {
-       27,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,
-
-    -5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,
-    -5307,-5307,-5307,-5307,-5307,-5307,-5307, 5379,-5307,-5307,
-    -5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,
-    -5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,-5307,
-    -5307,-5307, 5379,-5307,-5307,-5307,-5307,-5307,-5307,-5307,
-    -5307,-5307,-5307,-5307,-5307
-    },
-
-    {
-       27,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,
-    -5308,-5308,-5308, 5380,-5308,-5308,-5308,-5308,-5308,-5308,
-    -5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,
-    -5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,
-
-    -5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,
-    -5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,-5308,
-    -5308,-5308,-5308,-5308,-5308
-    },
-
-    {
-       27,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,
-    -5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,
-    -5309,-5309,-5309,-5309,-5309,-5309,-5309, 5381,-5309,-5309,
-    -5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,
-    -5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,-5309,
-    -5309,-5309, 5381,-5309,-5309,-5309,-5309,-5309,-5309,-5309,
-    -5309,-5309,-5309,-5309,-5309
-
-    },
-
-    {
-       27,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,
-    -5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,
-    -5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,
-    -5310, 5382,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,
-    -5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,-5310,
-    -5310,-5310,-5310,-5310,-5310,-5310, 5382,-5310,-5310,-5310,
-    -5310,-5310,-5310,-5310,-5310
-    },
-
-    {
-       27,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311, 4977,
-    -5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,
-    -5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,
-
-    -5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,
-    -5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,
-    -5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,-5311,
-    -5311,-5311,-5311,-5311,-5311
-    },
-
-    {
-       27,-5312, 5383, 5383,-5312,-5312,-5312,-5312,-5312,-5312,
-    -5312,-5312, 5384,-5312,-5312,-5312,-5312,-5312,-5312,-5312,
-    -5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,
-    -5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,
-    -5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,
-    -5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,-5312,
-
-    -5312,-5312,-5312,-5312,-5312
-    },
-
-    {
-       27,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,
-    -5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,
-    -5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,
-    -5313,-5313,-5313, 5385,-5313,-5313,-5313,-5313,-5313,-5313,
-    -5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313,
-    -5313,-5313,-5313,-5313,-5313,-5313,-5313,-5313, 5385,-5313,
-    -5313,-5313,-5313,-5313,-5313
-    },
-
-    {
-       27,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,
-    -5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,
-
-    -5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,
-    -5314,-5314,-5314, 5386,-5314,-5314,-5314,-5314,-5314,-5314,
-    -5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314,
-    -5314,-5314,-5314,-5314,-5314,-5314,-5314,-5314, 5386,-5314,
-    -5314,-5314,-5314,-5314,-5314
-    },
-
-    {
-       27,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,
-    -5315,-5315,-5315, 5387,-5315,-5315,-5315,-5315,-5315,-5315,
-    -5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,
-    -5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,
-    -5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,
-
-    -5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,-5315,
-    -5315,-5315,-5315,-5315,-5315
-    },
-
-    {
-       27,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,
-    -5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,
-    -5316,-5316,-5316,-5316,-5316,-5316,-5316, 5388,-5316,-5316,
-    -5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,
-    -5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,-5316,
-    -5316,-5316, 5388,-5316,-5316,-5316,-5316,-5316,-5316,-5316,
-    -5316,-5316,-5316,-5316,-5316
-    },
-
-    {
-       27,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,
-
-    -5317,-5317,-5317, 5389,-5317,-5317,-5317,-5317,-5317,-5317,
-    -5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,
-    -5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,
-    -5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,
-    -5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,-5317,
-    -5317,-5317,-5317,-5317,-5317
-    },
-
-    {
-       27,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,
-    -5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,
-    -5318,-5318,-5318,-5318,-5318,-5318,-5318, 5390,-5318,-5318,
-    -5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,
-
-    -5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,-5318,
-    -5318,-5318, 5390,-5318,-5318,-5318,-5318,-5318,-5318,-5318,
-    -5318,-5318,-5318,-5318,-5318
-    },
-
-    {
-       27,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,
-    -5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,
-    -5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,
-    -5319, 5391,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,
-    -5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,-5319,
-    -5319,-5319,-5319,-5319,-5319,-5319, 5391,-5319,-5319,-5319,
-    -5319,-5319,-5319,-5319,-5319
-
-    },
-
-    {
-       27,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320, 4991,
-    -5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,
-    -5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,
-    -5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,
-    -5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,
-    -5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,-5320,
-    -5320,-5320,-5320,-5320,-5320
-    },
-
-    {
-       27,-5321, 5392, 5392,-5321,-5321,-5321,-5321,-5321,-5321,
-    -5321,-5321, 5393,-5321,-5321,-5321,-5321,-5321,-5321,-5321,
-    -5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,
-
-    -5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,
-    -5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,
-    -5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,-5321,
-    -5321,-5321,-5321,-5321,-5321
-    },
-
-    {
-       27,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,
-    -5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,
-    -5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,
-    -5322,-5322,-5322, 5394,-5322,-5322,-5322,-5322,-5322,-5322,
-    -5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322,
-    -5322,-5322,-5322,-5322,-5322,-5322,-5322,-5322, 5394,-5322,
-
-    -5322,-5322,-5322,-5322,-5322
-    },
-
-    {
-       27,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,
-    -5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323, 5395,-5323,
-    -5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,
-    -5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,
-    -5323,-5323,-5323,-5323, 5395,-5323,-5323,-5323,-5323,-5323,
-    -5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,-5323,
-    -5323,-5323,-5323,-5323,-5323
-    },
-
-    {
-       27,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,
-    -5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,
-
-    -5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,
-    -5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,
-    -5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,
-    -5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,-5324,
-    -5324,-5324,-5324,-5324,-5324
-    },
-
-    {
-       27,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,
-    -5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,
-    -5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,
-    -5325,-5325,-5325, 5396,-5325,-5325,-5325,-5325,-5325,-5325,
-    -5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325,
-
-    -5325,-5325,-5325,-5325,-5325,-5325,-5325,-5325, 5396,-5325,
-    -5325,-5325,-5325,-5325,-5325
-    },
-
-    {
-       27,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,
-    -5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,
-    -5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,
-    -5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,
-    -5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,
-    -5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,-5326,
-    -5326,-5326,-5326,-5326,-5326
-    },
-
-    {
-       27,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,
-
-    -5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,
-    -5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,
-    -5327,-5327,-5327, 5397,-5327,-5327,-5327,-5327,-5327,-5327,
-    -5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327,
-    -5327,-5327,-5327,-5327,-5327,-5327,-5327,-5327, 5397,-5327,
-    -5327,-5327,-5327,-5327,-5327
-    },
-
-    {
-       27,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,
-    -5328,-5328,-5328,-5328, 5398,-5328,-5328,-5328,-5328,-5328,
-    -5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,
-    -5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,
-
-     5398,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,
-    -5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,-5328,
-    -5328,-5328,-5328,-5328,-5328
-    },
-
-    {
-       27,-5329, 5329, 5329,-5329,-5329,-5329,-5329,-5329,-5329,
-    -5329,-5329, 5330,-5329,-5329,-5329,-5329,-5329,-5329,-5329,
-    -5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,
-    -5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,
-    -5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,
-    -5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,-5329,
-    -5329,-5329,-5329,-5329,-5329
-
-    },
-
-    {
-       27,-5330,-5330,-5330,-5330,-5330,-5330,-5330,-5330,-5330,
-    -5330,-5330,-5330,-5330,-5330,-5330, 5399,-5330,-5330,-5330,
-    -5330,-5330,-5330,-5330,-5330,-5330,-5330,-5330,-5330, 5400,
-    -5330,-5330,-5330,-5330,-5330,-5330,-5330,-5330,-5330,-5330,
-    -5330,-5330, 5399,-5330,-5330,-5330,-5330,-5330,-5330,-5330,
-    -5330,-5330,-5330,-5330, 5400,-5330,-5330,-5330,-5330,-5330,
-    -5330,-5330,-5330,-5330,-5330
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185, 5401,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-     5401,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,
-    -5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332, 5402,-5332,
-    -5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,
-    -5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,
-    -5332,-5332,-5332,-5332, 5402,-5332,-5332,-5332,-5332,-5332,
-    -5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,-5332,
-
-    -5332,-5332,-5332,-5332,-5332
-    },
-
-    {
-       27,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,
-    -5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,
-    -5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,
-    -5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,
-    -5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,
-    -5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,-5333,
-    -5333,-5333,-5333,-5333,-5333
-    },
-
-    {
-       27,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,
-    -5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,
-
-    -5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,
-    -5334,-5334,-5334, 5403,-5334,-5334,-5334,-5334,-5334,-5334,
-    -5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334,
-    -5334,-5334,-5334,-5334,-5334,-5334,-5334,-5334, 5403,-5334,
-    -5334,-5334,-5334,-5334,-5334
-    },
-
-    {
-       27,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,
-    -5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,
-    -5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,
-    -5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,
-    -5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,
-
-    -5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,-5335,
-    -5335,-5335,-5335,-5335,-5335
-    },
-
-    {
-       27,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,
-    -5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,
-    -5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,
-    -5336,-5336,-5336, 5404,-5336,-5336,-5336,-5336,-5336,-5336,
-    -5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336,
-    -5336,-5336,-5336,-5336,-5336,-5336,-5336,-5336, 5404,-5336,
-    -5336,-5336,-5336,-5336,-5336
-    },
-
-    {
-       27,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,
-
-    -5337,-5337,-5337,-5337, 5405,-5337,-5337,-5337,-5337,-5337,
-    -5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,
-    -5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,
-     5405,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,
-    -5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,-5337,
-    -5337,-5337,-5337,-5337,-5337
-    },
-
-    {
-       27,-5338, 5338, 5338,-5338,-5338,-5338,-5338,-5338,-5338,
-    -5338,-5338, 5339,-5338,-5338,-5338,-5338,-5338,-5338,-5338,
-    -5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,
-    -5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,
-
-    -5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,
-    -5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,-5338,
-    -5338,-5338,-5338,-5338,-5338
-    },
-
-    {
-       27,-5339,-5339,-5339,-5339,-5339,-5339,-5339,-5339,-5339,
-    -5339,-5339,-5339,-5339,-5339,-5339, 5406,-5339,-5339,-5339,
-    -5339,-5339,-5339,-5339,-5339,-5339,-5339,-5339,-5339, 5407,
-    -5339,-5339,-5339,-5339,-5339,-5339,-5339,-5339,-5339,-5339,
-    -5339,-5339, 5406,-5339,-5339,-5339,-5339,-5339,-5339,-5339,
-    -5339,-5339,-5339,-5339, 5407,-5339,-5339,-5339,-5339,-5339,
-    -5339,-5339,-5339,-5339,-5339
-
-    },
-
-    {
-       27,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,
-    -5340,-5340,-5340,-5340, 5408,-5340,-5340,-5340,-5340,-5340,
-    -5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,
-    -5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,
-     5408,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,
-    -5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,-5340,
-    -5340,-5340,-5340,-5340,-5340
-    },
-
-    {
-       27,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,
-    -5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341, 5409,-5341,
-    -5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,
-
-    -5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,
-    -5341,-5341,-5341,-5341, 5409,-5341,-5341,-5341,-5341,-5341,
-    -5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,-5341,
-    -5341,-5341,-5341,-5341,-5341
-    },
-
-    {
-       27,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,
-    -5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,
-    -5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,
-    -5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,
-    -5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,
-    -5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,-5342,
-
-    -5342,-5342,-5342,-5342,-5342
-    },
-
-    {
-       27,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,
-    -5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,
-    -5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,
-    -5343,-5343,-5343, 5410,-5343,-5343,-5343,-5343,-5343,-5343,
-    -5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343,
-    -5343,-5343,-5343,-5343,-5343,-5343,-5343,-5343, 5410,-5343,
-    -5343,-5343,-5343,-5343,-5343
-    },
-
-    {
-       27,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,
-    -5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,
-
-    -5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,
-    -5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,
-    -5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,
-    -5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,-5344,
-    -5344,-5344,-5344,-5344,-5344
-    },
-
-    {
-       27,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,
-    -5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,
-    -5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,
-    -5345,-5345,-5345, 5411,-5345,-5345,-5345,-5345,-5345,-5345,
-    -5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345,
-
-    -5345,-5345,-5345,-5345,-5345,-5345,-5345,-5345, 5411,-5345,
-    -5345,-5345,-5345,-5345,-5345
-    },
-
-    {
-       27,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,
-    -5346,-5346,-5346,-5346, 5412,-5346,-5346,-5346,-5346,-5346,
-    -5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,
-    -5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,
-     5412,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,
-    -5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,-5346,
-    -5346,-5346,-5346,-5346,-5346
-    },
-
-    {
-       27,-5347, 5347, 5347,-5347,-5347,-5347,-5347,-5347,-5347,
-
-    -5347,-5347, 5348,-5347,-5347,-5347,-5347,-5347,-5347,-5347,
-    -5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,
-    -5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,
-    -5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,
-    -5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,-5347,
-    -5347,-5347,-5347,-5347,-5347
-    },
-
-    {
-       27,-5348,-5348,-5348,-5348,-5348,-5348,-5348,-5348,-5348,
-    -5348,-5348,-5348,-5348,-5348,-5348, 5413,-5348,-5348,-5348,
-    -5348,-5348,-5348,-5348,-5348,-5348,-5348,-5348,-5348, 5414,
-    -5348,-5348,-5348,-5348,-5348,-5348,-5348,-5348,-5348,-5348,
-
-    -5348,-5348, 5413,-5348,-5348,-5348,-5348,-5348,-5348,-5348,
-    -5348,-5348,-5348,-5348, 5414,-5348,-5348,-5348,-5348,-5348,
-    -5348,-5348,-5348,-5348,-5348
-    },
-
-    {
-       27,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,
-    -5349,-5349,-5349,-5349, 5415,-5349,-5349,-5349,-5349,-5349,
-    -5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,
-    -5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,
-     5415,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,
-    -5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,-5349,
-    -5349,-5349,-5349,-5349,-5349
-
-    },
-
-    {
-       27,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,
-    -5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350, 5416,-5350,
-    -5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,
-    -5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,
-    -5350,-5350,-5350,-5350, 5416,-5350,-5350,-5350,-5350,-5350,
-    -5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,-5350,
-    -5350,-5350,-5350,-5350,-5350
-    },
-
-    {
-       27,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,
-    -5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,
-    -5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,
-
-    -5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,
-    -5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,
-    -5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,-5351,
-    -5351,-5351,-5351,-5351,-5351
-    },
-
-    {
-       27,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,
-    -5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,
-    -5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,
-    -5352,-5352,-5352, 5417,-5352,-5352,-5352,-5352,-5352,-5352,
-    -5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352,
-    -5352,-5352,-5352,-5352,-5352,-5352,-5352,-5352, 5417,-5352,
-
-    -5352,-5352,-5352,-5352,-5352
-    },
-
-    {
-       27,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,
-    -5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,
-    -5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,
-    -5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,
-    -5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,
-    -5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,-5353,
-    -5353,-5353,-5353,-5353,-5353
-    },
-
-    {
-       27,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,
-    -5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,
-
-    -5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,
-    -5354,-5354,-5354, 5418,-5354,-5354,-5354,-5354,-5354,-5354,
-    -5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354,
-    -5354,-5354,-5354,-5354,-5354,-5354,-5354,-5354, 5418,-5354,
-    -5354,-5354,-5354,-5354,-5354
-    },
-
-    {
-       27,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,
-    -5355,-5355,-5355,-5355, 5419,-5355,-5355,-5355,-5355,-5355,
-    -5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,
-    -5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,
-     5419,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,
-
-    -5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,-5355,
-    -5355,-5355,-5355,-5355,-5355
-    },
-
-    {
-       27,-5356, 5356, 5356,-5356,-5356,-5356,-5356,-5356,-5356,
-    -5356,-5356, 5357,-5356,-5356,-5356,-5356,-5356,-5356,-5356,
-    -5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,
-    -5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,
-    -5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,
-    -5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,-5356,
-    -5356,-5356,-5356,-5356,-5356
-    },
-
-    {
-       27,-5357,-5357,-5357,-5357,-5357,-5357,-5357,-5357,-5357,
-
-    -5357,-5357,-5357,-5357,-5357,-5357, 5420,-5357,-5357,-5357,
-    -5357,-5357,-5357,-5357,-5357,-5357,-5357,-5357,-5357, 5421,
-    -5357,-5357,-5357,-5357,-5357,-5357,-5357,-5357,-5357,-5357,
-    -5357,-5357, 5420,-5357,-5357,-5357,-5357,-5357,-5357,-5357,
-    -5357,-5357,-5357,-5357, 5421,-5357,-5357,-5357,-5357,-5357,
-    -5357,-5357,-5357,-5357,-5357
-    },
-
-    {
-       27,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,
-    -5358,-5358,-5358,-5358, 5422,-5358,-5358,-5358,-5358,-5358,
-    -5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,
-    -5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,
-
-     5422,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,
-    -5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,-5358,
-    -5358,-5358,-5358,-5358,-5358
-    },
-
-    {
-       27,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,
-    -5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359, 5423,-5359,
-    -5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,
-    -5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,
-    -5359,-5359,-5359,-5359, 5423,-5359,-5359,-5359,-5359,-5359,
-    -5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,-5359,
-    -5359,-5359,-5359,-5359,-5359
-
-    },
-
-    {
-       27,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,
-    -5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,
-    -5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,
-    -5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,
-    -5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,
-    -5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,-5360,
-    -5360,-5360,-5360,-5360,-5360
-    },
-
-    {
-       27,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,
-    -5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,
-    -5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,
-
-    -5361,-5361,-5361, 5424,-5361,-5361,-5361,-5361,-5361,-5361,
-    -5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361,
-    -5361,-5361,-5361,-5361,-5361,-5361,-5361,-5361, 5424,-5361,
-    -5361,-5361,-5361,-5361,-5361
-    },
-
-    {
-       27,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,
-    -5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,
-    -5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,
-    -5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,
-    -5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,
-    -5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,-5362,
-
-    -5362,-5362,-5362,-5362,-5362
-    },
-
-    {
-       27,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,
-    -5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,
-    -5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,
-    -5363,-5363,-5363, 5425,-5363,-5363,-5363,-5363,-5363,-5363,
-    -5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363,
-    -5363,-5363,-5363,-5363,-5363,-5363,-5363,-5363, 5425,-5363,
-    -5363,-5363,-5363,-5363,-5363
-    },
-
-    {
-       27,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,
-    -5364,-5364,-5364,-5364, 5426,-5364,-5364,-5364,-5364,-5364,
-
-    -5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,
-    -5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,
-     5426,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,
-    -5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,-5364,
-    -5364,-5364,-5364,-5364,-5364
-    },
-
-    {
-       27,-5365, 5365, 5365,-5365,-5365,-5365,-5365,-5365,-5365,
-    -5365,-5365, 5366,-5365,-5365,-5365,-5365,-5365,-5365,-5365,
-    -5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,
-    -5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,
-    -5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,
-
-    -5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,-5365,
-    -5365,-5365,-5365,-5365,-5365
-    },
-
-    {
-       27,-5366,-5366,-5366,-5366,-5366,-5366,-5366,-5366,-5366,
-    -5366,-5366,-5366,-5366,-5366,-5366, 5427,-5366,-5366,-5366,
-    -5366,-5366,-5366,-5366,-5366,-5366,-5366,-5366,-5366, 5428,
-    -5366,-5366,-5366,-5366,-5366,-5366,-5366,-5366,-5366,-5366,
-    -5366,-5366, 5427,-5366,-5366,-5366,-5366,-5366,-5366,-5366,
-    -5366,-5366,-5366,-5366, 5428,-5366,-5366,-5366,-5366,-5366,
-    -5366,-5366,-5366,-5366,-5366
-    },
-
-    {
-       27,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,
-
-    -5367,-5367,-5367,-5367, 5429,-5367,-5367,-5367,-5367,-5367,
-    -5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,
-    -5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,
-     5429,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,
-    -5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,-5367,
-    -5367,-5367,-5367,-5367,-5367
-    },
-
-    {
-       27,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,
-    -5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368, 5430,-5368,
-    -5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,
-    -5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,
-
-    -5368,-5368,-5368,-5368, 5430,-5368,-5368,-5368,-5368,-5368,
-    -5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,-5368,
-    -5368,-5368,-5368,-5368,-5368
-    },
-
-    {
-       27,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,
-    -5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,
-    -5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,
-    -5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,
-    -5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,
-    -5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,-5369,
-    -5369,-5369,-5369,-5369,-5369
-
-    },
-
-    {
-       27,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,
-    -5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,
-    -5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,
-    -5370,-5370,-5370, 5431,-5370,-5370,-5370,-5370,-5370,-5370,
-    -5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370,
-    -5370,-5370,-5370,-5370,-5370,-5370,-5370,-5370, 5431,-5370,
-    -5370,-5370,-5370,-5370,-5370
-    },
-
-    {
-       27,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,
-    -5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,
-    -5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,
-
-    -5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,
-    -5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,
-    -5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,-5371,
-    -5371,-5371,-5371,-5371,-5371
-    },
-
-    {
-       27,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,
-    -5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,
-    -5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,
-    -5372,-5372,-5372, 5432,-5372,-5372,-5372,-5372,-5372,-5372,
-    -5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372,
-    -5372,-5372,-5372,-5372,-5372,-5372,-5372,-5372, 5432,-5372,
-
-    -5372,-5372,-5372,-5372,-5372
-    },
-
-    {
-       27,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,
-    -5373,-5373,-5373,-5373, 5433,-5373,-5373,-5373,-5373,-5373,
-    -5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,
-    -5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,
-     5433,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,
-    -5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,-5373,
-    -5373,-5373,-5373,-5373,-5373
-    },
-
-    {
-       27,-5374, 5374, 5374,-5374,-5374,-5374,-5374,-5374,-5374,
-    -5374,-5374, 5375,-5374,-5374,-5374,-5374,-5374,-5374,-5374,
-
-    -5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,
-    -5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,
-    -5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,
-    -5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,-5374,
-    -5374,-5374,-5374,-5374,-5374
-    },
-
-    {
-       27,-5375,-5375,-5375,-5375,-5375,-5375,-5375,-5375,-5375,
-    -5375,-5375,-5375,-5375,-5375,-5375, 5434,-5375,-5375,-5375,
-    -5375,-5375,-5375,-5375,-5375,-5375,-5375,-5375,-5375, 5435,
-    -5375,-5375,-5375,-5375,-5375,-5375,-5375,-5375,-5375,-5375,
-    -5375,-5375, 5434,-5375,-5375,-5375,-5375,-5375,-5375,-5375,
-
-    -5375,-5375,-5375,-5375, 5435,-5375,-5375,-5375,-5375,-5375,
-    -5375,-5375,-5375,-5375,-5375
-    },
-
-    {
-       27,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,
-    -5376,-5376,-5376,-5376, 5436,-5376,-5376,-5376,-5376,-5376,
-    -5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,
-    -5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,
-     5436,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,
-    -5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,-5376,
-    -5376,-5376,-5376,-5376,-5376
-    },
-
-    {
-       27,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,
-
-    -5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377, 5437,-5377,
-    -5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,
-    -5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,
-    -5377,-5377,-5377,-5377, 5437,-5377,-5377,-5377,-5377,-5377,
-    -5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,-5377,
-    -5377,-5377,-5377,-5377,-5377
-    },
-
-    {
-       27,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,
-    -5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,
-    -5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,
-    -5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,
-
-    -5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,
-    -5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,-5378,
-    -5378,-5378,-5378,-5378,-5378
-    },
-
-    {
-       27,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,
-    -5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,
-    -5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,
-    -5379,-5379,-5379, 5438,-5379,-5379,-5379,-5379,-5379,-5379,
-    -5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379,
-    -5379,-5379,-5379,-5379,-5379,-5379,-5379,-5379, 5438,-5379,
-    -5379,-5379,-5379,-5379,-5379
-
-    },
-
-    {
-       27,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,
-    -5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,
-    -5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,
-    -5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,
-    -5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,
-    -5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,-5380,
-    -5380,-5380,-5380,-5380,-5380
-    },
-
-    {
-       27,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,
-    -5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,
-    -5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,
-
-    -5381,-5381,-5381, 5439,-5381,-5381,-5381,-5381,-5381,-5381,
-    -5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381,
-    -5381,-5381,-5381,-5381,-5381,-5381,-5381,-5381, 5439,-5381,
-    -5381,-5381,-5381,-5381,-5381
-    },
-
-    {
-       27,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,
-    -5382,-5382,-5382,-5382, 5440,-5382,-5382,-5382,-5382,-5382,
-    -5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,
-    -5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,
-     5440,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,
-    -5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,-5382,
-
-    -5382,-5382,-5382,-5382,-5382
-    },
-
-    {
-       27,-5383, 5383, 5383,-5383,-5383,-5383,-5383,-5383,-5383,
-    -5383,-5383, 5384,-5383,-5383,-5383,-5383,-5383,-5383,-5383,
-    -5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,
-    -5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,
-    -5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,
-    -5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,-5383,
-    -5383,-5383,-5383,-5383,-5383
-    },
-
-    {
-       27,-5384,-5384,-5384,-5384,-5384,-5384,-5384,-5384,-5384,
-    -5384,-5384,-5384,-5384,-5384,-5384, 5441,-5384,-5384,-5384,
-
-    -5384,-5384,-5384,-5384,-5384,-5384,-5384,-5384,-5384, 5442,
-    -5384,-5384,-5384,-5384,-5384,-5384,-5384,-5384,-5384,-5384,
-    -5384,-5384, 5441,-5384,-5384,-5384,-5384,-5384,-5384,-5384,
-    -5384,-5384,-5384,-5384, 5442,-5384,-5384,-5384,-5384,-5384,
-    -5384,-5384,-5384,-5384,-5384
-    },
-
-    {
-       27,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,
-    -5385,-5385,-5385,-5385, 5443,-5385,-5385,-5385,-5385,-5385,
-    -5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,
-    -5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,
-     5443,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,
-
-    -5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,-5385,
-    -5385,-5385,-5385,-5385,-5385
-    },
-
-    {
-       27,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,
-    -5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386, 5444,-5386,
-    -5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,
-    -5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,
-    -5386,-5386,-5386,-5386, 5444,-5386,-5386,-5386,-5386,-5386,
-    -5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,-5386,
-    -5386,-5386,-5386,-5386,-5386
-    },
-
-    {
-       27,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,
-
-    -5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,
-    -5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,
-    -5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,
-    -5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,
-    -5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,-5387,
-    -5387,-5387,-5387,-5387,-5387
-    },
-
-    {
-       27,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,
-    -5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,
-    -5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,
-    -5388,-5388,-5388, 5445,-5388,-5388,-5388,-5388,-5388,-5388,
-
-    -5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388,
-    -5388,-5388,-5388,-5388,-5388,-5388,-5388,-5388, 5445,-5388,
-    -5388,-5388,-5388,-5388,-5388
-    },
-
-    {
-       27,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,
-    -5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,
-    -5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,
-    -5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,
-    -5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,
-    -5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,-5389,
-    -5389,-5389,-5389,-5389,-5389
-
-    },
-
-    {
-       27,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,
-    -5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,
-    -5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,
-    -5390,-5390,-5390, 5446,-5390,-5390,-5390,-5390,-5390,-5390,
-    -5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390,
-    -5390,-5390,-5390,-5390,-5390,-5390,-5390,-5390, 5446,-5390,
-    -5390,-5390,-5390,-5390,-5390
-    },
-
-    {
-       27,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,
-    -5391,-5391,-5391,-5391, 5447,-5391,-5391,-5391,-5391,-5391,
-    -5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,
-
-    -5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,
-     5447,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,
-    -5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,-5391,
-    -5391,-5391,-5391,-5391,-5391
-    },
-
-    {
-       27,-5392, 5392, 5392,-5392,-5392,-5392,-5392,-5392,-5392,
-    -5392,-5392, 5393,-5392,-5392,-5392,-5392,-5392,-5392,-5392,
-    -5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,
-    -5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,
-    -5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,
-    -5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,-5392,
-
-    -5392,-5392,-5392,-5392,-5392
-    },
-
-    {
-       27,-5393,-5393,-5393,-5393,-5393,-5393,-5393,-5393,-5393,
-    -5393,-5393,-5393,-5393,-5393,-5393, 5448,-5393,-5393,-5393,
-    -5393,-5393,-5393,-5393,-5393,-5393,-5393,-5393,-5393, 5449,
-    -5393,-5393,-5393,-5393,-5393,-5393,-5393,-5393,-5393,-5393,
-    -5393,-5393, 5448,-5393,-5393,-5393,-5393,-5393,-5393,-5393,
-    -5393,-5393,-5393,-5393, 5449,-5393,-5393,-5393,-5393,-5393,
-    -5393,-5393,-5393,-5393,-5393
-    },
-
-    {
-       27,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,
-    -5394,-5394,-5394,-5394, 5450,-5394,-5394,-5394,-5394,-5394,
-
-    -5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,
-    -5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,
-     5450,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,
-    -5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,-5394,
-    -5394,-5394,-5394,-5394,-5394
-    },
-
-    {
-       27,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,
-    -5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,
-    -5395,-5395,-5395,-5395,-5395,-5395,-5395, 5451,-5395,-5395,
-    -5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,
-    -5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,-5395,
-
-    -5395,-5395, 5451,-5395,-5395,-5395,-5395,-5395,-5395,-5395,
-    -5395,-5395,-5395,-5395,-5395
-    },
-
-    {
-       27,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,
-    -5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,
-    -5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,
-    -5396,-5396, 5452,-5396,-5396,-5396,-5396,-5396,-5396,-5396,
-    -5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,-5396,
-    -5396,-5396,-5396,-5396,-5396,-5396,-5396, 5452,-5396,-5396,
-    -5396,-5396,-5396,-5396,-5396
-    },
-
-    {
-       27,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,
-
-    -5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397, 5453,-5397,
-    -5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,
-    -5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,
-    -5397,-5397,-5397,-5397, 5453,-5397,-5397,-5397,-5397,-5397,
-    -5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,-5397,
-    -5397,-5397,-5397,-5397,-5397
-    },
-
-    {
-       27,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,
-    -5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,
-    -5398,-5398,-5398,-5398,-5398,-5398, 5454,-5398,-5398,-5398,
-    -5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,
-
-    -5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,
-    -5398, 5454,-5398,-5398,-5398,-5398,-5398,-5398,-5398,-5398,
-    -5398,-5398,-5398,-5398,-5398
-    },
-
-    {
-       27,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,
-    -5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,
-    -5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399, 5455,-5399,
-    -5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,
-    -5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,-5399,
-    -5399,-5399,-5399, 5455,-5399,-5399,-5399,-5399,-5399,-5399,
-    -5399,-5399,-5399,-5399,-5399
-
-    },
-
-    {
-       27,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,
-    -5400,-5400,-5400,-5400, 5456,-5400,-5400,-5400,-5400,-5400,
-    -5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,
-    -5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,
-     5456,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,
-    -5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,-5400,
-    -5400,-5400,-5400,-5400,-5400
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-
-      184, 5457,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184, 5457,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,
-    -5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,
-    -5402,-5402,-5402,-5402,-5402,-5402,-5402, 5458,-5402,-5402,
-    -5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,
-    -5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,-5402,
-    -5402,-5402, 5458,-5402,-5402,-5402,-5402,-5402,-5402,-5402,
-
-    -5402,-5402,-5402,-5402,-5402
-    },
-
-    {
-       27,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,
-    -5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,
-    -5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,
-    -5403,-5403, 5459,-5403,-5403,-5403,-5403,-5403,-5403,-5403,
-    -5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,-5403,
-    -5403,-5403,-5403,-5403,-5403,-5403,-5403, 5459,-5403,-5403,
-    -5403,-5403,-5403,-5403,-5403
-    },
-
-    {
-       27,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,
-    -5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404, 5460,-5404,
-
-    -5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,
-    -5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,
-    -5404,-5404,-5404,-5404, 5460,-5404,-5404,-5404,-5404,-5404,
-    -5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,-5404,
-    -5404,-5404,-5404,-5404,-5404
-    },
-
-    {
-       27,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,
-    -5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,
-    -5405,-5405,-5405,-5405,-5405,-5405, 5461,-5405,-5405,-5405,
-    -5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,
-    -5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,
-
-    -5405, 5461,-5405,-5405,-5405,-5405,-5405,-5405,-5405,-5405,
-    -5405,-5405,-5405,-5405,-5405
-    },
-
-    {
-       27,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,
-    -5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,
-    -5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406, 5462,-5406,
-    -5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,
-    -5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,-5406,
-    -5406,-5406,-5406, 5462,-5406,-5406,-5406,-5406,-5406,-5406,
-    -5406,-5406,-5406,-5406,-5406
-    },
-
-    {
-       27,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,
-
-    -5407,-5407,-5407,-5407, 5463,-5407,-5407,-5407,-5407,-5407,
-    -5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,
-    -5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,
-     5463,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,
-    -5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,-5407,
-    -5407,-5407,-5407,-5407,-5407
-    },
-
-    {
-       27,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,
-    -5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,
-    -5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,
-    -5408, 5464,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,
-
-    -5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,-5408,
-    -5408,-5408,-5408,-5408,-5408,-5408, 5464,-5408,-5408,-5408,
-    -5408,-5408,-5408,-5408,-5408
-    },
-
-    {
-       27,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,
-    -5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,
-    -5409,-5409,-5409,-5409,-5409,-5409,-5409, 5465,-5409,-5409,
-    -5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,
-    -5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,-5409,
-    -5409,-5409, 5465,-5409,-5409,-5409,-5409,-5409,-5409,-5409,
-    -5409,-5409,-5409,-5409,-5409
-
-    },
-
-    {
-       27,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,
-    -5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,
-    -5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,
-    -5410,-5410, 5466,-5410,-5410,-5410,-5410,-5410,-5410,-5410,
-    -5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,-5410,
-    -5410,-5410,-5410,-5410,-5410,-5410,-5410, 5466,-5410,-5410,
-    -5410,-5410,-5410,-5410,-5410
-    },
-
-    {
-       27,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,
-    -5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411, 5467,-5411,
-    -5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,
-
-    -5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,
-    -5411,-5411,-5411,-5411, 5467,-5411,-5411,-5411,-5411,-5411,
-    -5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,-5411,
-    -5411,-5411,-5411,-5411,-5411
-    },
-
-    {
-       27,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,
-    -5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,
-    -5412,-5412,-5412,-5412,-5412,-5412, 5468,-5412,-5412,-5412,
-    -5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,
-    -5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,
-    -5412, 5468,-5412,-5412,-5412,-5412,-5412,-5412,-5412,-5412,
-
-    -5412,-5412,-5412,-5412,-5412
-    },
-
-    {
-       27,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,
-    -5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,
-    -5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413, 5469,-5413,
-    -5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,
-    -5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,-5413,
-    -5413,-5413,-5413, 5469,-5413,-5413,-5413,-5413,-5413,-5413,
-    -5413,-5413,-5413,-5413,-5413
-    },
-
-    {
-       27,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,
-    -5414,-5414,-5414,-5414, 5470,-5414,-5414,-5414,-5414,-5414,
-
-    -5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,
-    -5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,
-     5470,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,
-    -5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,-5414,
-    -5414,-5414,-5414,-5414,-5414
-    },
-
-    {
-       27,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,
-    -5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,
-    -5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,
-    -5415, 5471,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,
-    -5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,-5415,
-
-    -5415,-5415,-5415,-5415,-5415,-5415, 5471,-5415,-5415,-5415,
-    -5415,-5415,-5415,-5415,-5415
-    },
-
-    {
-       27,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,
-    -5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,
-    -5416,-5416,-5416,-5416,-5416,-5416,-5416, 5472,-5416,-5416,
-    -5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,
-    -5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,-5416,
-    -5416,-5416, 5472,-5416,-5416,-5416,-5416,-5416,-5416,-5416,
-    -5416,-5416,-5416,-5416,-5416
-    },
-
-    {
-       27,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,
-
-    -5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,
-    -5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,
-    -5417,-5417, 5473,-5417,-5417,-5417,-5417,-5417,-5417,-5417,
-    -5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,-5417,
-    -5417,-5417,-5417,-5417,-5417,-5417,-5417, 5473,-5417,-5417,
-    -5417,-5417,-5417,-5417,-5417
-    },
-
-    {
-       27,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,
-    -5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418, 5474,-5418,
-    -5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,
-    -5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,
-
-    -5418,-5418,-5418,-5418, 5474,-5418,-5418,-5418,-5418,-5418,
-    -5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,-5418,
-    -5418,-5418,-5418,-5418,-5418
-    },
-
-    {
-       27,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,
-    -5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,
-    -5419,-5419,-5419,-5419,-5419,-5419, 5475,-5419,-5419,-5419,
-    -5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,
-    -5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,
-    -5419, 5475,-5419,-5419,-5419,-5419,-5419,-5419,-5419,-5419,
-    -5419,-5419,-5419,-5419,-5419
-
-    },
-
-    {
-       27,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,
-    -5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,
-    -5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420, 5476,-5420,
-    -5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,
-    -5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,-5420,
-    -5420,-5420,-5420, 5476,-5420,-5420,-5420,-5420,-5420,-5420,
-    -5420,-5420,-5420,-5420,-5420
-    },
-
-    {
-       27,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,
-    -5421,-5421,-5421,-5421, 5477,-5421,-5421,-5421,-5421,-5421,
-    -5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,
-
-    -5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,
-     5477,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,
-    -5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,-5421,
-    -5421,-5421,-5421,-5421,-5421
-    },
-
-    {
-       27,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,
-    -5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,
-    -5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,
-    -5422, 5478,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,
-    -5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,-5422,
-    -5422,-5422,-5422,-5422,-5422,-5422, 5478,-5422,-5422,-5422,
-
-    -5422,-5422,-5422,-5422,-5422
-    },
-
-    {
-       27,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,
-    -5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,
-    -5423,-5423,-5423,-5423,-5423,-5423,-5423, 5479,-5423,-5423,
-    -5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,
-    -5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,-5423,
-    -5423,-5423, 5479,-5423,-5423,-5423,-5423,-5423,-5423,-5423,
-    -5423,-5423,-5423,-5423,-5423
-    },
-
-    {
-       27,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,
-    -5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,
-
-    -5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,
-    -5424,-5424, 5480,-5424,-5424,-5424,-5424,-5424,-5424,-5424,
-    -5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,-5424,
-    -5424,-5424,-5424,-5424,-5424,-5424,-5424, 5480,-5424,-5424,
-    -5424,-5424,-5424,-5424,-5424
-    },
-
-    {
-       27,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,
-    -5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425, 5481,-5425,
-    -5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,
-    -5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,
-    -5425,-5425,-5425,-5425, 5481,-5425,-5425,-5425,-5425,-5425,
-
-    -5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,-5425,
-    -5425,-5425,-5425,-5425,-5425
-    },
-
-    {
-       27,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,
-    -5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,
-    -5426,-5426,-5426,-5426,-5426,-5426, 5482,-5426,-5426,-5426,
-    -5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,
-    -5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,
-    -5426, 5482,-5426,-5426,-5426,-5426,-5426,-5426,-5426,-5426,
-    -5426,-5426,-5426,-5426,-5426
-    },
-
-    {
-       27,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,
-
-    -5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,
-    -5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427, 5483,-5427,
-    -5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,
-    -5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,-5427,
-    -5427,-5427,-5427, 5483,-5427,-5427,-5427,-5427,-5427,-5427,
-    -5427,-5427,-5427,-5427,-5427
-    },
-
-    {
-       27,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,
-    -5428,-5428,-5428,-5428, 5484,-5428,-5428,-5428,-5428,-5428,
-    -5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,
-    -5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,
-
-     5484,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,
-    -5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,-5428,
-    -5428,-5428,-5428,-5428,-5428
-    },
-
-    {
-       27,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,
-    -5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,
-    -5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,
-    -5429, 5485,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,
-    -5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,-5429,
-    -5429,-5429,-5429,-5429,-5429,-5429, 5485,-5429,-5429,-5429,
-    -5429,-5429,-5429,-5429,-5429
-
-    },
-
-    {
-       27,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,
-    -5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,
-    -5430,-5430,-5430,-5430,-5430,-5430,-5430, 5486,-5430,-5430,
-    -5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,
-    -5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,-5430,
-    -5430,-5430, 5486,-5430,-5430,-5430,-5430,-5430,-5430,-5430,
-    -5430,-5430,-5430,-5430,-5430
-    },
-
-    {
-       27,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,
-    -5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,
-    -5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,
-
-    -5431,-5431, 5487,-5431,-5431,-5431,-5431,-5431,-5431,-5431,
-    -5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,-5431,
-    -5431,-5431,-5431,-5431,-5431,-5431,-5431, 5487,-5431,-5431,
-    -5431,-5431,-5431,-5431,-5431
-    },
-
-    {
-       27,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,
-    -5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432, 5488,-5432,
-    -5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,
-    -5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,
-    -5432,-5432,-5432,-5432, 5488,-5432,-5432,-5432,-5432,-5432,
-    -5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,-5432,
-
-    -5432,-5432,-5432,-5432,-5432
-    },
-
-    {
-       27,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,
-    -5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,
-    -5433,-5433,-5433,-5433,-5433,-5433, 5489,-5433,-5433,-5433,
-    -5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,
-    -5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,
-    -5433, 5489,-5433,-5433,-5433,-5433,-5433,-5433,-5433,-5433,
-    -5433,-5433,-5433,-5433,-5433
-    },
-
-    {
-       27,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,
-    -5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,
-
-    -5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434, 5490,-5434,
-    -5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,
-    -5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,-5434,
-    -5434,-5434,-5434, 5490,-5434,-5434,-5434,-5434,-5434,-5434,
-    -5434,-5434,-5434,-5434,-5434
-    },
-
-    {
-       27,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,
-    -5435,-5435,-5435,-5435, 5491,-5435,-5435,-5435,-5435,-5435,
-    -5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,
-    -5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,
-     5491,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,
-
-    -5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,-5435,
-    -5435,-5435,-5435,-5435,-5435
-    },
-
-    {
-       27,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,
-    -5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,
-    -5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,
-    -5436, 5492,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,
-    -5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,-5436,
-    -5436,-5436,-5436,-5436,-5436,-5436, 5492,-5436,-5436,-5436,
-    -5436,-5436,-5436,-5436,-5436
-    },
-
-    {
-       27,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,
-
-    -5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,
-    -5437,-5437,-5437,-5437,-5437,-5437,-5437, 5493,-5437,-5437,
-    -5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,
-    -5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,-5437,
-    -5437,-5437, 5493,-5437,-5437,-5437,-5437,-5437,-5437,-5437,
-    -5437,-5437,-5437,-5437,-5437
-    },
-
-    {
-       27,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,
-    -5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,
-    -5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,
-    -5438,-5438, 5494,-5438,-5438,-5438,-5438,-5438,-5438,-5438,
-
-    -5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,-5438,
-    -5438,-5438,-5438,-5438,-5438,-5438,-5438, 5494,-5438,-5438,
-    -5438,-5438,-5438,-5438,-5438
-    },
-
-    {
-       27,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,
-    -5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439, 5495,-5439,
-    -5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,
-    -5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,
-    -5439,-5439,-5439,-5439, 5495,-5439,-5439,-5439,-5439,-5439,
-    -5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,-5439,
-    -5439,-5439,-5439,-5439,-5439
-
-    },
-
-    {
-       27,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,
-    -5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,
-    -5440,-5440,-5440,-5440,-5440,-5440, 5496,-5440,-5440,-5440,
-    -5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,
-    -5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,
-    -5440, 5496,-5440,-5440,-5440,-5440,-5440,-5440,-5440,-5440,
-    -5440,-5440,-5440,-5440,-5440
-    },
-
-    {
-       27,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,
-    -5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,
-    -5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441, 5497,-5441,
-
-    -5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,
-    -5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,-5441,
-    -5441,-5441,-5441, 5497,-5441,-5441,-5441,-5441,-5441,-5441,
-    -5441,-5441,-5441,-5441,-5441
-    },
-
-    {
-       27,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,
-    -5442,-5442,-5442,-5442, 5498,-5442,-5442,-5442,-5442,-5442,
-    -5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,
-    -5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,
-     5498,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,
-    -5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,-5442,
-
-    -5442,-5442,-5442,-5442,-5442
-    },
-
-    {
-       27,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,
-    -5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,
-    -5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,
-    -5443, 5499,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,
-    -5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,-5443,
-    -5443,-5443,-5443,-5443,-5443,-5443, 5499,-5443,-5443,-5443,
-    -5443,-5443,-5443,-5443,-5443
-    },
-
-    {
-       27,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,
-    -5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,
-
-    -5444,-5444,-5444,-5444,-5444,-5444,-5444, 5500,-5444,-5444,
-    -5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,
-    -5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,-5444,
-    -5444,-5444, 5500,-5444,-5444,-5444,-5444,-5444,-5444,-5444,
-    -5444,-5444,-5444,-5444,-5444
-    },
-
-    {
-       27,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,
-    -5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,
-    -5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,
-    -5445,-5445, 5501,-5445,-5445,-5445,-5445,-5445,-5445,-5445,
-    -5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,-5445,
-
-    -5445,-5445,-5445,-5445,-5445,-5445,-5445, 5501,-5445,-5445,
-    -5445,-5445,-5445,-5445,-5445
-    },
-
-    {
-       27,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,
-    -5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446, 5502,-5446,
-    -5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,
-    -5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,
-    -5446,-5446,-5446,-5446, 5502,-5446,-5446,-5446,-5446,-5446,
-    -5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,-5446,
-    -5446,-5446,-5446,-5446,-5446
-    },
-
-    {
-       27,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,
-
-    -5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,
-    -5447,-5447,-5447,-5447,-5447,-5447, 5503,-5447,-5447,-5447,
-    -5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,
-    -5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,
-    -5447, 5503,-5447,-5447,-5447,-5447,-5447,-5447,-5447,-5447,
-    -5447,-5447,-5447,-5447,-5447
-    },
-
-    {
-       27,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,
-    -5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,
-    -5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448, 5504,-5448,
-    -5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,
-
-    -5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,-5448,
-    -5448,-5448,-5448, 5504,-5448,-5448,-5448,-5448,-5448,-5448,
-    -5448,-5448,-5448,-5448,-5448
-    },
-
-    {
-       27,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,
-    -5449,-5449,-5449,-5449, 5505,-5449,-5449,-5449,-5449,-5449,
-    -5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,
-    -5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,
-     5505,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,
-    -5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,-5449,
-    -5449,-5449,-5449,-5449,-5449
-
-    },
-
-    {
-       27,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,
-    -5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,
-    -5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,
-    -5450, 5506,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,
-    -5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,-5450,
-    -5450,-5450,-5450,-5450,-5450,-5450, 5506,-5450,-5450,-5450,
-    -5450,-5450,-5450,-5450,-5450
-    },
-
-    {
-       27,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,
-    -5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,
-    -5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,
-
-    -5451,-5451,-5451, 5507,-5451,-5451,-5451,-5451,-5451,-5451,
-    -5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451,
-    -5451,-5451,-5451,-5451,-5451,-5451,-5451,-5451, 5507,-5451,
-    -5451,-5451,-5451,-5451,-5451
-    },
-
-    {
-       27,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,
-    -5452,-5452,-5452, 5508,-5452,-5452,-5452,-5452,-5452,-5452,
-    -5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,
-    -5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,
-    -5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,
-    -5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,-5452,
-
-    -5452,-5452,-5452,-5452,-5452
-    },
-
-    {
-       27,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,
-    -5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,
-    -5453,-5453,-5453,-5453,-5453,-5453,-5453, 5509,-5453,-5453,
-    -5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,
-    -5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,-5453,
-    -5453,-5453, 5509,-5453,-5453,-5453,-5453,-5453,-5453,-5453,
-    -5453,-5453,-5453,-5453,-5453
-    },
-
-    {
-       27,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,
-    -5454,-5454,-5454, 5510,-5454,-5454,-5454,-5454,-5454,-5454,
-
-    -5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,
-    -5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,
-    -5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,
-    -5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,-5454,
-    -5454,-5454,-5454,-5454,-5454
-    },
-
-    {
-       27,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,
-    -5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,
-    -5455,-5455,-5455,-5455,-5455,-5455,-5455, 5511,-5455,-5455,
-    -5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,
-    -5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,-5455,
-
-    -5455,-5455, 5511,-5455,-5455,-5455,-5455,-5455,-5455,-5455,
-    -5455,-5455,-5455,-5455,-5455
-    },
-
-    {
-       27,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,
-    -5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,
-    -5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,
-    -5456, 5512,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,
-    -5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,-5456,
-    -5456,-5456,-5456,-5456,-5456,-5456, 5512,-5456,-5456,-5456,
-    -5456,-5456,-5456,-5456,-5456
-    },
-
-    {
-       27,  184,  184,  184,  184,  184,  184,  184,  184, 5186,
-
-      184,  184,  184,  185,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184,  184,  184,  184,  184,  184,
-      184,  184,  184,  184,  184
-    },
-
-    {
-       27,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,
-    -5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,
-    -5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,
-    -5458,-5458,-5458, 5513,-5458,-5458,-5458,-5458,-5458,-5458,
-
-    -5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458,
-    -5458,-5458,-5458,-5458,-5458,-5458,-5458,-5458, 5513,-5458,
-    -5458,-5458,-5458,-5458,-5458
-    },
-
-    {
-       27,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,
-    -5459,-5459,-5459, 5514,-5459,-5459,-5459,-5459,-5459,-5459,
-    -5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,
-    -5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,
-    -5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,
-    -5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,-5459,
-    -5459,-5459,-5459,-5459,-5459
-
-    },
-
-    {
-       27,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,
-    -5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,
-    -5460,-5460,-5460,-5460,-5460,-5460,-5460, 5515,-5460,-5460,
-    -5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,
-    -5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,-5460,
-    -5460,-5460, 5515,-5460,-5460,-5460,-5460,-5460,-5460,-5460,
-    -5460,-5460,-5460,-5460,-5460
-    },
-
-    {
-       27,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,
-    -5461,-5461,-5461, 5516,-5461,-5461,-5461,-5461,-5461,-5461,
-    -5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,
-
-    -5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,
-    -5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,
-    -5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,-5461,
-    -5461,-5461,-5461,-5461,-5461
-    },
-
-    {
-       27,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,
-    -5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,
-    -5462,-5462,-5462,-5462,-5462,-5462,-5462, 5517,-5462,-5462,
-    -5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,
-    -5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,-5462,
-    -5462,-5462, 5517,-5462,-5462,-5462,-5462,-5462,-5462,-5462,
-
-    -5462,-5462,-5462,-5462,-5462
-    },
-
-    {
-       27,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,
-    -5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,
-    -5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,
-    -5463, 5518,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,
-    -5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,-5463,
-    -5463,-5463,-5463,-5463,-5463,-5463, 5518,-5463,-5463,-5463,
-    -5463,-5463,-5463,-5463,-5463
-    },
-
-    {
-       27,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464, 5195,
-    -5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,
-
-    -5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,
-    -5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,
-    -5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,
-    -5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,-5464,
-    -5464,-5464,-5464,-5464,-5464
-    },
-
-    {
-       27,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,
-    -5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,
-    -5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,
-    -5465,-5465,-5465, 5519,-5465,-5465,-5465,-5465,-5465,-5465,
-    -5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465,
-
-    -5465,-5465,-5465,-5465,-5465,-5465,-5465,-5465, 5519,-5465,
-    -5465,-5465,-5465,-5465,-5465
-    },
-
-    {
-       27,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,
-    -5466,-5466,-5466, 5520,-5466,-5466,-5466,-5466,-5466,-5466,
-    -5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,
-    -5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,
-    -5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,
-    -5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,-5466,
-    -5466,-5466,-5466,-5466,-5466
-    },
-
-    {
-       27,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,
-
-    -5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,
-    -5467,-5467,-5467,-5467,-5467,-5467,-5467, 5521,-5467,-5467,
-    -5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,
-    -5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,-5467,
-    -5467,-5467, 5521,-5467,-5467,-5467,-5467,-5467,-5467,-5467,
-    -5467,-5467,-5467,-5467,-5467
-    },
-
-    {
-       27,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,
-    -5468,-5468,-5468, 5522,-5468,-5468,-5468,-5468,-5468,-5468,
-    -5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,
-    -5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,
-
-    -5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,
-    -5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,-5468,
-    -5468,-5468,-5468,-5468,-5468
-    },
-
-    {
-       27,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,
-    -5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,
-    -5469,-5469,-5469,-5469,-5469,-5469,-5469, 5523,-5469,-5469,
-    -5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,
-    -5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,-5469,
-    -5469,-5469, 5523,-5469,-5469,-5469,-5469,-5469,-5469,-5469,
-    -5469,-5469,-5469,-5469,-5469
-
-    },
-
-    {
-       27,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,
-    -5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,
-    -5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,
-    -5470, 5524,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,
-    -5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,-5470,
-    -5470,-5470,-5470,-5470,-5470,-5470, 5524,-5470,-5470,-5470,
-    -5470,-5470,-5470,-5470,-5470
-    },
-
-    {
-       27,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471, 5204,
-    -5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,
-    -5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,
-
-    -5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,
-    -5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,
-    -5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,-5471,
-    -5471,-5471,-5471,-5471,-5471
-    },
-
-    {
-       27,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,
-    -5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,
-    -5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,
-    -5472,-5472,-5472, 5525,-5472,-5472,-5472,-5472,-5472,-5472,
-    -5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472,
-    -5472,-5472,-5472,-5472,-5472,-5472,-5472,-5472, 5525,-5472,
-
-    -5472,-5472,-5472,-5472,-5472
-    },
-
-    {
-       27,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,
-    -5473,-5473,-5473, 5526,-5473,-5473,-5473,-5473,-5473,-5473,
-    -5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,
-    -5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,
-    -5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,
-    -5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,-5473,
-    -5473,-5473,-5473,-5473,-5473
-    },
-
-    {
-       27,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,
-    -5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,
-
-    -5474,-5474,-5474,-5474,-5474,-5474,-5474, 5527,-5474,-5474,
-    -5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,
-    -5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,-5474,
-    -5474,-5474, 5527,-5474,-5474,-5474,-5474,-5474,-5474,-5474,
-    -5474,-5474,-5474,-5474,-5474
-    },
-
-    {
-       27,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,
-    -5475,-5475,-5475, 5528,-5475,-5475,-5475,-5475,-5475,-5475,
-    -5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,
-    -5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,
-    -5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,
-
-    -5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,-5475,
-    -5475,-5475,-5475,-5475,-5475
-    },
-
-    {
-       27,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,
-    -5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,
-    -5476,-5476,-5476,-5476,-5476,-5476,-5476, 5529,-5476,-5476,
-    -5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,
-    -5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,-5476,
-    -5476,-5476, 5529,-5476,-5476,-5476,-5476,-5476,-5476,-5476,
-    -5476,-5476,-5476,-5476,-5476
-    },
-
-    {
-       27,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,
-
-    -5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,
-    -5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,
-    -5477, 5530,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,
-    -5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,-5477,
-    -5477,-5477,-5477,-5477,-5477,-5477, 5530,-5477,-5477,-5477,
-    -5477,-5477,-5477,-5477,-5477
-    },
-
-    {
-       27,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478, 5213,
-    -5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,
-    -5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,
-    -5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,
-
-    -5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,
-    -5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,-5478,
-    -5478,-5478,-5478,-5478,-5478
-    },
-
-    {
-       27,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,
-    -5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,
-    -5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,
-    -5479,-5479,-5479, 5531,-5479,-5479,-5479,-5479,-5479,-5479,
-    -5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479,
-    -5479,-5479,-5479,-5479,-5479,-5479,-5479,-5479, 5531,-5479,
-    -5479,-5479,-5479,-5479,-5479
-
-    },
-
-    {
-       27,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,
-    -5480,-5480,-5480, 5532,-5480,-5480,-5480,-5480,-5480,-5480,
-    -5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,
-    -5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,
-    -5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,
-    -5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,-5480,
-    -5480,-5480,-5480,-5480,-5480
-    },
-
-    {
-       27,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,
-    -5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,
-    -5481,-5481,-5481,-5481,-5481,-5481,-5481, 5533,-5481,-5481,
-
-    -5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,
-    -5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,-5481,
-    -5481,-5481, 5533,-5481,-5481,-5481,-5481,-5481,-5481,-5481,
-    -5481,-5481,-5481,-5481,-5481
-    },
-
-    {
-       27,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,
-    -5482,-5482,-5482, 5534,-5482,-5482,-5482,-5482,-5482,-5482,
-    -5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,
-    -5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,
-    -5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,
-    -5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,-5482,
-
-    -5482,-5482,-5482,-5482,-5482
-    },
-
-    {
-       27,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,
-    -5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,
-    -5483,-5483,-5483,-5483,-5483,-5483,-5483, 5535,-5483,-5483,
-    -5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,
-    -5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,-5483,
-    -5483,-5483, 5535,-5483,-5483,-5483,-5483,-5483,-5483,-5483,
-    -5483,-5483,-5483,-5483,-5483
-    },
-
-    {
-       27,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,
-    -5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,
-
-    -5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,
-    -5484, 5536,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,
-    -5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,-5484,
-    -5484,-5484,-5484,-5484,-5484,-5484, 5536,-5484,-5484,-5484,
-    -5484,-5484,-5484,-5484,-5484
-    },
-
-    {
-       27,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485, 5222,
-    -5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,
-    -5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,
-    -5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,
-    -5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,
-
-    -5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,-5485,
-    -5485,-5485,-5485,-5485,-5485
-    },
-
-    {
-       27,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,
-    -5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,
-    -5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,
-    -5486,-5486,-5486, 5537,-5486,-5486,-5486,-5486,-5486,-5486,
-    -5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486,
-    -5486,-5486,-5486,-5486,-5486,-5486,-5486,-5486, 5537,-5486,
-    -5486,-5486,-5486,-5486,-5486
-    },
-
-    {
-       27,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,
-
-    -5487,-5487,-5487, 5538,-5487,-5487,-5487,-5487,-5487,-5487,
-    -5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,
-    -5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,
-    -5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,
-    -5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,-5487,
-    -5487,-5487,-5487,-5487,-5487
-    },
-
-    {
-       27,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,
-    -5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,
-    -5488,-5488,-5488,-5488,-5488,-5488,-5488, 5539,-5488,-5488,
-    -5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,
-
-    -5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,-5488,
-    -5488,-5488, 5539,-5488,-5488,-5488,-5488,-5488,-5488,-5488,
-    -5488,-5488,-5488,-5488,-5488
-    },
-
-    {
-       27,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,
-    -5489,-5489,-5489, 5540,-5489,-5489,-5489,-5489,-5489,-5489,
-    -5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,
-    -5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,
-    -5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,
-    -5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,-5489,
-    -5489,-5489,-5489,-5489,-5489
-
-    },
-
-    {
-       27,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,
-    -5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,
-    -5490,-5490,-5490,-5490,-5490,-5490,-5490, 5541,-5490,-5490,
-    -5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,
-    -5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,-5490,
-    -5490,-5490, 5541,-5490,-5490,-5490,-5490,-5490,-5490,-5490,
-    -5490,-5490,-5490,-5490,-5490
-    },
-
-    {
-       27,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,
-    -5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,
-    -5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,
-
-    -5491, 5542,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,
-    -5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,-5491,
-    -5491,-5491,-5491,-5491,-5491,-5491, 5542,-5491,-5491,-5491,
-    -5491,-5491,-5491,-5491,-5491
-    },
-
-    {
-       27,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492, 5231,
-    -5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,
-    -5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,
-    -5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,
-    -5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,
-    -5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,-5492,
-
-    -5492,-5492,-5492,-5492,-5492
-    },
-
-    {
-       27,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,
-    -5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,
-    -5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,
-    -5493,-5493,-5493, 5543,-5493,-5493,-5493,-5493,-5493,-5493,
-    -5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493,
-    -5493,-5493,-5493,-5493,-5493,-5493,-5493,-5493, 5543,-5493,
-    -5493,-5493,-5493,-5493,-5493
-    },
-
-    {
-       27,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,
-    -5494,-5494,-5494, 5544,-5494,-5494,-5494,-5494,-5494,-5494,
-
-    -5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,
-    -5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,
-    -5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,
-    -5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,-5494,
-    -5494,-5494,-5494,-5494,-5494
-    },
-
-    {
-       27,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,
-    -5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,
-    -5495,-5495,-5495,-5495,-5495,-5495,-5495, 5545,-5495,-5495,
-    -5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,
-    -5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,-5495,
-
-    -5495,-5495, 5545,-5495,-5495,-5495,-5495,-5495,-5495,-5495,
-    -5495,-5495,-5495,-5495,-5495
-    },
-
-    {
-       27,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,
-    -5496,-5496,-5496, 5546,-5496,-5496,-5496,-5496,-5496,-5496,
-    -5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,
-    -5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,
-    -5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,
-    -5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,-5496,
-    -5496,-5496,-5496,-5496,-5496
-    },
-
-    {
-       27,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,
-
-    -5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,
-    -5497,-5497,-5497,-5497,-5497,-5497,-5497, 5547,-5497,-5497,
-    -5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,
-    -5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,-5497,
-    -5497,-5497, 5547,-5497,-5497,-5497,-5497,-5497,-5497,-5497,
-    -5497,-5497,-5497,-5497,-5497
-    },
-
-    {
-       27,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,
-    -5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,
-    -5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,
-    -5498, 5548,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,
-
-    -5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,-5498,
-    -5498,-5498,-5498,-5498,-5498,-5498, 5548,-5498,-5498,-5498,
-    -5498,-5498,-5498,-5498,-5498
-    },
-
-    {
-       27,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499, 5240,
-    -5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,
-    -5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,
-    -5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,
-    -5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,
-    -5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,-5499,
-    -5499,-5499,-5499,-5499,-5499
-
-    },
-
-    {
-       27,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,
-    -5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,
-    -5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,
-    -5500,-5500,-5500, 5549,-5500,-5500,-5500,-5500,-5500,-5500,
-    -5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500,
-    -5500,-5500,-5500,-5500,-5500,-5500,-5500,-5500, 5549,-5500,
-    -5500,-5500,-5500,-5500,-5500
-    },
-
-    {
-       27,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,
-    -5501,-5501,-5501, 5550,-5501,-5501,-5501,-5501,-5501,-5501,
-    -5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,
-
-    -5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,
-    -5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,
-    -5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,-5501,
-    -5501,-5501,-5501,-5501,-5501
-    },
-
-    {
-       27,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,
-    -5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,
-    -5502,-5502,-5502,-5502,-5502,-5502,-5502, 5551,-5502,-5502,
-    -5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,
-    -5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,-5502,
-    -5502,-5502, 5551,-5502,-5502,-5502,-5502,-5502,-5502,-5502,
-
-    -5502,-5502,-5502,-5502,-5502
-    },
-
-    {
-       27,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,
-    -5503,-5503,-5503, 5552,-5503,-5503,-5503,-5503,-5503,-5503,
-    -5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,
-    -5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,
-    -5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,
-    -5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,-5503,
-    -5503,-5503,-5503,-5503,-5503
-    },
-
-    {
-       27,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,
-    -5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,
-
-    -5504,-5504,-5504,-5504,-5504,-5504,-5504, 5553,-5504,-5504,
-    -5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,
-    -5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,-5504,
-    -5504,-5504, 5553,-5504,-5504,-5504,-5504,-5504,-5504,-5504,
-    -5504,-5504,-5504,-5504,-5504
-    },
-
-    {
-       27,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,
-    -5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,
-    -5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,
-    -5505, 5554,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,
-    -5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,-5505,
-
-    -5505,-5505,-5505,-5505,-5505,-5505, 5554,-5505,-5505,-5505,
-    -5505,-5505,-5505,-5505,-5505
-    },
-
-    {
-       27,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506, 5249,
-    -5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,
-    -5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,
-    -5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,
-    -5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,
-    -5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,-5506,
-    -5506,-5506,-5506,-5506,-5506
-    },
-
-    {
-       27,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,
-
-    -5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,
-    -5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,
-    -5507,-5507, 5555,-5507,-5507,-5507,-5507,-5507,-5507,-5507,
-    -5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,-5507,
-    -5507,-5507,-5507,-5507,-5507,-5507,-5507, 5555,-5507,-5507,
-    -5507,-5507,-5507,-5507,-5507
-    },
-
-    {
-       27,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,
-    -5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,
-    -5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,
-    -5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,
-
-    -5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,
-    -5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,-5508,
-    -5508,-5508,-5508,-5508,-5508
-    },
-
-    {
-       27,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,
-    -5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,
-    -5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,
-    -5509,-5509,-5509, 5556,-5509,-5509,-5509,-5509,-5509,-5509,
-    -5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509,
-    -5509,-5509,-5509,-5509,-5509,-5509,-5509,-5509, 5556,-5509,
-    -5509,-5509,-5509,-5509,-5509
-
-    },
-
-    {
-       27,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,
-    -5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,
-    -5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,
-    -5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,
-    -5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,
-    -5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,-5510,
-    -5510,-5510,-5510,-5510,-5510
-    },
-
-    {
-       27,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,
-    -5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,
-    -5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,
-
-    -5511,-5511,-5511, 5557,-5511,-5511,-5511,-5511,-5511,-5511,
-    -5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511,
-    -5511,-5511,-5511,-5511,-5511,-5511,-5511,-5511, 5557,-5511,
-    -5511,-5511,-5511,-5511,-5511
-    },
-
-    {
-       27,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,
-    -5512,-5512,-5512,-5512, 5558,-5512,-5512,-5512,-5512,-5512,
-    -5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,
-    -5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,
-     5558,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,
-    -5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,-5512,
-
-    -5512,-5512,-5512,-5512,-5512
-    },
-
-    {
-       27,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,
-    -5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,
-    -5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,
-    -5513,-5513, 5559,-5513,-5513,-5513,-5513,-5513,-5513,-5513,
-    -5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,-5513,
-    -5513,-5513,-5513,-5513,-5513,-5513,-5513, 5559,-5513,-5513,
-    -5513,-5513,-5513,-5513,-5513
-    },
-
-    {
-       27,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,
-    -5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,
-
-    -5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,
-    -5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,
-    -5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,
-    -5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,-5514,
-    -5514,-5514,-5514,-5514,-5514
-    },
-
-    {
-       27,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,
-    -5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,
-    -5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,
-    -5515,-5515,-5515, 5560,-5515,-5515,-5515,-5515,-5515,-5515,
-    -5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515,
-
-    -5515,-5515,-5515,-5515,-5515,-5515,-5515,-5515, 5560,-5515,
-    -5515,-5515,-5515,-5515,-5515
-    },
-
-    {
-       27,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,
-    -5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,
-    -5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,
-    -5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,
-    -5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,
-    -5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,-5516,
-    -5516,-5516,-5516,-5516,-5516
-    },
-
-    {
-       27,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,
-
-    -5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,
-    -5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,
-    -5517,-5517,-5517, 5561,-5517,-5517,-5517,-5517,-5517,-5517,
-    -5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517,
-    -5517,-5517,-5517,-5517,-5517,-5517,-5517,-5517, 5561,-5517,
-    -5517,-5517,-5517,-5517,-5517
-    },
-
-    {
-       27,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,
-    -5518,-5518,-5518,-5518, 5562,-5518,-5518,-5518,-5518,-5518,
-    -5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,
-    -5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,
-
-     5562,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,
-    -5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,-5518,
-    -5518,-5518,-5518,-5518,-5518
-    },
-
-    {
-       27,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,
-    -5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,
-    -5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,
-    -5519,-5519, 5563,-5519,-5519,-5519,-5519,-5519,-5519,-5519,
-    -5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,-5519,
-    -5519,-5519,-5519,-5519,-5519,-5519,-5519, 5563,-5519,-5519,
-    -5519,-5519,-5519,-5519,-5519
-
-    },
-
-    {
-       27,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,
-    -5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,
-    -5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,
-    -5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,
-    -5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,
-    -5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,-5520,
-    -5520,-5520,-5520,-5520,-5520
-    },
-
-    {
-       27,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,
-    -5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,
-    -5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,
-
-    -5521,-5521,-5521, 5564,-5521,-5521,-5521,-5521,-5521,-5521,
-    -5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521,
-    -5521,-5521,-5521,-5521,-5521,-5521,-5521,-5521, 5564,-5521,
-    -5521,-5521,-5521,-5521,-5521
-    },
-
-    {
-       27,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,
-    -5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,
-    -5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,
-    -5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,
-    -5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,
-    -5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,-5522,
-
-    -5522,-5522,-5522,-5522,-5522
-    },
-
-    {
-       27,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,
-    -5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,
-    -5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,
-    -5523,-5523,-5523, 5565,-5523,-5523,-5523,-5523,-5523,-5523,
-    -5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523,
-    -5523,-5523,-5523,-5523,-5523,-5523,-5523,-5523, 5565,-5523,
-    -5523,-5523,-5523,-5523,-5523
-    },
-
-    {
-       27,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,
-    -5524,-5524,-5524,-5524, 5566,-5524,-5524,-5524,-5524,-5524,
-
-    -5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,
-    -5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,
-     5566,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,
-    -5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,-5524,
-    -5524,-5524,-5524,-5524,-5524
-    },
-
-    {
-       27,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,
-    -5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,
-    -5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,
-    -5525,-5525, 5567,-5525,-5525,-5525,-5525,-5525,-5525,-5525,
-    -5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,-5525,
-
-    -5525,-5525,-5525,-5525,-5525,-5525,-5525, 5567,-5525,-5525,
-    -5525,-5525,-5525,-5525,-5525
-    },
-
-    {
-       27,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,
-    -5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,
-    -5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,
-    -5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,
-    -5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,
-    -5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,-5526,
-    -5526,-5526,-5526,-5526,-5526
-    },
-
-    {
-       27,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,
-
-    -5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,
-    -5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,
-    -5527,-5527,-5527, 5568,-5527,-5527,-5527,-5527,-5527,-5527,
-    -5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527,
-    -5527,-5527,-5527,-5527,-5527,-5527,-5527,-5527, 5568,-5527,
-    -5527,-5527,-5527,-5527,-5527
-    },
-
-    {
-       27,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,
-    -5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,
-    -5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,
-    -5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,
-
-    -5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,
-    -5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,-5528,
-    -5528,-5528,-5528,-5528,-5528
-    },
-
-    {
-       27,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,
-    -5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,
-    -5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,
-    -5529,-5529,-5529, 5569,-5529,-5529,-5529,-5529,-5529,-5529,
-    -5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529,
-    -5529,-5529,-5529,-5529,-5529,-5529,-5529,-5529, 5569,-5529,
-    -5529,-5529,-5529,-5529,-5529
-
-    },
-
-    {
-       27,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,
-    -5530,-5530,-5530,-5530, 5570,-5530,-5530,-5530,-5530,-5530,
-    -5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,
-    -5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,
-     5570,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,
-    -5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,-5530,
-    -5530,-5530,-5530,-5530,-5530
-    },
-
-    {
-       27,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,
-    -5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,
-    -5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,
-
-    -5531,-5531, 5571,-5531,-5531,-5531,-5531,-5531,-5531,-5531,
-    -5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,-5531,
-    -5531,-5531,-5531,-5531,-5531,-5531,-5531, 5571,-5531,-5531,
-    -5531,-5531,-5531,-5531,-5531
-    },
-
-    {
-       27,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,
-    -5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,
-    -5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,
-    -5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,
-    -5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,
-    -5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,-5532,
-
-    -5532,-5532,-5532,-5532,-5532
-    },
-
-    {
-       27,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,
-    -5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,
-    -5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,
-    -5533,-5533,-5533, 5572,-5533,-5533,-5533,-5533,-5533,-5533,
-    -5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533,
-    -5533,-5533,-5533,-5533,-5533,-5533,-5533,-5533, 5572,-5533,
-    -5533,-5533,-5533,-5533,-5533
-    },
-
-    {
-       27,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,
-    -5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,
-
-    -5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,
-    -5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,
-    -5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,
-    -5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,-5534,
-    -5534,-5534,-5534,-5534,-5534
-    },
-
-    {
-       27,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,
-    -5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,
-    -5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,
-    -5535,-5535,-5535, 5573,-5535,-5535,-5535,-5535,-5535,-5535,
-    -5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535,
-
-    -5535,-5535,-5535,-5535,-5535,-5535,-5535,-5535, 5573,-5535,
-    -5535,-5535,-5535,-5535,-5535
-    },
-
-    {
-       27,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,
-    -5536,-5536,-5536,-5536, 5574,-5536,-5536,-5536,-5536,-5536,
-    -5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,
-    -5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,
-     5574,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,
-    -5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,-5536,
-    -5536,-5536,-5536,-5536,-5536
-    },
-
-    {
-       27,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,
-
-    -5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,
-    -5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,
-    -5537,-5537, 5575,-5537,-5537,-5537,-5537,-5537,-5537,-5537,
-    -5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,-5537,
-    -5537,-5537,-5537,-5537,-5537,-5537,-5537, 5575,-5537,-5537,
-    -5537,-5537,-5537,-5537,-5537
-    },
-
-    {
-       27,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,
-    -5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,
-    -5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,
-    -5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,
-
-    -5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,
-    -5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,-5538,
-    -5538,-5538,-5538,-5538,-5538
-    },
-
-    {
-       27,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,
-    -5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,
-    -5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,
-    -5539,-5539,-5539, 5576,-5539,-5539,-5539,-5539,-5539,-5539,
-    -5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539,
-    -5539,-5539,-5539,-5539,-5539,-5539,-5539,-5539, 5576,-5539,
-    -5539,-5539,-5539,-5539,-5539
-
-    },
-
-    {
-       27,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,
-    -5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,
-    -5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,
-    -5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,
-    -5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,
-    -5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,-5540,
-    -5540,-5540,-5540,-5540,-5540
-    },
-
-    {
-       27,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,
-    -5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,
-    -5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,
-
-    -5541,-5541,-5541, 5577,-5541,-5541,-5541,-5541,-5541,-5541,
-    -5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541,
-    -5541,-5541,-5541,-5541,-5541,-5541,-5541,-5541, 5577,-5541,
-    -5541,-5541,-5541,-5541,-5541
-    },
-
-    {
-       27,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,
-    -5542,-5542,-5542,-5542, 5578,-5542,-5542,-5542,-5542,-5542,
-    -5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,
-    -5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,
-     5578,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,
-    -5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,-5542,
-
-    -5542,-5542,-5542,-5542,-5542
-    },
-
-    {
-       27,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,
-    -5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,
-    -5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,
-    -5543,-5543, 5579,-5543,-5543,-5543,-5543,-5543,-5543,-5543,
-    -5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,-5543,
-    -5543,-5543,-5543,-5543,-5543,-5543,-5543, 5579,-5543,-5543,
-    -5543,-5543,-5543,-5543,-5543
-    },
-
-    {
-       27,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,
-    -5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,
-
-    -5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,
-    -5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,
-    -5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,
-    -5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,-5544,
-    -5544,-5544,-5544,-5544,-5544
-    },
-
-    {
-       27,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,
-    -5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,
-    -5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,
-    -5545,-5545,-5545, 5580,-5545,-5545,-5545,-5545,-5545,-5545,
-    -5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545,
-
-    -5545,-5545,-5545,-5545,-5545,-5545,-5545,-5545, 5580,-5545,
-    -5545,-5545,-5545,-5545,-5545
-    },
-
-    {
-       27,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,
-    -5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,
-    -5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,
-    -5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,
-    -5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,
-    -5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,-5546,
-    -5546,-5546,-5546,-5546,-5546
-    },
-
-    {
-       27,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,
-
-    -5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,
-    -5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,
-    -5547,-5547,-5547, 5581,-5547,-5547,-5547,-5547,-5547,-5547,
-    -5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547,
-    -5547,-5547,-5547,-5547,-5547,-5547,-5547,-5547, 5581,-5547,
-    -5547,-5547,-5547,-5547,-5547
-    },
-
-    {
-       27,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,
-    -5548,-5548,-5548,-5548, 5582,-5548,-5548,-5548,-5548,-5548,
-    -5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,
-    -5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,
-
-     5582,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,
-    -5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,-5548,
-    -5548,-5548,-5548,-5548,-5548
-    },
-
-    {
-       27,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,
-    -5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,
-    -5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,
-    -5549,-5549, 5583,-5549,-5549,-5549,-5549,-5549,-5549,-5549,
-    -5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,-5549,
-    -5549,-5549,-5549,-5549,-5549,-5549,-5549, 5583,-5549,-5549,
-    -5549,-5549,-5549,-5549,-5549
-
-    },
-
-    {
-       27,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,
-    -5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,
-    -5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,
-    -5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,
-    -5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,
-    -5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,-5550,
-    -5550,-5550,-5550,-5550,-5550
-    },
-
-    {
-       27,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,
-    -5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,
-    -5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,
-
-    -5551,-5551,-5551, 5584,-5551,-5551,-5551,-5551,-5551,-5551,
-    -5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551,
-    -5551,-5551,-5551,-5551,-5551,-5551,-5551,-5551, 5584,-5551,
-    -5551,-5551,-5551,-5551,-5551
-    },
-
-    {
-       27,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,
-    -5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,
-    -5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,
-    -5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,
-    -5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,
-    -5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,-5552,
-
-    -5552,-5552,-5552,-5552,-5552
-    },
-
-    {
-       27,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,
-    -5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,
-    -5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,
-    -5553,-5553,-5553, 5585,-5553,-5553,-5553,-5553,-5553,-5553,
-    -5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553,
-    -5553,-5553,-5553,-5553,-5553,-5553,-5553,-5553, 5585,-5553,
-    -5553,-5553,-5553,-5553,-5553
-    },
-
-    {
-       27,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,
-    -5554,-5554,-5554,-5554, 5586,-5554,-5554,-5554,-5554,-5554,
-
-    -5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,
-    -5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,
-     5586,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,
-    -5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,-5554,
-    -5554,-5554,-5554,-5554,-5554
-    },
-
-    {
-       27,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,
-    -5555,-5555,-5555, 5587,-5555,-5555,-5555,-5555,-5555,-5555,
-    -5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,
-    -5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,
-    -5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,
-
-    -5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,-5555,
-    -5555,-5555,-5555,-5555,-5555
-    },
-
-    {
-       27,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,
-    -5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,
-    -5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,
-    -5556,-5556, 5588,-5556,-5556,-5556,-5556,-5556,-5556,-5556,
-    -5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,-5556,
-    -5556,-5556,-5556,-5556,-5556,-5556,-5556, 5588,-5556,-5556,
-    -5556,-5556,-5556,-5556,-5556
-    },
-
-    {
-       27,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,
-
-    -5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557, 5589,-5557,
-    -5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,
-    -5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,
-    -5557,-5557,-5557,-5557, 5589,-5557,-5557,-5557,-5557,-5557,
-    -5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,-5557,
-    -5557,-5557,-5557,-5557,-5557
-    },
-
-    {
-       27,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,
-    -5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,
-    -5558,-5558,-5558,-5558,-5558,-5558, 5590,-5558,-5558,-5558,
-    -5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,
-
-    -5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,
-    -5558, 5590,-5558,-5558,-5558,-5558,-5558,-5558,-5558,-5558,
-    -5558,-5558,-5558,-5558,-5558
-    },
-
-    {
-       27,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,
-    -5559,-5559,-5559, 5591,-5559,-5559,-5559,-5559,-5559,-5559,
-    -5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,
-    -5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,
-    -5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,
-    -5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,-5559,
-    -5559,-5559,-5559,-5559,-5559
-
-    },
-
-    {
-       27,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,
-    -5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,
-    -5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,
-    -5560,-5560, 5592,-5560,-5560,-5560,-5560,-5560,-5560,-5560,
-    -5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,-5560,
-    -5560,-5560,-5560,-5560,-5560,-5560,-5560, 5592,-5560,-5560,
-    -5560,-5560,-5560,-5560,-5560
-    },
-
-    {
-       27,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,
-    -5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561, 5593,-5561,
-    -5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,
-
-    -5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,
-    -5561,-5561,-5561,-5561, 5593,-5561,-5561,-5561,-5561,-5561,
-    -5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,-5561,
-    -5561,-5561,-5561,-5561,-5561
-    },
-
-    {
-       27,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,
-    -5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,
-    -5562,-5562,-5562,-5562,-5562,-5562, 5594,-5562,-5562,-5562,
-    -5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,
-    -5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,
-    -5562, 5594,-5562,-5562,-5562,-5562,-5562,-5562,-5562,-5562,
-
-    -5562,-5562,-5562,-5562,-5562
-    },
-
-    {
-       27,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,
-    -5563,-5563,-5563, 5595,-5563,-5563,-5563,-5563,-5563,-5563,
-    -5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,
-    -5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,
-    -5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,
-    -5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,-5563,
-    -5563,-5563,-5563,-5563,-5563
-    },
-
-    {
-       27,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,
-    -5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,
-
-    -5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,
-    -5564,-5564, 5596,-5564,-5564,-5564,-5564,-5564,-5564,-5564,
-    -5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,-5564,
-    -5564,-5564,-5564,-5564,-5564,-5564,-5564, 5596,-5564,-5564,
-    -5564,-5564,-5564,-5564,-5564
-    },
-
-    {
-       27,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,
-    -5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565, 5597,-5565,
-    -5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,
-    -5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,
-    -5565,-5565,-5565,-5565, 5597,-5565,-5565,-5565,-5565,-5565,
-
-    -5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,-5565,
-    -5565,-5565,-5565,-5565,-5565
-    },
-
-    {
-       27,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,
-    -5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,
-    -5566,-5566,-5566,-5566,-5566,-5566, 5598,-5566,-5566,-5566,
-    -5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,
-    -5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,
-    -5566, 5598,-5566,-5566,-5566,-5566,-5566,-5566,-5566,-5566,
-    -5566,-5566,-5566,-5566,-5566
-    },
-
-    {
-       27,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,
-
-    -5567,-5567,-5567, 5599,-5567,-5567,-5567,-5567,-5567,-5567,
-    -5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,
-    -5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,
-    -5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,
-    -5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,-5567,
-    -5567,-5567,-5567,-5567,-5567
-    },
-
-    {
-       27,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,
-    -5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,
-    -5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,
-    -5568,-5568, 5600,-5568,-5568,-5568,-5568,-5568,-5568,-5568,
-
-    -5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,-5568,
-    -5568,-5568,-5568,-5568,-5568,-5568,-5568, 5600,-5568,-5568,
-    -5568,-5568,-5568,-5568,-5568
-    },
-
-    {
-       27,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,
-    -5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569, 5601,-5569,
-    -5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,
-    -5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,
-    -5569,-5569,-5569,-5569, 5601,-5569,-5569,-5569,-5569,-5569,
-    -5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,-5569,
-    -5569,-5569,-5569,-5569,-5569
-
-    },
-
-    {
-       27,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,
-    -5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,
-    -5570,-5570,-5570,-5570,-5570,-5570, 5602,-5570,-5570,-5570,
-    -5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,
-    -5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,
-    -5570, 5602,-5570,-5570,-5570,-5570,-5570,-5570,-5570,-5570,
-    -5570,-5570,-5570,-5570,-5570
-    },
-
-    {
-       27,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,
-    -5571,-5571,-5571, 5603,-5571,-5571,-5571,-5571,-5571,-5571,
-    -5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,
-
-    -5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,
-    -5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,
-    -5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,-5571,
-    -5571,-5571,-5571,-5571,-5571
-    },
-
-    {
-       27,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,
-    -5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,
-    -5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,
-    -5572,-5572, 5604,-5572,-5572,-5572,-5572,-5572,-5572,-5572,
-    -5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,-5572,
-    -5572,-5572,-5572,-5572,-5572,-5572,-5572, 5604,-5572,-5572,
-
-    -5572,-5572,-5572,-5572,-5572
-    },
-
-    {
-       27,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,
-    -5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573, 5605,-5573,
-    -5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,
-    -5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,
-    -5573,-5573,-5573,-5573, 5605,-5573,-5573,-5573,-5573,-5573,
-    -5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,-5573,
-    -5573,-5573,-5573,-5573,-5573
-    },
-
-    {
-       27,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,
-    -5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,
-
-    -5574,-5574,-5574,-5574,-5574,-5574, 5606,-5574,-5574,-5574,
-    -5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,
-    -5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,
-    -5574, 5606,-5574,-5574,-5574,-5574,-5574,-5574,-5574,-5574,
-    -5574,-5574,-5574,-5574,-5574
-    },
-
-    {
-       27,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,
-    -5575,-5575,-5575, 5607,-5575,-5575,-5575,-5575,-5575,-5575,
-    -5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,
-    -5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,
-    -5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,
-
-    -5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,-5575,
-    -5575,-5575,-5575,-5575,-5575
-    },
-
-    {
-       27,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,
-    -5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,
-    -5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,
-    -5576,-5576, 5608,-5576,-5576,-5576,-5576,-5576,-5576,-5576,
-    -5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,-5576,
-    -5576,-5576,-5576,-5576,-5576,-5576,-5576, 5608,-5576,-5576,
-    -5576,-5576,-5576,-5576,-5576
-    },
-
-    {
-       27,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,
-
-    -5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577, 5609,-5577,
-    -5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,
-    -5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,
-    -5577,-5577,-5577,-5577, 5609,-5577,-5577,-5577,-5577,-5577,
-    -5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,-5577,
-    -5577,-5577,-5577,-5577,-5577
-    },
-
-    {
-       27,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,
-    -5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,
-    -5578,-5578,-5578,-5578,-5578,-5578, 5610,-5578,-5578,-5578,
-    -5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,
-
-    -5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,
-    -5578, 5610,-5578,-5578,-5578,-5578,-5578,-5578,-5578,-5578,
-    -5578,-5578,-5578,-5578,-5578
-    },
-
-    {
-       27,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,
-    -5579,-5579,-5579, 5611,-5579,-5579,-5579,-5579,-5579,-5579,
-    -5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,
-    -5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,
-    -5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,
-    -5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,-5579,
-    -5579,-5579,-5579,-5579,-5579
-
-    },
-
-    {
-       27,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,
-    -5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,
-    -5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,
-    -5580,-5580, 5612,-5580,-5580,-5580,-5580,-5580,-5580,-5580,
-    -5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,-5580,
-    -5580,-5580,-5580,-5580,-5580,-5580,-5580, 5612,-5580,-5580,
-    -5580,-5580,-5580,-5580,-5580
-    },
-
-    {
-       27,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,
-    -5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581, 5613,-5581,
-    -5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,
-
-    -5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,
-    -5581,-5581,-5581,-5581, 5613,-5581,-5581,-5581,-5581,-5581,
-    -5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,-5581,
-    -5581,-5581,-5581,-5581,-5581
-    },
-
-    {
-       27,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,
-    -5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,
-    -5582,-5582,-5582,-5582,-5582,-5582, 5614,-5582,-5582,-5582,
-    -5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,
-    -5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,
-    -5582, 5614,-5582,-5582,-5582,-5582,-5582,-5582,-5582,-5582,
-
-    -5582,-5582,-5582,-5582,-5582
-    },
-
-    {
-       27,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,
-    -5583,-5583,-5583, 5615,-5583,-5583,-5583,-5583,-5583,-5583,
-    -5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,
-    -5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,
-    -5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,
-    -5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,-5583,
-    -5583,-5583,-5583,-5583,-5583
-    },
-
-    {
-       27,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,
-    -5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,
-
-    -5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,
-    -5584,-5584, 5616,-5584,-5584,-5584,-5584,-5584,-5584,-5584,
-    -5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,-5584,
-    -5584,-5584,-5584,-5584,-5584,-5584,-5584, 5616,-5584,-5584,
-    -5584,-5584,-5584,-5584,-5584
-    },
-
-    {
-       27,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,
-    -5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585, 5617,-5585,
-    -5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,
-    -5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,
-    -5585,-5585,-5585,-5585, 5617,-5585,-5585,-5585,-5585,-5585,
-
-    -5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,-5585,
-    -5585,-5585,-5585,-5585,-5585
-    },
-
-    {
-       27,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,
-    -5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,
-    -5586,-5586,-5586,-5586,-5586,-5586, 5618,-5586,-5586,-5586,
-    -5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,
-    -5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,
-    -5586, 5618,-5586,-5586,-5586,-5586,-5586,-5586,-5586,-5586,
-    -5586,-5586,-5586,-5586,-5586
-    },
-
-    {
-       27,-5587, 5619, 5619,-5587,-5587,-5587,-5587,-5587,-5587,
-
-    -5587,-5587, 5620,-5587,-5587,-5587,-5587,-5587,-5587,-5587,
-    -5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,
-    -5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,
-    -5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,
-    -5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,-5587,
-    -5587,-5587,-5587,-5587,-5587
-    },
-
-    {
-       27,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,
-    -5588,-5588,-5588, 5621,-5588,-5588,-5588,-5588,-5588,-5588,
-    -5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,
-    -5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,
-
-    -5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,
-    -5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,-5588,
-    -5588,-5588,-5588,-5588,-5588
-    },
-
-    {
-       27,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,
-    -5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,
-    -5589,-5589,-5589,-5589,-5589,-5589,-5589, 5622,-5589,-5589,
-    -5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,
-    -5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,-5589,
-    -5589,-5589, 5622,-5589,-5589,-5589,-5589,-5589,-5589,-5589,
-    -5589,-5589,-5589,-5589,-5589
-
-    },
-
-    {
-       27,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,
-    -5590,-5590,-5590, 5623,-5590,-5590,-5590,-5590,-5590,-5590,
-    -5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,
-    -5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,
-    -5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,
-    -5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,-5590,
-    -5590,-5590,-5590,-5590,-5590
-    },
-
-    {
-       27,-5591, 5624, 5624,-5591,-5591,-5591,-5591,-5591,-5591,
-    -5591,-5591, 5625,-5591,-5591,-5591,-5591,-5591,-5591,-5591,
-    -5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,
-
-    -5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,
-    -5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,
-    -5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,-5591,
-    -5591,-5591,-5591,-5591,-5591
-    },
-
-    {
-       27,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,
-    -5592,-5592,-5592, 5626,-5592,-5592,-5592,-5592,-5592,-5592,
-    -5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,
-    -5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,
-    -5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,
-    -5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,-5592,
-
-    -5592,-5592,-5592,-5592,-5592
-    },
-
-    {
-       27,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,
-    -5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,
-    -5593,-5593,-5593,-5593,-5593,-5593,-5593, 5627,-5593,-5593,
-    -5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,
-    -5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,-5593,
-    -5593,-5593, 5627,-5593,-5593,-5593,-5593,-5593,-5593,-5593,
-    -5593,-5593,-5593,-5593,-5593
-    },
-
-    {
-       27,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,
-    -5594,-5594,-5594, 5628,-5594,-5594,-5594,-5594,-5594,-5594,
-
-    -5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,
-    -5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,
-    -5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,
-    -5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,-5594,
-    -5594,-5594,-5594,-5594,-5594
-    },
-
-    {
-       27,-5595, 5629, 5629,-5595,-5595,-5595,-5595,-5595,-5595,
-    -5595,-5595, 5630,-5595,-5595,-5595,-5595,-5595,-5595,-5595,
-    -5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,
-    -5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,
-    -5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,
-
-    -5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,-5595,
-    -5595,-5595,-5595,-5595,-5595
-    },
-
-    {
-       27,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,
-    -5596,-5596,-5596, 5631,-5596,-5596,-5596,-5596,-5596,-5596,
-    -5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,
-    -5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,
-    -5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,
-    -5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,-5596,
-    -5596,-5596,-5596,-5596,-5596
-    },
-
-    {
-       27,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,
-
-    -5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,
-    -5597,-5597,-5597,-5597,-5597,-5597,-5597, 5632,-5597,-5597,
-    -5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,
-    -5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,-5597,
-    -5597,-5597, 5632,-5597,-5597,-5597,-5597,-5597,-5597,-5597,
-    -5597,-5597,-5597,-5597,-5597
-    },
-
-    {
-       27,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,
-    -5598,-5598,-5598, 5633,-5598,-5598,-5598,-5598,-5598,-5598,
-    -5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,
-    -5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,
-
-    -5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,
-    -5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,-5598,
-    -5598,-5598,-5598,-5598,-5598
-    },
-
-    {
-       27,-5599, 5634, 5634,-5599,-5599,-5599,-5599,-5599,-5599,
-    -5599,-5599, 5635,-5599,-5599,-5599,-5599,-5599,-5599,-5599,
-    -5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,
-    -5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,
-    -5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,
-    -5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,-5599,
-    -5599,-5599,-5599,-5599,-5599
-
-    },
-
-    {
-       27,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,
-    -5600,-5600,-5600, 5636,-5600,-5600,-5600,-5600,-5600,-5600,
-    -5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,
-    -5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,
-    -5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,
-    -5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,-5600,
-    -5600,-5600,-5600,-5600,-5600
-    },
-
-    {
-       27,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,
-    -5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,
-    -5601,-5601,-5601,-5601,-5601,-5601,-5601, 5637,-5601,-5601,
-
-    -5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,
-    -5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,-5601,
-    -5601,-5601, 5637,-5601,-5601,-5601,-5601,-5601,-5601,-5601,
-    -5601,-5601,-5601,-5601,-5601
-    },
-
-    {
-       27,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,
-    -5602,-5602,-5602, 5638,-5602,-5602,-5602,-5602,-5602,-5602,
-    -5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,
-    -5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,
-    -5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,
-    -5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,-5602,
-
-    -5602,-5602,-5602,-5602,-5602
-    },
-
-    {
-       27,-5603, 5639, 5639,-5603,-5603,-5603,-5603,-5603,-5603,
-    -5603,-5603, 5640,-5603,-5603,-5603,-5603,-5603,-5603,-5603,
-    -5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,
-    -5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,
-    -5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,
-    -5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,-5603,
-    -5603,-5603,-5603,-5603,-5603
-    },
-
-    {
-       27,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,
-    -5604,-5604,-5604, 5641,-5604,-5604,-5604,-5604,-5604,-5604,
-
-    -5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,
-    -5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,
-    -5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,
-    -5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,-5604,
-    -5604,-5604,-5604,-5604,-5604
-    },
-
-    {
-       27,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,
-    -5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,
-    -5605,-5605,-5605,-5605,-5605,-5605,-5605, 5642,-5605,-5605,
-    -5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,
-    -5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,-5605,
-
-    -5605,-5605, 5642,-5605,-5605,-5605,-5605,-5605,-5605,-5605,
-    -5605,-5605,-5605,-5605,-5605
-    },
-
-    {
-       27,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,
-    -5606,-5606,-5606, 5643,-5606,-5606,-5606,-5606,-5606,-5606,
-    -5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,
-    -5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,
-    -5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,
-    -5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,-5606,
-    -5606,-5606,-5606,-5606,-5606
-    },
-
-    {
-       27,-5607, 5644, 5644,-5607,-5607,-5607,-5607,-5607,-5607,
-
-    -5607,-5607, 5645,-5607,-5607,-5607,-5607,-5607,-5607,-5607,
-    -5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,
-    -5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,
-    -5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,
-    -5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,-5607,
-    -5607,-5607,-5607,-5607,-5607
-    },
-
-    {
-       27,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,
-    -5608,-5608,-5608, 5646,-5608,-5608,-5608,-5608,-5608,-5608,
-    -5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,
-    -5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,
-
-    -5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,
-    -5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,-5608,
-    -5608,-5608,-5608,-5608,-5608
-    },
-
-    {
-       27,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,
-    -5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,
-    -5609,-5609,-5609,-5609,-5609,-5609,-5609, 5647,-5609,-5609,
-    -5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,
-    -5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,-5609,
-    -5609,-5609, 5647,-5609,-5609,-5609,-5609,-5609,-5609,-5609,
-    -5609,-5609,-5609,-5609,-5609
-
-    },
-
-    {
-       27,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,
-    -5610,-5610,-5610, 5648,-5610,-5610,-5610,-5610,-5610,-5610,
-    -5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,
-    -5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,
-    -5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,
-    -5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,-5610,
-    -5610,-5610,-5610,-5610,-5610
-    },
-
-    {
-       27,-5611, 5649, 5649,-5611,-5611,-5611,-5611,-5611,-5611,
-    -5611,-5611, 5650,-5611,-5611,-5611,-5611,-5611,-5611,-5611,
-    -5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,
-
-    -5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,
-    -5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,
-    -5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,-5611,
-    -5611,-5611,-5611,-5611,-5611
-    },
-
-    {
-       27,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,
-    -5612,-5612,-5612, 5651,-5612,-5612,-5612,-5612,-5612,-5612,
-    -5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,
-    -5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,
-    -5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,
-    -5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,-5612,
-
-    -5612,-5612,-5612,-5612,-5612
-    },
-
-    {
-       27,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,
-    -5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,
-    -5613,-5613,-5613,-5613,-5613,-5613,-5613, 5652,-5613,-5613,
-    -5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,
-    -5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,-5613,
-    -5613,-5613, 5652,-5613,-5613,-5613,-5613,-5613,-5613,-5613,
-    -5613,-5613,-5613,-5613,-5613
-    },
-
-    {
-       27,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,
-    -5614,-5614,-5614, 5653,-5614,-5614,-5614,-5614,-5614,-5614,
-
-    -5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,
-    -5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,
-    -5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,
-    -5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,-5614,
-    -5614,-5614,-5614,-5614,-5614
-    },
-
-    {
-       27,-5615, 5654, 5654,-5615,-5615,-5615,-5615,-5615,-5615,
-    -5615,-5615, 5655,-5615,-5615,-5615,-5615,-5615,-5615,-5615,
-    -5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,
-    -5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,
-    -5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,
-
-    -5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,-5615,
-    -5615,-5615,-5615,-5615,-5615
-    },
-
-    {
-       27,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,
-    -5616,-5616,-5616, 5656,-5616,-5616,-5616,-5616,-5616,-5616,
-    -5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,
-    -5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,
-    -5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,
-    -5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,-5616,
-    -5616,-5616,-5616,-5616,-5616
-    },
-
-    {
-       27,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,
-
-    -5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,
-    -5617,-5617,-5617,-5617,-5617,-5617,-5617, 5657,-5617,-5617,
-    -5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,
-    -5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,-5617,
-    -5617,-5617, 5657,-5617,-5617,-5617,-5617,-5617,-5617,-5617,
-    -5617,-5617,-5617,-5617,-5617
-    },
-
-    {
-       27,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,
-    -5618,-5618,-5618, 5658,-5618,-5618,-5618,-5618,-5618,-5618,
-    -5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,
-    -5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,
-
-    -5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,
-    -5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,-5618,
-    -5618,-5618,-5618,-5618,-5618
-    },
-
-    {
-       27,-5619, 5619, 5619,-5619,-5619,-5619,-5619,-5619,-5619,
-    -5619,-5619, 5620,-5619,-5619,-5619,-5619,-5619,-5619,-5619,
-    -5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,
-    -5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,
-    -5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,
-    -5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,-5619,
-    -5619,-5619,-5619,-5619,-5619
-
-    },
-
-    {
-       27,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,
-    -5620,-5620,-5620,-5620,-5620,-5620, 5659,-5620,-5620,-5620,
-    -5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,
-    -5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,
-    -5620,-5620, 5659,-5620,-5620,-5620,-5620,-5620,-5620,-5620,
-    -5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,-5620,
-    -5620,-5620,-5620,-5620,-5620
-    },
-
-    {
-       27,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,
-    -5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,
-    -5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,
-
-    -5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,
-    -5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,
-    -5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,-5621,
-    -5621,-5621,-5621,-5621,-5621
-    },
-
-    {
-       27,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,
-    -5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,
-    -5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,
-    -5622,-5622,-5622, 5660,-5622,-5622,-5622,-5622,-5622,-5622,
-    -5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622,
-    -5622,-5622,-5622,-5622,-5622,-5622,-5622,-5622, 5660,-5622,
-
-    -5622,-5622,-5622,-5622,-5622
-    },
-
-    {
-       27,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,
-    -5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,
-    -5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,
-    -5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,
-    -5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,
-    -5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,-5623,
-    -5623,-5623,-5623,-5623,-5623
-    },
-
-    {
-       27,-5624, 5624, 5624,-5624,-5624,-5624,-5624,-5624,-5624,
-    -5624,-5624, 5625,-5624,-5624,-5624,-5624,-5624,-5624,-5624,
-
-    -5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,
-    -5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,
-    -5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,
-    -5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,-5624,
-    -5624,-5624,-5624,-5624,-5624
-    },
-
-    {
-       27,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,
-    -5625,-5625,-5625,-5625,-5625,-5625, 5661,-5625,-5625,-5625,
-    -5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,
-    -5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,
-    -5625,-5625, 5661,-5625,-5625,-5625,-5625,-5625,-5625,-5625,
-
-    -5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,-5625,
-    -5625,-5625,-5625,-5625,-5625
-    },
-
-    {
-       27,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,
-    -5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,
-    -5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,
-    -5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,
-    -5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,
-    -5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,-5626,
-    -5626,-5626,-5626,-5626,-5626
-    },
-
-    {
-       27,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,
-
-    -5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,
-    -5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,
-    -5627,-5627,-5627, 5662,-5627,-5627,-5627,-5627,-5627,-5627,
-    -5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627,
-    -5627,-5627,-5627,-5627,-5627,-5627,-5627,-5627, 5662,-5627,
-    -5627,-5627,-5627,-5627,-5627
-    },
-
-    {
-       27,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,
-    -5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,
-    -5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,
-    -5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,
-
-    -5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,
-    -5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,-5628,
-    -5628,-5628,-5628,-5628,-5628
-    },
-
-    {
-       27,-5629, 5629, 5629,-5629,-5629,-5629,-5629,-5629,-5629,
-    -5629,-5629, 5630,-5629,-5629,-5629,-5629,-5629,-5629,-5629,
-    -5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,
-    -5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,
-    -5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,
-    -5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,-5629,
-    -5629,-5629,-5629,-5629,-5629
-
-    },
-
-    {
-       27,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,
-    -5630,-5630,-5630,-5630,-5630,-5630, 5663,-5630,-5630,-5630,
-    -5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,
-    -5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,
-    -5630,-5630, 5663,-5630,-5630,-5630,-5630,-5630,-5630,-5630,
-    -5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,-5630,
-    -5630,-5630,-5630,-5630,-5630
-    },
-
-    {
-       27,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,
-    -5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,
-    -5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,
-
-    -5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,
-    -5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,
-    -5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,-5631,
-    -5631,-5631,-5631,-5631,-5631
-    },
-
-    {
-       27,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,
-    -5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,
-    -5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,
-    -5632,-5632,-5632, 5664,-5632,-5632,-5632,-5632,-5632,-5632,
-    -5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632,
-    -5632,-5632,-5632,-5632,-5632,-5632,-5632,-5632, 5664,-5632,
-
-    -5632,-5632,-5632,-5632,-5632
-    },
-
-    {
-       27,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,
-    -5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,
-    -5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,
-    -5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,
-    -5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,
-    -5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,-5633,
-    -5633,-5633,-5633,-5633,-5633
-    },
-
-    {
-       27,-5634, 5634, 5634,-5634,-5634,-5634,-5634,-5634,-5634,
-    -5634,-5634, 5635,-5634,-5634,-5634,-5634,-5634,-5634,-5634,
-
-    -5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,
-    -5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,
-    -5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,
-    -5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,-5634,
-    -5634,-5634,-5634,-5634,-5634
-    },
-
-    {
-       27,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,
-    -5635,-5635,-5635,-5635,-5635,-5635, 5665,-5635,-5635,-5635,
-    -5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,
-    -5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,
-    -5635,-5635, 5665,-5635,-5635,-5635,-5635,-5635,-5635,-5635,
-
-    -5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,-5635,
-    -5635,-5635,-5635,-5635,-5635
-    },
-
-    {
-       27,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,
-    -5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,
-    -5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,
-    -5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,
-    -5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,
-    -5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,-5636,
-    -5636,-5636,-5636,-5636,-5636
-    },
-
-    {
-       27,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,
-
-    -5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,
-    -5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,
-    -5637,-5637,-5637, 5666,-5637,-5637,-5637,-5637,-5637,-5637,
-    -5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637,
-    -5637,-5637,-5637,-5637,-5637,-5637,-5637,-5637, 5666,-5637,
-    -5637,-5637,-5637,-5637,-5637
-    },
-
-    {
-       27,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,
-    -5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,
-    -5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,
-    -5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,
-
-    -5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,
-    -5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,-5638,
-    -5638,-5638,-5638,-5638,-5638
-    },
-
-    {
-       27,-5639, 5639, 5639,-5639,-5639,-5639,-5639,-5639,-5639,
-    -5639,-5639, 5640,-5639,-5639,-5639,-5639,-5639,-5639,-5639,
-    -5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,
-    -5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,
-    -5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,
-    -5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,-5639,
-    -5639,-5639,-5639,-5639,-5639
-
-    },
-
-    {
-       27,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,
-    -5640,-5640,-5640,-5640,-5640,-5640, 5667,-5640,-5640,-5640,
-    -5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,
-    -5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,
-    -5640,-5640, 5667,-5640,-5640,-5640,-5640,-5640,-5640,-5640,
-    -5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,-5640,
-    -5640,-5640,-5640,-5640,-5640
-    },
-
-    {
-       27,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,
-    -5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,
-    -5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,
-
-    -5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,
-    -5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,
-    -5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,-5641,
-    -5641,-5641,-5641,-5641,-5641
-    },
-
-    {
-       27,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,
-    -5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,
-    -5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,
-    -5642,-5642,-5642, 5668,-5642,-5642,-5642,-5642,-5642,-5642,
-    -5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642,
-    -5642,-5642,-5642,-5642,-5642,-5642,-5642,-5642, 5668,-5642,
-
-    -5642,-5642,-5642,-5642,-5642
-    },
-
-    {
-       27,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,
-    -5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,
-    -5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,
-    -5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,
-    -5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,
-    -5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,-5643,
-    -5643,-5643,-5643,-5643,-5643
-    },
-
-    {
-       27,-5644, 5644, 5644,-5644,-5644,-5644,-5644,-5644,-5644,
-    -5644,-5644, 5645,-5644,-5644,-5644,-5644,-5644,-5644,-5644,
-
-    -5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,
-    -5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,
-    -5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,
-    -5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,-5644,
-    -5644,-5644,-5644,-5644,-5644
-    },
-
-    {
-       27,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,
-    -5645,-5645,-5645,-5645,-5645,-5645, 5669,-5645,-5645,-5645,
-    -5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,
-    -5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,
-    -5645,-5645, 5669,-5645,-5645,-5645,-5645,-5645,-5645,-5645,
-
-    -5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,-5645,
-    -5645,-5645,-5645,-5645,-5645
-    },
-
-    {
-       27,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,
-    -5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,
-    -5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,
-    -5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,
-    -5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,
-    -5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,-5646,
-    -5646,-5646,-5646,-5646,-5646
-    },
-
-    {
-       27,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,
-
-    -5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,
-    -5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,
-    -5647,-5647,-5647, 5670,-5647,-5647,-5647,-5647,-5647,-5647,
-    -5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647,
-    -5647,-5647,-5647,-5647,-5647,-5647,-5647,-5647, 5670,-5647,
-    -5647,-5647,-5647,-5647,-5647
-    },
-
-    {
-       27,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,
-    -5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,
-    -5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,
-    -5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,
-
-    -5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,
-    -5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,-5648,
-    -5648,-5648,-5648,-5648,-5648
-    },
-
-    {
-       27,-5649, 5649, 5649,-5649,-5649,-5649,-5649,-5649,-5649,
-    -5649,-5649, 5650,-5649,-5649,-5649,-5649,-5649,-5649,-5649,
-    -5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,
-    -5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,
-    -5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,
-    -5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,-5649,
-    -5649,-5649,-5649,-5649,-5649
-
-    },
-
-    {
-       27,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,
-    -5650,-5650,-5650,-5650,-5650,-5650, 5671,-5650,-5650,-5650,
-    -5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,
-    -5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,
-    -5650,-5650, 5671,-5650,-5650,-5650,-5650,-5650,-5650,-5650,
-    -5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,-5650,
-    -5650,-5650,-5650,-5650,-5650
-    },
-
-    {
-       27,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,
-    -5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,
-    -5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,
-
-    -5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,
-    -5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,
-    -5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,-5651,
-    -5651,-5651,-5651,-5651,-5651
-    },
-
-    {
-       27,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,
-    -5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,
-    -5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,
-    -5652,-5652,-5652, 5672,-5652,-5652,-5652,-5652,-5652,-5652,
-    -5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652,
-    -5652,-5652,-5652,-5652,-5652,-5652,-5652,-5652, 5672,-5652,
-
-    -5652,-5652,-5652,-5652,-5652
-    },
-
-    {
-       27,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,
-    -5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,
-    -5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,
-    -5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,
-    -5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,
-    -5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,-5653,
-    -5653,-5653,-5653,-5653,-5653
-    },
-
-    {
-       27,-5654, 5654, 5654,-5654,-5654,-5654,-5654,-5654,-5654,
-    -5654,-5654, 5655,-5654,-5654,-5654,-5654,-5654,-5654,-5654,
-
-    -5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,
-    -5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,
-    -5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,
-    -5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,-5654,
-    -5654,-5654,-5654,-5654,-5654
-    },
-
-    {
-       27,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,
-    -5655,-5655,-5655,-5655,-5655,-5655, 5673,-5655,-5655,-5655,
-    -5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,
-    -5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,
-    -5655,-5655, 5673,-5655,-5655,-5655,-5655,-5655,-5655,-5655,
-
-    -5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,-5655,
-    -5655,-5655,-5655,-5655,-5655
-    },
-
-    {
-       27,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,
-    -5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,
-    -5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,
-    -5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,
-    -5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,
-    -5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,-5656,
-    -5656,-5656,-5656,-5656,-5656
-    },
-
-    {
-       27,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,
-
-    -5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,
-    -5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,
-    -5657,-5657,-5657, 5674,-5657,-5657,-5657,-5657,-5657,-5657,
-    -5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657,
-    -5657,-5657,-5657,-5657,-5657,-5657,-5657,-5657, 5674,-5657,
-    -5657,-5657,-5657,-5657,-5657
-    },
-
-    {
-       27,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,
-    -5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,
-    -5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,
-    -5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,
-
-    -5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,
-    -5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,-5658,
-    -5658,-5658,-5658,-5658,-5658
-    },
-
-    {
-       27,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,
-    -5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,
-    -5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659, 5675,-5659,
-    -5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,
-    -5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,-5659,
-    -5659,-5659,-5659, 5675,-5659,-5659,-5659,-5659,-5659,-5659,
-    -5659,-5659,-5659,-5659,-5659
-
-    },
-
-    {
-       27,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,
-    -5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,
-    -5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,
-    -5660,-5660, 5676,-5660,-5660,-5660,-5660,-5660,-5660,-5660,
-    -5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,-5660,
-    -5660,-5660,-5660,-5660,-5660,-5660,-5660, 5676,-5660,-5660,
-    -5660,-5660,-5660,-5660,-5660
-    },
-
-    {
-       27,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,
-    -5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,
-    -5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661, 5677,-5661,
-
-    -5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,
-    -5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,-5661,
-    -5661,-5661,-5661, 5677,-5661,-5661,-5661,-5661,-5661,-5661,
-    -5661,-5661,-5661,-5661,-5661
-    },
-
-    {
-       27,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,
-    -5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,
-    -5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,
-    -5662,-5662, 5678,-5662,-5662,-5662,-5662,-5662,-5662,-5662,
-    -5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,-5662,
-    -5662,-5662,-5662,-5662,-5662,-5662,-5662, 5678,-5662,-5662,
-
-    -5662,-5662,-5662,-5662,-5662
-    },
-
-    {
-       27,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,
-    -5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,
-    -5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663, 5679,-5663,
-    -5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,
-    -5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,-5663,
-    -5663,-5663,-5663, 5679,-5663,-5663,-5663,-5663,-5663,-5663,
-    -5663,-5663,-5663,-5663,-5663
-    },
-
-    {
-       27,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,
-    -5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,
-
-    -5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,
-    -5664,-5664, 5680,-5664,-5664,-5664,-5664,-5664,-5664,-5664,
-    -5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,-5664,
-    -5664,-5664,-5664,-5664,-5664,-5664,-5664, 5680,-5664,-5664,
-    -5664,-5664,-5664,-5664,-5664
-    },
-
-    {
-       27,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,
-    -5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,
-    -5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665, 5681,-5665,
-    -5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,
-    -5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,-5665,
-
-    -5665,-5665,-5665, 5681,-5665,-5665,-5665,-5665,-5665,-5665,
-    -5665,-5665,-5665,-5665,-5665
-    },
-
-    {
-       27,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,
-    -5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,
-    -5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,
-    -5666,-5666, 5682,-5666,-5666,-5666,-5666,-5666,-5666,-5666,
-    -5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,-5666,
-    -5666,-5666,-5666,-5666,-5666,-5666,-5666, 5682,-5666,-5666,
-    -5666,-5666,-5666,-5666,-5666
-    },
-
-    {
-       27,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,
-
-    -5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,
-    -5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667, 5683,-5667,
-    -5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,
-    -5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,-5667,
-    -5667,-5667,-5667, 5683,-5667,-5667,-5667,-5667,-5667,-5667,
-    -5667,-5667,-5667,-5667,-5667
-    },
-
-    {
-       27,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,
-    -5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,
-    -5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,
-    -5668,-5668, 5684,-5668,-5668,-5668,-5668,-5668,-5668,-5668,
-
-    -5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,-5668,
-    -5668,-5668,-5668,-5668,-5668,-5668,-5668, 5684,-5668,-5668,
-    -5668,-5668,-5668,-5668,-5668
-    },
-
-    {
-       27,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,
-    -5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,
-    -5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669, 5685,-5669,
-    -5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,
-    -5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,-5669,
-    -5669,-5669,-5669, 5685,-5669,-5669,-5669,-5669,-5669,-5669,
-    -5669,-5669,-5669,-5669,-5669
-
-    },
-
-    {
-       27,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,
-    -5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,
-    -5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,
-    -5670,-5670, 5686,-5670,-5670,-5670,-5670,-5670,-5670,-5670,
-    -5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,-5670,
-    -5670,-5670,-5670,-5670,-5670,-5670,-5670, 5686,-5670,-5670,
-    -5670,-5670,-5670,-5670,-5670
-    },
-
-    {
-       27,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,
-    -5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,
-    -5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671, 5687,-5671,
-
-    -5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,
-    -5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,-5671,
-    -5671,-5671,-5671, 5687,-5671,-5671,-5671,-5671,-5671,-5671,
-    -5671,-5671,-5671,-5671,-5671
-    },
-
-    {
-       27,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,
-    -5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,
-    -5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,
-    -5672,-5672, 5688,-5672,-5672,-5672,-5672,-5672,-5672,-5672,
-    -5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,-5672,
-    -5672,-5672,-5672,-5672,-5672,-5672,-5672, 5688,-5672,-5672,
-
-    -5672,-5672,-5672,-5672,-5672
-    },
-
-    {
-       27,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,
-    -5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,
-    -5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673, 5689,-5673,
-    -5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,
-    -5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,-5673,
-    -5673,-5673,-5673, 5689,-5673,-5673,-5673,-5673,-5673,-5673,
-    -5673,-5673,-5673,-5673,-5673
-    },
-
-    {
-       27,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,
-    -5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,
-
-    -5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,
-    -5674,-5674, 5690,-5674,-5674,-5674,-5674,-5674,-5674,-5674,
-    -5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,-5674,
-    -5674,-5674,-5674,-5674,-5674,-5674,-5674, 5690,-5674,-5674,
-    -5674,-5674,-5674,-5674,-5674
-    },
-
-    {
-       27,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,
-    -5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,
-    -5675,-5675,-5675,-5675,-5675,-5675,-5675, 5691,-5675,-5675,
-    -5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,
-    -5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,-5675,
-
-    -5675,-5675, 5691,-5675,-5675,-5675,-5675,-5675,-5675,-5675,
-    -5675,-5675,-5675,-5675,-5675
-    },
-
-    {
-       27,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,
-    -5676,-5676,-5676, 5692,-5676,-5676,-5676,-5676,-5676,-5676,
-    -5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,
-    -5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,
-    -5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,
-    -5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,-5676,
-    -5676,-5676,-5676,-5676,-5676
-    },
-
-    {
-       27,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,
-
-    -5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,
-    -5677,-5677,-5677,-5677,-5677,-5677,-5677, 5693,-5677,-5677,
-    -5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,
-    -5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,-5677,
-    -5677,-5677, 5693,-5677,-5677,-5677,-5677,-5677,-5677,-5677,
-    -5677,-5677,-5677,-5677,-5677
-    },
-
-    {
-       27,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,
-    -5678,-5678,-5678, 5694,-5678,-5678,-5678,-5678,-5678,-5678,
-    -5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,
-    -5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,
-
-    -5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,
-    -5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,-5678,
-    -5678,-5678,-5678,-5678,-5678
-    },
-
-    {
-       27,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,
-    -5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,
-    -5679,-5679,-5679,-5679,-5679,-5679,-5679, 5695,-5679,-5679,
-    -5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,
-    -5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,-5679,
-    -5679,-5679, 5695,-5679,-5679,-5679,-5679,-5679,-5679,-5679,
-    -5679,-5679,-5679,-5679,-5679
-
-    },
-
-    {
-       27,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,
-    -5680,-5680,-5680, 5696,-5680,-5680,-5680,-5680,-5680,-5680,
-    -5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,
-    -5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,
-    -5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,
-    -5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,-5680,
-    -5680,-5680,-5680,-5680,-5680
-    },
-
-    {
-       27,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,
-    -5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,
-    -5681,-5681,-5681,-5681,-5681,-5681,-5681, 5697,-5681,-5681,
-
-    -5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,
-    -5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,-5681,
-    -5681,-5681, 5697,-5681,-5681,-5681,-5681,-5681,-5681,-5681,
-    -5681,-5681,-5681,-5681,-5681
-    },
-
-    {
-       27,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,
-    -5682,-5682,-5682, 5698,-5682,-5682,-5682,-5682,-5682,-5682,
-    -5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,
-    -5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,
-    -5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,
-    -5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,-5682,
-
-    -5682,-5682,-5682,-5682,-5682
-    },
-
-    {
-       27,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,
-    -5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,
-    -5683,-5683,-5683,-5683,-5683,-5683,-5683, 5699,-5683,-5683,
-    -5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,
-    -5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,-5683,
-    -5683,-5683, 5699,-5683,-5683,-5683,-5683,-5683,-5683,-5683,
-    -5683,-5683,-5683,-5683,-5683
-    },
-
-    {
-       27,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,
-    -5684,-5684,-5684, 5700,-5684,-5684,-5684,-5684,-5684,-5684,
-
-    -5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,
-    -5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,
-    -5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,
-    -5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,-5684,
-    -5684,-5684,-5684,-5684,-5684
-    },
-
-    {
-       27,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,
-    -5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,
-    -5685,-5685,-5685,-5685,-5685,-5685,-5685, 5701,-5685,-5685,
-    -5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,
-    -5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,-5685,
-
-    -5685,-5685, 5701,-5685,-5685,-5685,-5685,-5685,-5685,-5685,
-    -5685,-5685,-5685,-5685,-5685
-    },
-
-    {
-       27,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,
-    -5686,-5686,-5686, 5702,-5686,-5686,-5686,-5686,-5686,-5686,
-    -5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,
-    -5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,
-    -5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,
-    -5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,-5686,
-    -5686,-5686,-5686,-5686,-5686
-    },
-
-    {
-       27,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,
-
-    -5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,
-    -5687,-5687,-5687,-5687,-5687,-5687,-5687, 5703,-5687,-5687,
-    -5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,
-    -5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,-5687,
-    -5687,-5687, 5703,-5687,-5687,-5687,-5687,-5687,-5687,-5687,
-    -5687,-5687,-5687,-5687,-5687
-    },
-
-    {
-       27,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,
-    -5688,-5688,-5688, 5704,-5688,-5688,-5688,-5688,-5688,-5688,
-    -5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,
-    -5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,
-
-    -5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,
-    -5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,-5688,
-    -5688,-5688,-5688,-5688,-5688
-    },
-
-    {
-       27,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,
-    -5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,
-    -5689,-5689,-5689,-5689,-5689,-5689,-5689, 5705,-5689,-5689,
-    -5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,
-    -5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,-5689,
-    -5689,-5689, 5705,-5689,-5689,-5689,-5689,-5689,-5689,-5689,
-    -5689,-5689,-5689,-5689,-5689
-
-    },
-
-    {
-       27,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,
-    -5690,-5690,-5690, 5706,-5690,-5690,-5690,-5690,-5690,-5690,
-    -5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,
-    -5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,
-    -5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,
-    -5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,-5690,
-    -5690,-5690,-5690,-5690,-5690
-    },
-
-    {
-       27,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,
-    -5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,
-    -5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,
-
-    -5691,-5691,-5691, 5707,-5691,-5691,-5691,-5691,-5691,-5691,
-    -5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691,
-    -5691,-5691,-5691,-5691,-5691,-5691,-5691,-5691, 5707,-5691,
-    -5691,-5691,-5691,-5691,-5691
-    },
-
-    {
-       27,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,
-    -5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,
-    -5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,
-    -5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,
-    -5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,
-    -5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,-5692,
-
-    -5692,-5692,-5692,-5692,-5692
-    },
-
-    {
-       27,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,
-    -5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,
-    -5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,
-    -5693,-5693,-5693, 5708,-5693,-5693,-5693,-5693,-5693,-5693,
-    -5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693,
-    -5693,-5693,-5693,-5693,-5693,-5693,-5693,-5693, 5708,-5693,
-    -5693,-5693,-5693,-5693,-5693
-    },
-
-    {
-       27,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,
-    -5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,
-
-    -5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,
-    -5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,
-    -5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,
-    -5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,-5694,
-    -5694,-5694,-5694,-5694,-5694
-    },
-
-    {
-       27,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,
-    -5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,
-    -5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,
-    -5695,-5695,-5695, 5709,-5695,-5695,-5695,-5695,-5695,-5695,
-    -5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695,
-
-    -5695,-5695,-5695,-5695,-5695,-5695,-5695,-5695, 5709,-5695,
-    -5695,-5695,-5695,-5695,-5695
-    },
-
-    {
-       27,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,
-    -5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,
-    -5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,
-    -5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,
-    -5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,
-    -5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,-5696,
-    -5696,-5696,-5696,-5696,-5696
-    },
-
-    {
-       27,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,
-
-    -5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,
-    -5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,
-    -5697,-5697,-5697, 5710,-5697,-5697,-5697,-5697,-5697,-5697,
-    -5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697,
-    -5697,-5697,-5697,-5697,-5697,-5697,-5697,-5697, 5710,-5697,
-    -5697,-5697,-5697,-5697,-5697
-    },
-
-    {
-       27,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,
-    -5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,
-    -5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,
-    -5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,
-
-    -5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,
-    -5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,-5698,
-    -5698,-5698,-5698,-5698,-5698
-    },
-
-    {
-       27,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,
-    -5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,
-    -5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,
-    -5699,-5699,-5699, 5711,-5699,-5699,-5699,-5699,-5699,-5699,
-    -5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699,
-    -5699,-5699,-5699,-5699,-5699,-5699,-5699,-5699, 5711,-5699,
-    -5699,-5699,-5699,-5699,-5699
-
-    },
-
-    {
-       27,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,
-    -5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,
-    -5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,
-    -5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,
-    -5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,
-    -5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,-5700,
-    -5700,-5700,-5700,-5700,-5700
-    },
-
-    {
-       27,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,
-    -5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,
-    -5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,
-
-    -5701,-5701,-5701, 5712,-5701,-5701,-5701,-5701,-5701,-5701,
-    -5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701,
-    -5701,-5701,-5701,-5701,-5701,-5701,-5701,-5701, 5712,-5701,
-    -5701,-5701,-5701,-5701,-5701
-    },
-
-    {
-       27,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,
-    -5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,
-    -5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,
-    -5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,
-    -5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,
-    -5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,-5702,
-
-    -5702,-5702,-5702,-5702,-5702
-    },
-
-    {
-       27,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,
-    -5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,
-    -5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,
-    -5703,-5703,-5703, 5713,-5703,-5703,-5703,-5703,-5703,-5703,
-    -5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703,
-    -5703,-5703,-5703,-5703,-5703,-5703,-5703,-5703, 5713,-5703,
-    -5703,-5703,-5703,-5703,-5703
-    },
-
-    {
-       27,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,
-    -5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,
-
-    -5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,
-    -5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,
-    -5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,
-    -5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,-5704,
-    -5704,-5704,-5704,-5704,-5704
-    },
-
-    {
-       27,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,
-    -5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,
-    -5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,
-    -5705,-5705,-5705, 5714,-5705,-5705,-5705,-5705,-5705,-5705,
-    -5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705,
-
-    -5705,-5705,-5705,-5705,-5705,-5705,-5705,-5705, 5714,-5705,
-    -5705,-5705,-5705,-5705,-5705
-    },
-
-    {
-       27,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,
-    -5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,
-    -5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,
-    -5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,
-    -5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,
-    -5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,-5706,
-    -5706,-5706,-5706,-5706,-5706
-    },
-
-    {
-       27,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,
-
-    -5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707, 5715,-5707,
-    -5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,
-    -5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,
-    -5707,-5707,-5707,-5707, 5715,-5707,-5707,-5707,-5707,-5707,
-    -5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,-5707,
-    -5707,-5707,-5707,-5707,-5707
-    },
-
-    {
-       27,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,
-    -5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708, 5716,-5708,
-    -5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,
-    -5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,
-
-    -5708,-5708,-5708,-5708, 5716,-5708,-5708,-5708,-5708,-5708,
-    -5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,-5708,
-    -5708,-5708,-5708,-5708,-5708
-    },
-
-    {
-       27,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,
-    -5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709, 5717,-5709,
-    -5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,
-    -5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,
-    -5709,-5709,-5709,-5709, 5717,-5709,-5709,-5709,-5709,-5709,
-    -5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,-5709,
-    -5709,-5709,-5709,-5709,-5709
-
-    },
-
-    {
-       27,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,
-    -5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710, 5718,-5710,
-    -5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,
-    -5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,
-    -5710,-5710,-5710,-5710, 5718,-5710,-5710,-5710,-5710,-5710,
-    -5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,-5710,
-    -5710,-5710,-5710,-5710,-5710
-    },
-
-    {
-       27,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,
-    -5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711, 5719,-5711,
-    -5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,
-
-    -5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,
-    -5711,-5711,-5711,-5711, 5719,-5711,-5711,-5711,-5711,-5711,
-    -5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,-5711,
-    -5711,-5711,-5711,-5711,-5711
-    },
-
-    {
-       27,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,
-    -5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712, 5720,-5712,
-    -5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,
-    -5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,
-    -5712,-5712,-5712,-5712, 5720,-5712,-5712,-5712,-5712,-5712,
-    -5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,-5712,
-
-    -5712,-5712,-5712,-5712,-5712
-    },
-
-    {
-       27,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,
-    -5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713, 5721,-5713,
-    -5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,
-    -5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,
-    -5713,-5713,-5713,-5713, 5721,-5713,-5713,-5713,-5713,-5713,
-    -5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,-5713,
-    -5713,-5713,-5713,-5713,-5713
-    },
-
-    {
-       27,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,
-    -5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714, 5722,-5714,
-
-    -5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,
-    -5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,
-    -5714,-5714,-5714,-5714, 5722,-5714,-5714,-5714,-5714,-5714,
-    -5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,-5714,
-    -5714,-5714,-5714,-5714,-5714
-    },
-
-    {
-       27,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,
-    -5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,
-    -5715,-5715,-5715,-5715,-5715,-5715,-5715, 5723,-5715,-5715,
-    -5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,
-    -5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,-5715,
-
-    -5715,-5715, 5723,-5715,-5715,-5715,-5715,-5715,-5715,-5715,
-    -5715,-5715,-5715,-5715,-5715
-    },
-
-    {
-       27,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,
-    -5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,
-    -5716,-5716,-5716,-5716,-5716,-5716,-5716, 5724,-5716,-5716,
-    -5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,
-    -5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,-5716,
-    -5716,-5716, 5724,-5716,-5716,-5716,-5716,-5716,-5716,-5716,
-    -5716,-5716,-5716,-5716,-5716
-    },
-
-    {
-       27,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,
-
-    -5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,
-    -5717,-5717,-5717,-5717,-5717,-5717,-5717, 5725,-5717,-5717,
-    -5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,
-    -5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,-5717,
-    -5717,-5717, 5725,-5717,-5717,-5717,-5717,-5717,-5717,-5717,
-    -5717,-5717,-5717,-5717,-5717
-    },
-
-    {
-       27,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,
-    -5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,
-    -5718,-5718,-5718,-5718,-5718,-5718,-5718, 5726,-5718,-5718,
-    -5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,
-
-    -5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,-5718,
-    -5718,-5718, 5726,-5718,-5718,-5718,-5718,-5718,-5718,-5718,
-    -5718,-5718,-5718,-5718,-5718
-    },
-
-    {
-       27,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,
-    -5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,
-    -5719,-5719,-5719,-5719,-5719,-5719,-5719, 5727,-5719,-5719,
-    -5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,
-    -5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,-5719,
-    -5719,-5719, 5727,-5719,-5719,-5719,-5719,-5719,-5719,-5719,
-    -5719,-5719,-5719,-5719,-5719
-
-    },
-
-    {
-       27,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,
-    -5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,
-    -5720,-5720,-5720,-5720,-5720,-5720,-5720, 5728,-5720,-5720,
-    -5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,
-    -5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,-5720,
-    -5720,-5720, 5728,-5720,-5720,-5720,-5720,-5720,-5720,-5720,
-    -5720,-5720,-5720,-5720,-5720
-    },
-
-    {
-       27,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,
-    -5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,
-    -5721,-5721,-5721,-5721,-5721,-5721,-5721, 5729,-5721,-5721,
-
-    -5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,
-    -5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,-5721,
-    -5721,-5721, 5729,-5721,-5721,-5721,-5721,-5721,-5721,-5721,
-    -5721,-5721,-5721,-5721,-5721
-    },
-
-    {
-       27,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,
-    -5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,
-    -5722,-5722,-5722,-5722,-5722,-5722,-5722, 5730,-5722,-5722,
-    -5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,
-    -5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,-5722,
-    -5722,-5722, 5730,-5722,-5722,-5722,-5722,-5722,-5722,-5722,
-
-    -5722,-5722,-5722,-5722,-5722
-    },
-
-    {
-       27,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,
-    -5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,
-    -5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,
-    -5723,-5723,-5723, 5731,-5723,-5723,-5723,-5723,-5723,-5723,
-    -5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723,
-    -5723,-5723,-5723,-5723,-5723,-5723,-5723,-5723, 5731,-5723,
-    -5723,-5723,-5723,-5723,-5723
-    },
-
-    {
-       27,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,
-    -5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,
-
-    -5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,
-    -5724,-5724,-5724, 5732,-5724,-5724,-5724,-5724,-5724,-5724,
-    -5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724,
-    -5724,-5724,-5724,-5724,-5724,-5724,-5724,-5724, 5732,-5724,
-    -5724,-5724,-5724,-5724,-5724
-    },
-
-    {
-       27,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,
-    -5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,
-    -5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,
-    -5725,-5725,-5725, 5733,-5725,-5725,-5725,-5725,-5725,-5725,
-    -5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725,
-
-    -5725,-5725,-5725,-5725,-5725,-5725,-5725,-5725, 5733,-5725,
-    -5725,-5725,-5725,-5725,-5725
-    },
-
-    {
-       27,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,
-    -5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,
-    -5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,
-    -5726,-5726,-5726, 5734,-5726,-5726,-5726,-5726,-5726,-5726,
-    -5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726,
-    -5726,-5726,-5726,-5726,-5726,-5726,-5726,-5726, 5734,-5726,
-    -5726,-5726,-5726,-5726,-5726
-    },
-
-    {
-       27,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,
-
-    -5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,
-    -5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,
-    -5727,-5727,-5727, 5735,-5727,-5727,-5727,-5727,-5727,-5727,
-    -5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727,
-    -5727,-5727,-5727,-5727,-5727,-5727,-5727,-5727, 5735,-5727,
-    -5727,-5727,-5727,-5727,-5727
-    },
-
-    {
-       27,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,
-    -5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,
-    -5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,
-    -5728,-5728,-5728, 5736,-5728,-5728,-5728,-5728,-5728,-5728,
-
-    -5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728,
-    -5728,-5728,-5728,-5728,-5728,-5728,-5728,-5728, 5736,-5728,
-    -5728,-5728,-5728,-5728,-5728
-    },
-
-    {
-       27,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,
-    -5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,
-    -5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,
-    -5729,-5729,-5729, 5737,-5729,-5729,-5729,-5729,-5729,-5729,
-    -5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729,
-    -5729,-5729,-5729,-5729,-5729,-5729,-5729,-5729, 5737,-5729,
-    -5729,-5729,-5729,-5729,-5729
-
-    },
-
-    {
-       27,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,
-    -5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,
-    -5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,
-    -5730,-5730,-5730, 5738,-5730,-5730,-5730,-5730,-5730,-5730,
-    -5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730,
-    -5730,-5730,-5730,-5730,-5730,-5730,-5730,-5730, 5738,-5730,
-    -5730,-5730,-5730,-5730,-5730
-    },
-
-    {
-       27,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,
-    -5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,
-    -5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,
-
-    -5731,-5731, 5739,-5731,-5731,-5731,-5731,-5731,-5731,-5731,
-    -5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,-5731,
-    -5731,-5731,-5731,-5731,-5731,-5731,-5731, 5739,-5731,-5731,
-    -5731,-5731,-5731,-5731,-5731
-    },
-
-    {
-       27,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,
-    -5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,
-    -5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,
-    -5732,-5732, 5740,-5732,-5732,-5732,-5732,-5732,-5732,-5732,
-    -5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,-5732,
-    -5732,-5732,-5732,-5732,-5732,-5732,-5732, 5740,-5732,-5732,
-
-    -5732,-5732,-5732,-5732,-5732
-    },
-
-    {
-       27,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,
-    -5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,
-    -5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,
-    -5733,-5733, 5741,-5733,-5733,-5733,-5733,-5733,-5733,-5733,
-    -5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,-5733,
-    -5733,-5733,-5733,-5733,-5733,-5733,-5733, 5741,-5733,-5733,
-    -5733,-5733,-5733,-5733,-5733
-    },
-
-    {
-       27,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,
-    -5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,
-
-    -5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,
-    -5734,-5734, 5742,-5734,-5734,-5734,-5734,-5734,-5734,-5734,
-    -5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,-5734,
-    -5734,-5734,-5734,-5734,-5734,-5734,-5734, 5742,-5734,-5734,
-    -5734,-5734,-5734,-5734,-5734
-    },
-
-    {
-       27,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,
-    -5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,
-    -5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,
-    -5735,-5735, 5743,-5735,-5735,-5735,-5735,-5735,-5735,-5735,
-    -5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,-5735,
-
-    -5735,-5735,-5735,-5735,-5735,-5735,-5735, 5743,-5735,-5735,
-    -5735,-5735,-5735,-5735,-5735
-    },
-
-    {
-       27,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,
-    -5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,
-    -5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,
-    -5736,-5736, 5744,-5736,-5736,-5736,-5736,-5736,-5736,-5736,
-    -5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,-5736,
-    -5736,-5736,-5736,-5736,-5736,-5736,-5736, 5744,-5736,-5736,
-    -5736,-5736,-5736,-5736,-5736
-    },
-
-    {
-       27,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,
-
-    -5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,
-    -5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,
-    -5737,-5737, 5745,-5737,-5737,-5737,-5737,-5737,-5737,-5737,
-    -5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,-5737,
-    -5737,-5737,-5737,-5737,-5737,-5737,-5737, 5745,-5737,-5737,
-    -5737,-5737,-5737,-5737,-5737
-    },
-
-    {
-       27,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,
-    -5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,
-    -5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,
-    -5738,-5738, 5746,-5738,-5738,-5738,-5738,-5738,-5738,-5738,
-
-    -5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,-5738,
-    -5738,-5738,-5738,-5738,-5738,-5738,-5738, 5746,-5738,-5738,
-    -5738,-5738,-5738,-5738,-5738
-    },
-
-    {
-       27,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,
-    -5739,-5739,-5739, 5747,-5739,-5739,-5739,-5739,-5739,-5739,
-    -5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,
-    -5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,
-    -5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,
-    -5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,-5739,
-    -5739,-5739,-5739,-5739,-5739
-
-    },
-
-    {
-       27,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,
-    -5740,-5740,-5740, 5748,-5740,-5740,-5740,-5740,-5740,-5740,
-    -5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,
-    -5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,
-    -5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,
-    -5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,-5740,
-    -5740,-5740,-5740,-5740,-5740
-    },
-
-    {
-       27,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,
-    -5741,-5741,-5741, 5749,-5741,-5741,-5741,-5741,-5741,-5741,
-    -5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,
-
-    -5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,
-    -5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,
-    -5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,-5741,
-    -5741,-5741,-5741,-5741,-5741
-    },
-
-    {
-       27,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,
-    -5742,-5742,-5742, 5750,-5742,-5742,-5742,-5742,-5742,-5742,
-    -5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,
-    -5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,
-    -5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,
-    -5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,-5742,
-
-    -5742,-5742,-5742,-5742,-5742
-    },
-
-    {
-       27,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,
-    -5743,-5743,-5743, 5751,-5743,-5743,-5743,-5743,-5743,-5743,
-    -5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,
-    -5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,
-    -5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,
-    -5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,-5743,
-    -5743,-5743,-5743,-5743,-5743
-    },
-
-    {
-       27,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,
-    -5744,-5744,-5744, 5752,-5744,-5744,-5744,-5744,-5744,-5744,
-
-    -5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,
-    -5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,
-    -5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,
-    -5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,-5744,
-    -5744,-5744,-5744,-5744,-5744
-    },
-
-    {
-       27,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,
-    -5745,-5745,-5745, 5753,-5745,-5745,-5745,-5745,-5745,-5745,
-    -5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,
-    -5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,
-    -5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,
-
-    -5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,-5745,
-    -5745,-5745,-5745,-5745,-5745
-    },
-
-    {
-       27,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,
-    -5746,-5746,-5746, 5754,-5746,-5746,-5746,-5746,-5746,-5746,
-    -5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,
-    -5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,
-    -5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,
-    -5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,-5746,
-    -5746,-5746,-5746,-5746,-5746
-    },
-
-    {
-       27,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,
-
-    -5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,
-    -5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,
-    -5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,
-    -5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,
-    -5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,-5747,
-    -5747,-5747,-5747,-5747,-5747
-    },
-
-    {
-       27,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,
-    -5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,
-    -5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,
-    -5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,
-
-    -5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,
-    -5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,-5748,
-    -5748,-5748,-5748,-5748,-5748
-    },
-
-    {
-       27,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,
-    -5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,
-    -5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,
-    -5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,
-    -5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,
-    -5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,-5749,
-    -5749,-5749,-5749,-5749,-5749
-
-    },
-
-    {
-       27,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,
-    -5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,
-    -5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,
-    -5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,
-    -5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,
-    -5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,-5750,
-    -5750,-5750,-5750,-5750,-5750
-    },
-
-    {
-       27,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,
-    -5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,
-    -5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,
-
-    -5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,
-    -5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,
-    -5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,-5751,
-    -5751,-5751,-5751,-5751,-5751
-    },
-
-    {
-       27,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,
-    -5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,
-    -5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,
-    -5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,
-    -5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,
-    -5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,-5752,
-
-    -5752,-5752,-5752,-5752,-5752
-    },
-
-    {
-       27,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,
-    -5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,
-    -5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,
-    -5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,
-    -5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,
-    -5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,-5753,
-    -5753,-5753,-5753,-5753,-5753
-    },
-
-    {
-       27,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,
-    -5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,
-
-    -5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,
-    -5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,
-    -5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,
-    -5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,-5754,
-    -5754,-5754,-5754,-5754,-5754
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 358
-#define YY_END_OF_BUFFER 359
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[5755] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  359,  357,  355,  355,
-      356,  357,  355,    2,    2,    4,    4,    6,    6,   11,
-       11,   16,   16,   56,   56,   96,   96,  136,  136,  176,
-      176,  216,  216,  256,  256,  296,  296,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  354,    0,    0,
-        0,    0,    0,    0,  351,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    1,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  297,    0,  352,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    7,    0,    0,    0,   12,
-
-        0,    0,    0,   17,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   57,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   97,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  137,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  177,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,  217,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  257,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  351,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  299,    0,    0,    0,
-        0,    9,    0,    0,   14,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   19,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   59,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       99,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  139,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  179,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  219,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  259,    0,    0,    0,
-
-        0,    0,  351,    0,    0,  351,    0,    0,    0,  351,
-        0,    0,    0,    0,    0,    0,  350,    0,    0,    0,
-        0,    0,    0,  341,    0,  351,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        5,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  342,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  351,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  351,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   95,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,  298,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  348,    0,    0,    0,    0,    0,
-        0,    0,  351,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  351,    0,  351,    0,  351,    0,
-        0,    0,    0,    0,    0,    0,    8,    0,   13,    0,
-        0,    0,    0,    0,    0,    0,    0,   18,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   58,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       98,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  138,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  178,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  218,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,  258,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  349,    0,    0,    0,  351,    0,  351,
-        0,    0,    0,  339,    0,    0,  347,    0,  345,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  351,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    3,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  340,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      351,    0,  351,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   10,   15,    0,   55,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      215,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  295,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      351,    0,    0,  351,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  351,    0,    0,
-        0,  343,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  351,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  330,  344,    0,    0,    0,    0,    0,  303,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   50,    0,
-        0,    0,    0,    0,   23,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   90,    0,    0,    0,    0,    0,   63,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  135,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  130,
-        0,    0,    0,    0,    0,  103,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  170,    0,    0,    0,    0,
-        0,  143,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  210,    0,    0,    0,    0,    0,  183,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  250,    0,    0,
-        0,    0,    0,  223,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  290,    0,    0,    0,    0,    0,  263,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  336,  337,  338,  335,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  309,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   29,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   69,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  109,    0,  175,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  149,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  189,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  229,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  269,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,  301,    0,    0,    0,    0,
-        0,  351,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,   21,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   61,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  101,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      141,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  181,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  221,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  261,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  332,
-        0,  325,    0,    0,  305,  300,  333,    0,    0,    0,
-        0,    0,    0,    0,  302,    0,  307,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  346,    0,
-        0,   52,   45,    0,    0,   25,   20,   53,    0,    0,
-        0,    0,    0,    0,    0,   22,    0,   27,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-       92,   85,    0,    0,   65,   60,   93,    0,    0,    0,
-        0,    0,    0,    0,   62,    0,   67,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  132,
-      125,    0,    0,  105,  100,  133,    0,    0,    0,    0,
-        0,    0,    0,  102,    0,  107,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  172,  165,
-        0,    0,  145,  140,  173,    0,    0,    0,    0,    0,
-        0,    0,  142,    0,  147,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  212,  205,    0,
-        0,  185,  180,  213,    0,    0,    0,    0,    0,    0,
-
-        0,  182,    0,  187,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  252,    0,  245,    0,
-        0,  225,  220,  253,    0,    0,    0,    0,    0,    0,
-        0,  222,    0,  227,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  292,  285,    0,    0,
-      265,  260,  293,    0,    0,    0,    0,    0,    0,    0,
-      262,    0,  267,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  353,    0,    0,    0,    0,
-        0,    0,  310,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  308,
-
-        0,    0,    0,    0,    0,    0,   30,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   28,    0,    0,    0,    0,    0,    0,   70,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   68,    0,    0,    0,    0,
-        0,    0,  110,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  108,    0,
-        0,    0,    0,    0,    0,  150,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  148,    0,    0,    0,    0,    0,    0,  190,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  188,  255,    0,    0,    0,    0,
-        0,    0,    0,  230,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  228,
-        0,    0,    0,    0,    0,    0,  270,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  268,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  351,    0,    0,
-        0,  334,  331,  311,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,   54,   51,   31,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   94,   91,   71,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  134,  131,  111,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  174,  171,  151,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  214,  211,  191,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  254,
-      251,  231,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      294,  291,  271,  326,  304,    0,    0,    0,  324,    0,
-        0,  306,    0,  314,    0,    0,    0,    0,    0,    0,
-        0,    0,   46,   24,    0,    0,    0,   44,    0,    0,
-       26,    0,   34,    0,    0,    0,    0,    0,    0,    0,
-       86,   64,    0,    0,    0,   84,    0,    0,   66,    0,
-       74,    0,    0,    0,    0,    0,    0,    0,  126,  104,
-        0,    0,    0,  124,    0,    0,  106,    0,  114,    0,
-
-        0,    0,    0,    0,    0,    0,  166,  144,    0,    0,
-        0,  164,    0,    0,  146,    0,  154,    0,    0,    0,
-        0,    0,    0,    0,  206,  184,    0,    0,    0,  204,
-        0,    0,  186,    0,  194,    0,    0,    0,    0,    0,
-        0,    0,    0,  246,  224,    0,    0,    0,  244,    0,
-        0,  226,    0,  234,    0,    0,    0,    0,    0,    0,
-        0,  286,  264,    0,    0,    0,  284,    0,    0,  266,
-        0,  274,    0,    0,    0,    0,    0,    0,    0,  327,
-      328,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   47,   48,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,   87,   88,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  127,  128,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  167,  168,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      207,  208,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  247,  248,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  287,
-      288,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  313,    0,    0,    0,    0,    0,
-
-        0,    0,  351,    0,    0,    0,   33,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   73,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      113,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  153,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,  193,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  233,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,  273,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      323,    0,  312,    0,  316,    0,    0,    0,    0,    0,
-
-        0,   43,    0,   32,    0,   36,    0,    0,    0,    0,
-        0,    0,   83,    0,   72,    0,   76,    0,    0,    0,
-        0,    0,    0,  123,    0,  112,    0,  116,    0,    0,
-        0,    0,    0,    0,  163,    0,  152,    0,  156,    0,
-        0,    0,    0,    0,    0,  203,    0,  192,    0,  196,
-        0,    0,    0,    0,    0,    0,  243,    0,  232,    0,
-      236,    0,    0,    0,    0,    0,    0,  283,    0,  272,
-        0,  276,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,  351,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  315,    0,  318,    0,    0,    0,    0,
-        0,    0,   35,    0,   38,    0,    0,    0,    0,    0,
-        0,   75,    0,   78,    0,    0,    0,    0,    0,    0,
-      115,    0,  118,    0,    0,    0,    0,    0,    0,  155,
-        0,  158,    0,    0,    0,    0,    0,    0,  195,    0,
-      198,    0,    0,    0,    0,    0,    0,  235,    0,  238,
-        0,    0,    0,    0,    0,    0,  275,    0,  278,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,  317,    0,  320,
-        0,    0,    0,   37,    0,   40,    0,    0,    0,   77,
-        0,   80,    0,    0,    0,  117,    0,  120,    0,    0,
-        0,  157,    0,  160,    0,    0,    0,  197,    0,  200,
-        0,    0,    0,  237,    0,  240,    0,    0,    0,  277,
-        0,  280,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-      319,    0,  322,    0,    0,   39,    0,   42,    0,    0,
-       79,    0,   82,    0,    0,  119,    0,  122,    0,    0,
-      159,    0,  162,    0,    0,  199,    0,  202,    0,    0,
-      239,    0,  242,    0,    0,  279,    0,  282,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,  321,    0,   41,    0,   81,    0,  121,    0,  161,
-
-        0,  201,    0,  241,    0,  281,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  329,   49,   89,  129,
-      169,  209,  249,  289
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    2,    4,    1,    5,    6,    1,    7,    1,    1,
-        1,    1,    1,    1,    8,    1,    9,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,    1,   11,   12,
-        1,   13,    1,    6,   14,   15,   16,   17,   18,   19,
-       20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
-       30,   31,   32,   33,   34,   35,   23,   36,   37,   38,
-        6,    6,    6,    6,   39,    1,   40,   41,   42,   43,
-
-       44,   45,   46,   47,   48,   23,   49,   50,   51,   52,
-       53,   54,   55,   56,   57,   58,   59,   60,   23,   61,
-       62,   63,    6,    1,    6,   64,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_deslatex.cctmp"
-#line 4 "apertium_deslatex.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/${}]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-map<string, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution["'"] = L"'";
-}
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 62906 "apertium_deslatex.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-#define C4 4
-#define C5 5
-#define C6 6
-#define C7 7
-#define C8 8
-#define C9 9
-#define C10 10
-#define C11 11
-#define C12 12
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 272 "apertium_deslatex.cctmp"
-
-
-
-#line 63123 "apertium_deslatex.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 277 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 283 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 292 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 298 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 5:
-YY_RULE_SETUP
-#line 307 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 313 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 7:
-YY_RULE_SETUP
-#line 322 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 326 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 330 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 334 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 11:
-/* rule 11 can match eol */
-YY_RULE_SETUP
-#line 340 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 12:
-YY_RULE_SETUP
-#line 349 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 353 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 357 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 361 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 16:
-/* rule 16 can match eol */
-YY_RULE_SETUP
-#line 367 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 17:
-YY_RULE_SETUP
-#line 376 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 380 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 384 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 20:
-/* rule 20 can match eol */
-YY_RULE_SETUP
-#line 388 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 21:
-/* rule 21 can match eol */
-YY_RULE_SETUP
-#line 392 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 396 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 23:
-/* rule 23 can match eol */
-YY_RULE_SETUP
-#line 400 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 24:
-/* rule 24 can match eol */
-YY_RULE_SETUP
-#line 404 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 25:
-/* rule 25 can match eol */
-YY_RULE_SETUP
-#line 408 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 26:
-/* rule 26 can match eol */
-YY_RULE_SETUP
-#line 412 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 27:
-/* rule 27 can match eol */
-YY_RULE_SETUP
-#line 416 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 28:
-/* rule 28 can match eol */
-YY_RULE_SETUP
-#line 420 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 29:
-/* rule 29 can match eol */
-YY_RULE_SETUP
-#line 424 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 30:
-/* rule 30 can match eol */
-YY_RULE_SETUP
-#line 428 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 31:
-/* rule 31 can match eol */
-YY_RULE_SETUP
-#line 432 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 32:
-/* rule 32 can match eol */
-YY_RULE_SETUP
-#line 436 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 33:
-/* rule 33 can match eol */
-YY_RULE_SETUP
-#line 440 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 34:
-/* rule 34 can match eol */
-YY_RULE_SETUP
-#line 444 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 35:
-/* rule 35 can match eol */
-YY_RULE_SETUP
-#line 448 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 36:
-/* rule 36 can match eol */
-YY_RULE_SETUP
-#line 452 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 37:
-/* rule 37 can match eol */
-YY_RULE_SETUP
-#line 456 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 38:
-/* rule 38 can match eol */
-YY_RULE_SETUP
-#line 460 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 39:
-/* rule 39 can match eol */
-YY_RULE_SETUP
-#line 464 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 40:
-/* rule 40 can match eol */
-YY_RULE_SETUP
-#line 468 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 41:
-/* rule 41 can match eol */
-YY_RULE_SETUP
-#line 472 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 42:
-/* rule 42 can match eol */
-YY_RULE_SETUP
-#line 476 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 43:
-/* rule 43 can match eol */
-YY_RULE_SETUP
-#line 480 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 44:
-/* rule 44 can match eol */
-YY_RULE_SETUP
-#line 484 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 45:
-/* rule 45 can match eol */
-YY_RULE_SETUP
-#line 488 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 46:
-/* rule 46 can match eol */
-YY_RULE_SETUP
-#line 492 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 47:
-/* rule 47 can match eol */
-YY_RULE_SETUP
-#line 496 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 48:
-/* rule 48 can match eol */
-YY_RULE_SETUP
-#line 500 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 49:
-/* rule 49 can match eol */
-YY_RULE_SETUP
-#line 504 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 50:
-YY_RULE_SETUP
-#line 508 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 51:
-/* rule 51 can match eol */
-YY_RULE_SETUP
-#line 512 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 52:
-YY_RULE_SETUP
-#line 515 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 53:
-/* rule 53 can match eol */
-YY_RULE_SETUP
-#line 518 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 54:
-/* rule 54 can match eol */
-YY_RULE_SETUP
-#line 521 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 524 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 56:
-/* rule 56 can match eol */
-YY_RULE_SETUP
-#line 530 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 57:
-YY_RULE_SETUP
-#line 539 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 58:
-YY_RULE_SETUP
-#line 543 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 59:
-YY_RULE_SETUP
-#line 547 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 60:
-/* rule 60 can match eol */
-YY_RULE_SETUP
-#line 551 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 61:
-/* rule 61 can match eol */
-YY_RULE_SETUP
-#line 555 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 62:
-/* rule 62 can match eol */
-YY_RULE_SETUP
-#line 559 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 63:
-/* rule 63 can match eol */
-YY_RULE_SETUP
-#line 563 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 64:
-/* rule 64 can match eol */
-YY_RULE_SETUP
-#line 567 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 65:
-/* rule 65 can match eol */
-YY_RULE_SETUP
-#line 571 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 66:
-/* rule 66 can match eol */
-YY_RULE_SETUP
-#line 575 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 67:
-/* rule 67 can match eol */
-YY_RULE_SETUP
-#line 579 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 68:
-/* rule 68 can match eol */
-YY_RULE_SETUP
-#line 583 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 69:
-/* rule 69 can match eol */
-YY_RULE_SETUP
-#line 587 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 70:
-/* rule 70 can match eol */
-YY_RULE_SETUP
-#line 591 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 71:
-/* rule 71 can match eol */
-YY_RULE_SETUP
-#line 595 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 72:
-/* rule 72 can match eol */
-YY_RULE_SETUP
-#line 599 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 73:
-/* rule 73 can match eol */
-YY_RULE_SETUP
-#line 603 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 74:
-/* rule 74 can match eol */
-YY_RULE_SETUP
-#line 607 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 75:
-/* rule 75 can match eol */
-YY_RULE_SETUP
-#line 611 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 76:
-/* rule 76 can match eol */
-YY_RULE_SETUP
-#line 615 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 77:
-/* rule 77 can match eol */
-YY_RULE_SETUP
-#line 619 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 78:
-/* rule 78 can match eol */
-YY_RULE_SETUP
-#line 623 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 79:
-/* rule 79 can match eol */
-YY_RULE_SETUP
-#line 627 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 80:
-/* rule 80 can match eol */
-YY_RULE_SETUP
-#line 631 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 81:
-/* rule 81 can match eol */
-YY_RULE_SETUP
-#line 635 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 82:
-/* rule 82 can match eol */
-YY_RULE_SETUP
-#line 639 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 83:
-/* rule 83 can match eol */
-YY_RULE_SETUP
-#line 643 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 84:
-/* rule 84 can match eol */
-YY_RULE_SETUP
-#line 647 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 85:
-/* rule 85 can match eol */
-YY_RULE_SETUP
-#line 651 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 86:
-/* rule 86 can match eol */
-YY_RULE_SETUP
-#line 655 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 87:
-/* rule 87 can match eol */
-YY_RULE_SETUP
-#line 659 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 88:
-/* rule 88 can match eol */
-YY_RULE_SETUP
-#line 663 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 89:
-/* rule 89 can match eol */
-YY_RULE_SETUP
-#line 667 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 90:
-YY_RULE_SETUP
-#line 671 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 91:
-/* rule 91 can match eol */
-YY_RULE_SETUP
-#line 675 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 92:
-YY_RULE_SETUP
-#line 678 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 93:
-/* rule 93 can match eol */
-YY_RULE_SETUP
-#line 681 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 94:
-/* rule 94 can match eol */
-YY_RULE_SETUP
-#line 684 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 95:
-YY_RULE_SETUP
-#line 687 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 96:
-/* rule 96 can match eol */
-YY_RULE_SETUP
-#line 693 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 97:
-YY_RULE_SETUP
-#line 702 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 98:
-YY_RULE_SETUP
-#line 706 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 99:
-YY_RULE_SETUP
-#line 710 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 100:
-/* rule 100 can match eol */
-YY_RULE_SETUP
-#line 714 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 101:
-/* rule 101 can match eol */
-YY_RULE_SETUP
-#line 718 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 102:
-/* rule 102 can match eol */
-YY_RULE_SETUP
-#line 722 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 103:
-/* rule 103 can match eol */
-YY_RULE_SETUP
-#line 726 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 104:
-/* rule 104 can match eol */
-YY_RULE_SETUP
-#line 730 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 105:
-/* rule 105 can match eol */
-YY_RULE_SETUP
-#line 734 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 106:
-/* rule 106 can match eol */
-YY_RULE_SETUP
-#line 738 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 107:
-/* rule 107 can match eol */
-YY_RULE_SETUP
-#line 742 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 108:
-/* rule 108 can match eol */
-YY_RULE_SETUP
-#line 746 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 109:
-/* rule 109 can match eol */
-YY_RULE_SETUP
-#line 750 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 110:
-/* rule 110 can match eol */
-YY_RULE_SETUP
-#line 754 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 111:
-/* rule 111 can match eol */
-YY_RULE_SETUP
-#line 758 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 112:
-/* rule 112 can match eol */
-YY_RULE_SETUP
-#line 762 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 113:
-/* rule 113 can match eol */
-YY_RULE_SETUP
-#line 766 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 114:
-/* rule 114 can match eol */
-YY_RULE_SETUP
-#line 770 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 115:
-/* rule 115 can match eol */
-YY_RULE_SETUP
-#line 774 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 116:
-/* rule 116 can match eol */
-YY_RULE_SETUP
-#line 778 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 117:
-/* rule 117 can match eol */
-YY_RULE_SETUP
-#line 782 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 118:
-/* rule 118 can match eol */
-YY_RULE_SETUP
-#line 786 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 119:
-/* rule 119 can match eol */
-YY_RULE_SETUP
-#line 790 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 120:
-/* rule 120 can match eol */
-YY_RULE_SETUP
-#line 794 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 121:
-/* rule 121 can match eol */
-YY_RULE_SETUP
-#line 798 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 122:
-/* rule 122 can match eol */
-YY_RULE_SETUP
-#line 802 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 123:
-/* rule 123 can match eol */
-YY_RULE_SETUP
-#line 806 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 124:
-/* rule 124 can match eol */
-YY_RULE_SETUP
-#line 810 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 125:
-/* rule 125 can match eol */
-YY_RULE_SETUP
-#line 814 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 126:
-/* rule 126 can match eol */
-YY_RULE_SETUP
-#line 818 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 127:
-/* rule 127 can match eol */
-YY_RULE_SETUP
-#line 822 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 128:
-/* rule 128 can match eol */
-YY_RULE_SETUP
-#line 826 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 129:
-/* rule 129 can match eol */
-YY_RULE_SETUP
-#line 830 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 130:
-YY_RULE_SETUP
-#line 834 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 131:
-/* rule 131 can match eol */
-YY_RULE_SETUP
-#line 838 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 132:
-YY_RULE_SETUP
-#line 841 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 133:
-/* rule 133 can match eol */
-YY_RULE_SETUP
-#line 844 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 134:
-/* rule 134 can match eol */
-YY_RULE_SETUP
-#line 847 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 135:
-YY_RULE_SETUP
-#line 850 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 136:
-/* rule 136 can match eol */
-YY_RULE_SETUP
-#line 856 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 137:
-YY_RULE_SETUP
-#line 865 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 138:
-YY_RULE_SETUP
-#line 869 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 139:
-YY_RULE_SETUP
-#line 873 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 140:
-/* rule 140 can match eol */
-YY_RULE_SETUP
-#line 877 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 141:
-/* rule 141 can match eol */
-YY_RULE_SETUP
-#line 881 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 142:
-/* rule 142 can match eol */
-YY_RULE_SETUP
-#line 885 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 143:
-/* rule 143 can match eol */
-YY_RULE_SETUP
-#line 889 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 144:
-/* rule 144 can match eol */
-YY_RULE_SETUP
-#line 893 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 145:
-/* rule 145 can match eol */
-YY_RULE_SETUP
-#line 897 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 146:
-/* rule 146 can match eol */
-YY_RULE_SETUP
-#line 901 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 147:
-/* rule 147 can match eol */
-YY_RULE_SETUP
-#line 905 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 148:
-/* rule 148 can match eol */
-YY_RULE_SETUP
-#line 909 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 149:
-/* rule 149 can match eol */
-YY_RULE_SETUP
-#line 913 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 150:
-/* rule 150 can match eol */
-YY_RULE_SETUP
-#line 917 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 151:
-/* rule 151 can match eol */
-YY_RULE_SETUP
-#line 921 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 152:
-/* rule 152 can match eol */
-YY_RULE_SETUP
-#line 925 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 153:
-/* rule 153 can match eol */
-YY_RULE_SETUP
-#line 929 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 154:
-/* rule 154 can match eol */
-YY_RULE_SETUP
-#line 933 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 155:
-/* rule 155 can match eol */
-YY_RULE_SETUP
-#line 937 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 156:
-/* rule 156 can match eol */
-YY_RULE_SETUP
-#line 941 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 157:
-/* rule 157 can match eol */
-YY_RULE_SETUP
-#line 945 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 158:
-/* rule 158 can match eol */
-YY_RULE_SETUP
-#line 949 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 159:
-/* rule 159 can match eol */
-YY_RULE_SETUP
-#line 953 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 160:
-/* rule 160 can match eol */
-YY_RULE_SETUP
-#line 957 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 161:
-/* rule 161 can match eol */
-YY_RULE_SETUP
-#line 961 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 162:
-/* rule 162 can match eol */
-YY_RULE_SETUP
-#line 965 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 163:
-/* rule 163 can match eol */
-YY_RULE_SETUP
-#line 969 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 164:
-/* rule 164 can match eol */
-YY_RULE_SETUP
-#line 973 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 165:
-/* rule 165 can match eol */
-YY_RULE_SETUP
-#line 977 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 166:
-/* rule 166 can match eol */
-YY_RULE_SETUP
-#line 981 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 167:
-/* rule 167 can match eol */
-YY_RULE_SETUP
-#line 985 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 168:
-/* rule 168 can match eol */
-YY_RULE_SETUP
-#line 989 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 169:
-/* rule 169 can match eol */
-YY_RULE_SETUP
-#line 993 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 170:
-YY_RULE_SETUP
-#line 997 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 171:
-/* rule 171 can match eol */
-YY_RULE_SETUP
-#line 1001 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 172:
-YY_RULE_SETUP
-#line 1004 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 173:
-/* rule 173 can match eol */
-YY_RULE_SETUP
-#line 1007 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 174:
-/* rule 174 can match eol */
-YY_RULE_SETUP
-#line 1010 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 175:
-YY_RULE_SETUP
-#line 1013 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 176:
-/* rule 176 can match eol */
-YY_RULE_SETUP
-#line 1019 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 177:
-YY_RULE_SETUP
-#line 1028 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 178:
-YY_RULE_SETUP
-#line 1032 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 179:
-YY_RULE_SETUP
-#line 1036 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 180:
-/* rule 180 can match eol */
-YY_RULE_SETUP
-#line 1040 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 181:
-/* rule 181 can match eol */
-YY_RULE_SETUP
-#line 1044 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 182:
-/* rule 182 can match eol */
-YY_RULE_SETUP
-#line 1048 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 183:
-/* rule 183 can match eol */
-YY_RULE_SETUP
-#line 1052 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 184:
-/* rule 184 can match eol */
-YY_RULE_SETUP
-#line 1056 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 185:
-/* rule 185 can match eol */
-YY_RULE_SETUP
-#line 1060 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 186:
-/* rule 186 can match eol */
-YY_RULE_SETUP
-#line 1064 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 187:
-/* rule 187 can match eol */
-YY_RULE_SETUP
-#line 1068 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 188:
-/* rule 188 can match eol */
-YY_RULE_SETUP
-#line 1072 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 189:
-/* rule 189 can match eol */
-YY_RULE_SETUP
-#line 1076 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 190:
-/* rule 190 can match eol */
-YY_RULE_SETUP
-#line 1080 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 191:
-/* rule 191 can match eol */
-YY_RULE_SETUP
-#line 1084 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 192:
-/* rule 192 can match eol */
-YY_RULE_SETUP
-#line 1088 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 193:
-/* rule 193 can match eol */
-YY_RULE_SETUP
-#line 1092 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 194:
-/* rule 194 can match eol */
-YY_RULE_SETUP
-#line 1096 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 195:
-/* rule 195 can match eol */
-YY_RULE_SETUP
-#line 1100 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 196:
-/* rule 196 can match eol */
-YY_RULE_SETUP
-#line 1104 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 197:
-/* rule 197 can match eol */
-YY_RULE_SETUP
-#line 1108 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 198:
-/* rule 198 can match eol */
-YY_RULE_SETUP
-#line 1112 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 199:
-/* rule 199 can match eol */
-YY_RULE_SETUP
-#line 1116 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 200:
-/* rule 200 can match eol */
-YY_RULE_SETUP
-#line 1120 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 201:
-/* rule 201 can match eol */
-YY_RULE_SETUP
-#line 1124 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 202:
-/* rule 202 can match eol */
-YY_RULE_SETUP
-#line 1128 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 203:
-/* rule 203 can match eol */
-YY_RULE_SETUP
-#line 1132 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 204:
-/* rule 204 can match eol */
-YY_RULE_SETUP
-#line 1136 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 205:
-/* rule 205 can match eol */
-YY_RULE_SETUP
-#line 1140 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 206:
-/* rule 206 can match eol */
-YY_RULE_SETUP
-#line 1144 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 207:
-/* rule 207 can match eol */
-YY_RULE_SETUP
-#line 1148 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 208:
-/* rule 208 can match eol */
-YY_RULE_SETUP
-#line 1152 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 209:
-/* rule 209 can match eol */
-YY_RULE_SETUP
-#line 1156 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 210:
-YY_RULE_SETUP
-#line 1160 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 211:
-/* rule 211 can match eol */
-YY_RULE_SETUP
-#line 1164 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 212:
-YY_RULE_SETUP
-#line 1167 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 213:
-/* rule 213 can match eol */
-YY_RULE_SETUP
-#line 1170 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 214:
-/* rule 214 can match eol */
-YY_RULE_SETUP
-#line 1173 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 215:
-YY_RULE_SETUP
-#line 1176 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 216:
-/* rule 216 can match eol */
-YY_RULE_SETUP
-#line 1182 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 217:
-YY_RULE_SETUP
-#line 1191 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 218:
-YY_RULE_SETUP
-#line 1195 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 219:
-YY_RULE_SETUP
-#line 1199 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 220:
-/* rule 220 can match eol */
-YY_RULE_SETUP
-#line 1203 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 221:
-/* rule 221 can match eol */
-YY_RULE_SETUP
-#line 1207 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 222:
-/* rule 222 can match eol */
-YY_RULE_SETUP
-#line 1211 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 223:
-/* rule 223 can match eol */
-YY_RULE_SETUP
-#line 1215 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 224:
-/* rule 224 can match eol */
-YY_RULE_SETUP
-#line 1219 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 225:
-/* rule 225 can match eol */
-YY_RULE_SETUP
-#line 1223 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 226:
-/* rule 226 can match eol */
-YY_RULE_SETUP
-#line 1227 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 227:
-/* rule 227 can match eol */
-YY_RULE_SETUP
-#line 1231 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 228:
-/* rule 228 can match eol */
-YY_RULE_SETUP
-#line 1235 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 229:
-/* rule 229 can match eol */
-YY_RULE_SETUP
-#line 1239 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 230:
-/* rule 230 can match eol */
-YY_RULE_SETUP
-#line 1243 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 231:
-/* rule 231 can match eol */
-YY_RULE_SETUP
-#line 1247 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 232:
-/* rule 232 can match eol */
-YY_RULE_SETUP
-#line 1251 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 233:
-/* rule 233 can match eol */
-YY_RULE_SETUP
-#line 1255 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 234:
-/* rule 234 can match eol */
-YY_RULE_SETUP
-#line 1259 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 235:
-/* rule 235 can match eol */
-YY_RULE_SETUP
-#line 1263 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 236:
-/* rule 236 can match eol */
-YY_RULE_SETUP
-#line 1267 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 237:
-/* rule 237 can match eol */
-YY_RULE_SETUP
-#line 1271 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 238:
-/* rule 238 can match eol */
-YY_RULE_SETUP
-#line 1275 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 239:
-/* rule 239 can match eol */
-YY_RULE_SETUP
-#line 1279 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 240:
-/* rule 240 can match eol */
-YY_RULE_SETUP
-#line 1283 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 241:
-/* rule 241 can match eol */
-YY_RULE_SETUP
-#line 1287 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 242:
-/* rule 242 can match eol */
-YY_RULE_SETUP
-#line 1291 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 243:
-/* rule 243 can match eol */
-YY_RULE_SETUP
-#line 1295 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 244:
-/* rule 244 can match eol */
-YY_RULE_SETUP
-#line 1299 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 245:
-/* rule 245 can match eol */
-YY_RULE_SETUP
-#line 1303 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 246:
-/* rule 246 can match eol */
-YY_RULE_SETUP
-#line 1307 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 247:
-/* rule 247 can match eol */
-YY_RULE_SETUP
-#line 1311 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 248:
-/* rule 248 can match eol */
-YY_RULE_SETUP
-#line 1315 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 249:
-/* rule 249 can match eol */
-YY_RULE_SETUP
-#line 1319 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 250:
-YY_RULE_SETUP
-#line 1323 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 251:
-/* rule 251 can match eol */
-YY_RULE_SETUP
-#line 1327 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 252:
-YY_RULE_SETUP
-#line 1330 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 253:
-/* rule 253 can match eol */
-YY_RULE_SETUP
-#line 1333 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 254:
-/* rule 254 can match eol */
-YY_RULE_SETUP
-#line 1336 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 255:
-YY_RULE_SETUP
-#line 1339 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 256:
-/* rule 256 can match eol */
-YY_RULE_SETUP
-#line 1345 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 257:
-YY_RULE_SETUP
-#line 1354 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 258:
-YY_RULE_SETUP
-#line 1358 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 259:
-YY_RULE_SETUP
-#line 1362 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 260:
-/* rule 260 can match eol */
-YY_RULE_SETUP
-#line 1366 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 261:
-/* rule 261 can match eol */
-YY_RULE_SETUP
-#line 1370 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 262:
-/* rule 262 can match eol */
-YY_RULE_SETUP
-#line 1374 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 263:
-/* rule 263 can match eol */
-YY_RULE_SETUP
-#line 1378 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 264:
-/* rule 264 can match eol */
-YY_RULE_SETUP
-#line 1382 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 265:
-/* rule 265 can match eol */
-YY_RULE_SETUP
-#line 1386 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 266:
-/* rule 266 can match eol */
-YY_RULE_SETUP
-#line 1390 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 267:
-/* rule 267 can match eol */
-YY_RULE_SETUP
-#line 1394 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 268:
-/* rule 268 can match eol */
-YY_RULE_SETUP
-#line 1398 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 269:
-/* rule 269 can match eol */
-YY_RULE_SETUP
-#line 1402 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 270:
-/* rule 270 can match eol */
-YY_RULE_SETUP
-#line 1406 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 271:
-/* rule 271 can match eol */
-YY_RULE_SETUP
-#line 1410 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 272:
-/* rule 272 can match eol */
-YY_RULE_SETUP
-#line 1414 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 273:
-/* rule 273 can match eol */
-YY_RULE_SETUP
-#line 1418 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 274:
-/* rule 274 can match eol */
-YY_RULE_SETUP
-#line 1422 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 275:
-/* rule 275 can match eol */
-YY_RULE_SETUP
-#line 1426 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 276:
-/* rule 276 can match eol */
-YY_RULE_SETUP
-#line 1430 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 277:
-/* rule 277 can match eol */
-YY_RULE_SETUP
-#line 1434 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 278:
-/* rule 278 can match eol */
-YY_RULE_SETUP
-#line 1438 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 279:
-/* rule 279 can match eol */
-YY_RULE_SETUP
-#line 1442 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 280:
-/* rule 280 can match eol */
-YY_RULE_SETUP
-#line 1446 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 281:
-/* rule 281 can match eol */
-YY_RULE_SETUP
-#line 1450 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 282:
-/* rule 282 can match eol */
-YY_RULE_SETUP
-#line 1454 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 283:
-/* rule 283 can match eol */
-YY_RULE_SETUP
-#line 1458 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 284:
-/* rule 284 can match eol */
-YY_RULE_SETUP
-#line 1462 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 285:
-/* rule 285 can match eol */
-YY_RULE_SETUP
-#line 1466 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 286:
-/* rule 286 can match eol */
-YY_RULE_SETUP
-#line 1470 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 287:
-/* rule 287 can match eol */
-YY_RULE_SETUP
-#line 1474 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 288:
-/* rule 288 can match eol */
-YY_RULE_SETUP
-#line 1478 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 289:
-/* rule 289 can match eol */
-YY_RULE_SETUP
-#line 1482 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 290:
-YY_RULE_SETUP
-#line 1486 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 291:
-/* rule 291 can match eol */
-YY_RULE_SETUP
-#line 1490 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 292:
-YY_RULE_SETUP
-#line 1493 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 293:
-/* rule 293 can match eol */
-YY_RULE_SETUP
-#line 1496 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 294:
-/* rule 294 can match eol */
-YY_RULE_SETUP
-#line 1499 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 295:
-YY_RULE_SETUP
-#line 1502 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 296:
-/* rule 296 can match eol */
-YY_RULE_SETUP
-#line 1508 "apertium_deslatex.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 297:
-YY_RULE_SETUP
-#line 1514 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 298:
-YY_RULE_SETUP
-#line 1518 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 299:
-YY_RULE_SETUP
-#line 1522 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 300:
-/* rule 300 can match eol */
-YY_RULE_SETUP
-#line 1526 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 301:
-/* rule 301 can match eol */
-YY_RULE_SETUP
-#line 1530 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 302:
-/* rule 302 can match eol */
-YY_RULE_SETUP
-#line 1534 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 303:
-/* rule 303 can match eol */
-YY_RULE_SETUP
-#line 1538 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 304:
-/* rule 304 can match eol */
-YY_RULE_SETUP
-#line 1542 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 305:
-/* rule 305 can match eol */
-YY_RULE_SETUP
-#line 1546 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 306:
-/* rule 306 can match eol */
-YY_RULE_SETUP
-#line 1550 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 307:
-/* rule 307 can match eol */
-YY_RULE_SETUP
-#line 1554 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 308:
-/* rule 308 can match eol */
-YY_RULE_SETUP
-#line 1558 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 309:
-/* rule 309 can match eol */
-YY_RULE_SETUP
-#line 1562 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 310:
-/* rule 310 can match eol */
-YY_RULE_SETUP
-#line 1566 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 311:
-/* rule 311 can match eol */
-YY_RULE_SETUP
-#line 1570 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 312:
-/* rule 312 can match eol */
-YY_RULE_SETUP
-#line 1574 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 313:
-/* rule 313 can match eol */
-YY_RULE_SETUP
-#line 1578 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 314:
-/* rule 314 can match eol */
-YY_RULE_SETUP
-#line 1582 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 315:
-/* rule 315 can match eol */
-YY_RULE_SETUP
-#line 1586 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 316:
-/* rule 316 can match eol */
-YY_RULE_SETUP
-#line 1590 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 317:
-/* rule 317 can match eol */
-YY_RULE_SETUP
-#line 1594 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 318:
-/* rule 318 can match eol */
-YY_RULE_SETUP
-#line 1598 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 319:
-/* rule 319 can match eol */
-YY_RULE_SETUP
-#line 1602 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 320:
-/* rule 320 can match eol */
-YY_RULE_SETUP
-#line 1606 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 321:
-/* rule 321 can match eol */
-YY_RULE_SETUP
-#line 1610 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 322:
-/* rule 322 can match eol */
-YY_RULE_SETUP
-#line 1614 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 323:
-/* rule 323 can match eol */
-YY_RULE_SETUP
-#line 1618 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 324:
-/* rule 324 can match eol */
-YY_RULE_SETUP
-#line 1622 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 325:
-/* rule 325 can match eol */
-YY_RULE_SETUP
-#line 1626 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 326:
-/* rule 326 can match eol */
-YY_RULE_SETUP
-#line 1630 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 327:
-/* rule 327 can match eol */
-YY_RULE_SETUP
-#line 1634 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 328:
-/* rule 328 can match eol */
-YY_RULE_SETUP
-#line 1638 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 329:
-/* rule 329 can match eol */
-YY_RULE_SETUP
-#line 1642 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 330:
-YY_RULE_SETUP
-#line 1646 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 331:
-/* rule 331 can match eol */
-YY_RULE_SETUP
-#line 1650 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 332:
-YY_RULE_SETUP
-#line 1653 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 333:
-/* rule 333 can match eol */
-YY_RULE_SETUP
-#line 1656 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 334:
-/* rule 334 can match eol */
-YY_RULE_SETUP
-#line 1659 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 335:
-/* rule 335 can match eol */
-YY_RULE_SETUP
-#line 1662 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 336:
-/* rule 336 can match eol */
-YY_RULE_SETUP
-#line 1666 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 337:
-/* rule 337 can match eol */
-YY_RULE_SETUP
-#line 1670 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 338:
-/* rule 338 can match eol */
-YY_RULE_SETUP
-#line 1674 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 339:
-YY_RULE_SETUP
-#line 1678 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C6);
-}
-	YY_BREAK
-case 340:
-YY_RULE_SETUP
-#line 1683 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 341:
-YY_RULE_SETUP
-#line 1687 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C7);
-}
-	YY_BREAK
-case 342:
-YY_RULE_SETUP
-#line 1692 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 343:
-YY_RULE_SETUP
-#line 1696 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C8);
-}
-	YY_BREAK
-case 344:
-YY_RULE_SETUP
-#line 1700 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C9);
-}
-	YY_BREAK
-case 345:
-YY_RULE_SETUP
-#line 1705 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C10);
-}
-	YY_BREAK
-case 346:
-YY_RULE_SETUP
-#line 1710 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C11);
-}
-	YY_BREAK
-case 347:
-YY_RULE_SETUP
-#line 1715 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C12);
-}
-	YY_BREAK
-case 348:
-YY_RULE_SETUP
-#line 1720 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 349:
-YY_RULE_SETUP
-#line 1724 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 350:
-YY_RULE_SETUP
-#line 1728 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 351:
-/* rule 351 can match eol */
-YY_RULE_SETUP
-#line 1732 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 352:
-/* rule 352 can match eol */
-YY_RULE_SETUP
-#line 1735 "apertium_deslatex.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 353:
-/* rule 353 can match eol */
-YY_RULE_SETUP
-#line 1738 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 354:
-YY_RULE_SETUP
-#line 1743 "apertium_deslatex.cctmp"
-{
-  if(S1_substitution.find(yytext) != S1_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S1_substitution[yytext].c_str(), yyout);
-    offset+=S1_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 355:
-/* rule 355 can match eol */
-YY_RULE_SETUP
-#line 1757 "apertium_deslatex.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 356:
-YY_RULE_SETUP
-#line 1765 "apertium_deslatex.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 357:
-YY_RULE_SETUP
-#line 1785 "apertium_deslatex.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-case YY_STATE_EOF(C4):
-case YY_STATE_EOF(C5):
-case YY_STATE_EOF(C6):
-case YY_STATE_EOF(C7):
-case YY_STATE_EOF(C8):
-case YY_STATE_EOF(C9):
-case YY_STATE_EOF(C10):
-case YY_STATE_EOF(C11):
-case YY_STATE_EOF(C12):
-#line 1810 "apertium_deslatex.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 358:
-YY_RULE_SETUP
-#line 1817 "apertium_deslatex.cctmp"
-ECHO;
-	YY_BREAK
-#line 66390 "apertium_deslatex.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 1817 "apertium_deslatex.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "latex format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  S1_init();
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_desmediawiki.cc b/apertium/apertium_desmediawiki.cc
deleted file mode 100644
index 8a38b78..0000000
--- a/apertium/apertium_desmediawiki.cc
+++ /dev/null
@@ -1,9893 +0,0 @@
-#line 2 "apertium_desmediawiki.cc"
-
-#line 4 "apertium_desmediawiki.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][66] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0
-    },
-
-    {
-       27,   28,   29,   30,   29,   28,   28,   31,   32,   33,
-       28,   31,   28,   28,   28,   34,   35,   29,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   36,   37,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   38,   29
-    },
-
-    {
-       27,   28,   29,   30,   29,   28,   39,   31,   32,   33,
-       28,   31,   28,   39,   39,   34,   40,   29,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   36,   37,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   38,   29
-    },
-
-    {
-       27,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       42,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41
-    },
-
-    {
-       27,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       42,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41
-    },
-
-    {
-       27,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       44,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43
-    },
-
-    {
-       27,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       44,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43
-    },
-
-    {
-       27,   45,   45,   45,   45,   45,   45,   45,   46,   47,
-
-       45,   45,   45,   45,   45,   48,   49,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   50,   51,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45
-    },
-
-    {
-       27,   45,   45,   45,   45,   45,   52,   45,   46,   47,
-       45,   45,   45,   52,   52,   48,   53,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-
-       45,   50,   51,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45
-    },
-
-    {
-       27,   54,   54,   54,   54,   54,   54,   54,   55,   56,
-       54,   54,   54,   54,   54,   57,   58,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   59,   60,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54
-
-    },
-
-    {
-       27,   54,   54,   54,   54,   54,   61,   54,   55,   56,
-       54,   54,   54,   61,   61,   57,   62,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   59,   60,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54
-    },
-
-    {
-       27,   63,   63,   63,   63,   63,   63,   63,   64,   65,
-       63,   63,   63,   63,   63,   66,   67,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-       63,   68,   69,   63,   63,   63,   63,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-       63,   63,   63,   63,   63,   63
-    },
-
-    {
-       27,   63,   63,   63,   63,   63,   70,   63,   64,   65,
-       63,   63,   63,   70,   70,   66,   71,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-       63,   68,   69,   63,   63,   63,   63,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-
-       63,   63,   63,   63,   63,   63
-    },
-
-    {
-       27,   72,   72,   72,   72,   72,   72,   72,   73,   74,
-       72,   72,   72,   72,   72,   75,   76,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   77,   78,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72
-    },
-
-    {
-       27,   72,   72,   72,   72,   72,   79,   72,   73,   74,
-       72,   72,   72,   79,   79,   75,   80,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   77,   78,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72
-    },
-
-    {
-       27,   81,   81,   81,   81,   81,   81,   81,   82,   83,
-       81,   81,   81,   81,   81,   84,   85,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   86,   87,   81,   81,   81,   81,   81,   81,   81,
-
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81
-    },
-
-    {
-       27,   81,   81,   81,   81,   81,   88,   81,   82,   83,
-       81,   81,   81,   88,   88,   84,   89,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   86,   87,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81
-    },
-
-    {
-       27,   90,   90,   90,   90,   90,   90,   90,   91,   92,
-
-       90,   90,   90,   90,   90,   93,   94,   90,   90,   90,
-       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-       90,   95,   96,   90,   90,   90,   90,   90,   90,   90,
-       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-       90,   90,   90,   90,   90,   90
-    },
-
-    {
-       27,   90,   90,   90,   90,   90,   97,   90,   91,   92,
-       90,   90,   90,   97,   97,   93,   98,   90,   90,   90,
-       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-
-       90,   95,   96,   90,   90,   90,   90,   90,   90,   90,
-       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
-       90,   90,   90,   90,   90,   90
-    },
-
-    {
-       27,   99,   99,   99,   99,   99,   99,   99,  100,  101,
-       99,   99,   99,   99,   99,  102,  103,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,  104,  105,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99
-
-    },
-
-    {
-       27,   99,   99,   99,   99,   99,  106,   99,  100,  101,
-       99,   99,   99,  106,  106,  102,  107,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,  104,  105,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99
-    },
-
-    {
-       27,  108,  108,  108,  108,  108,  108,  108,  109,  110,
-      108,  108,  108,  108,  108,  111,  112,  108,  108,  108,
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  113,  114,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  108,  108,  108,  115
-    },
-
-    {
-       27,  108,  108,  108,  108,  108,  116,  108,  109,  110,
-      108,  108,  108,  116,  116,  111,  117,  108,  108,  108,
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-      108,  113,  114,  108,  108,  108,  108,  108,  108,  108,
-      108,  108,  108,  108,  108,  108,  108,  108,  108,  108,
-
-      108,  108,  108,  108,  108,  115
-    },
-
-    {
-       27,  118,  118,  118,  118,  118,  118,  118,  119,  120,
-      118,  118,  118,  118,  118,  121,  122,  118,  118,  118,
-      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
-      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
-      118,  123,  124,  118,  118,  118,  118,  118,  118,  118,
-      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
-      118,  118,  118,  118,  118,  118
-    },
-
-    {
-       27,  118,  118,  118,  118,  118,  125,  118,  119,  120,
-      118,  118,  118,  125,  125,  121,  126,  118,  118,  118,
-
-      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
-      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
-      118,  123,  124,  118,  118,  118,  118,  118,  118,  118,
-      118,  118,  118,  118,  118,  118,  118,  118,  118,  118,
-      118,  118,  118,  118,  118,  118
-    },
-
-    {
-       27,  127,  127,  127,  127,  127,  127,  127,  128,  129,
-      127,  127,  127,  127,  127,  130,  131,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  132,  133,  127,  127,  127,  127,  127,  127,  127,
-
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127
-    },
-
-    {
-       27,  127,  127,  127,  127,  127,  134,  127,  128,  129,
-      127,  127,  127,  134,  134,  130,  135,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  132,  133,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127
-    },
-
-    {
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27
-    },
-
-    {
-       27,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28
-    },
-
-    {
-       27,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29
-
-    },
-
-    {
-       27,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30
-    },
-
-    {
-       27,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31
-    },
-
-    {
-       27,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      136,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  136,  -32,  -32,  -32,  -32,  -32,  -32,
-
-      -32,  -32,  -32,  -32,  -32,  -32
-    },
-
-    {
-       27,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  137,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33
-    },
-
-    {
-       27,  -34,  -34,  -34,  -34,  138,  -34,  -34,  -34,  -34,
-      -34,  139,  -34,  -34,  -34,  -34,  -34,  -34,  140,  141,
-
-      142,  143,  144,  145,  145,  145,  146,  147,  145,  145,
-      148,  145,  145,  149,  150,  145,  151,  152,  153,  145,
-      145,  -34,  -34,  141,  142,  143,  144,  145,  145,  145,
-      146,  147,  145,  148,  145,  145,  149,  150,  145,  151,
-      152,  153,  145,  145,  -34,  -34
-    },
-
-    {
-       27,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  154,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35
-    },
-
-    {
-       27,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  155,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36
-    },
-
-    {
-       27,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37
-    },
-
-    {
-       27,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  156,  -38
-    },
-
-    {
-       27,  -39,  -39,  -39,  -39,  -39,  157,  -39,  -39,  -39,
-      -39,  -39,  -39,  157,  157,  -39,  157,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39
-
-    },
-
-    {
-       27,  -40,  -40,  -40,  -40,  -40,  157,  -40,  -40,  -40,
-      -40,  -40,  -40,  157,  157,  -40,  158,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40
-    },
-
-    {
-       27,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41
-    },
-
-    {
-       27,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      159,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-
-      -42,  -42,  -42,  -42,  -42,  -42
-    },
-
-    {
-       27,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43
-    },
-
-    {
-       27,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      160,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44
-    },
-
-    {
-       27,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45
-    },
-
-    {
-       27,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      161,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  161,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46
-    },
-
-    {
-       27,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  162,
-
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47
-    },
-
-    {
-       27,  -48,  -48,  -48,  -48,  163,  -48,  -48,  -48,  -48,
-      -48,  164,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48
-    },
-
-    {
-       27,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  165,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49
-
-    },
-
-    {
-       27,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50
-    },
-
-    {
-       27,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51
-    },
-
-    {
-       27,  -52,  -52,  -52,  -52,  -52,  166,  -52,  -52,  -52,
-      -52,  -52,  -52,  166,  166,  -52,  166,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-
-      -52,  -52,  -52,  -52,  -52,  -52
-    },
-
-    {
-       27,  -53,  -53,  -53,  -53,  -53,  166,  -53,  -53,  -53,
-      -53,  -53,  -53,  166,  166,  -53,  167,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53
-    },
-
-    {
-       27,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54
-    },
-
-    {
-       27,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      168,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-
-      -55,  -55,  -55,  168,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55
-    },
-
-    {
-       27,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  169,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56
-    },
-
-    {
-       27,  -57,  -57,  -57,  -57,  170,  -57,  -57,  -57,  -57,
-
-      -57,  171,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57
-    },
-
-    {
-       27,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  172,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58
-    },
-
-    {
-       27,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59
-
-    },
-
-    {
-       27,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60
-    },
-
-    {
-       27,  -61,  -61,  -61,  -61,  -61,  173,  -61,  -61,  -61,
-      -61,  -61,  -61,  173,  173,  -61,  173,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61
-    },
-
-    {
-       27,  -62,  -62,  -62,  -62,  -62,  173,  -62,  -62,  -62,
-      -62,  -62,  -62,  173,  173,  -62,  174,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-
-      -62,  -62,  -62,  -62,  -62,  -62
-    },
-
-    {
-       27,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63
-    },
-
-    {
-       27,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      175,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  175,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64
-    },
-
-    {
-       27,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  176,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65
-    },
-
-    {
-       27,  -66,  -66,  -66,  -66,  177,  -66,  -66,  -66,  -66,
-      -66,  178,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66
-    },
-
-    {
-       27,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-
-      -67,  -67,  -67,  -67,  -67,  -67,  179,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67
-    },
-
-    {
-       27,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68
-    },
-
-    {
-       27,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69
-
-    },
-
-    {
-       27,  -70,  -70,  -70,  -70,  -70,  180,  -70,  -70,  -70,
-      -70,  -70,  -70,  180,  180,  -70,  180,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70
-    },
-
-    {
-       27,  -71,  -71,  -71,  -71,  -71,  180,  -71,  -71,  -71,
-      -71,  -71,  -71,  180,  180,  -71,  181,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71
-    },
-
-    {
-       27,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-
-      -72,  -72,  -72,  -72,  -72,  -72
-    },
-
-    {
-       27,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      182,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  182,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73
-    },
-
-    {
-       27,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  183,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74
-    },
-
-    {
-       27,  -75,  -75,  -75,  -75,  184,  -75,  -75,  -75,  -75,
-      -75,  185,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75
-    },
-
-    {
-       27,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  186,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76
-    },
-
-    {
-       27,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77
-    },
-
-    {
-       27,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78
-    },
-
-    {
-       27,  -79,  -79,  -79,  -79,  -79,  187,  -79,  -79,  -79,
-      -79,  -79,  -79,  187,  187,  -79,  187,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79
-
-    },
-
-    {
-       27,  -80,  -80,  -80,  -80,  -80,  187,  -80,  -80,  -80,
-      -80,  -80,  -80,  187,  187,  -80,  188,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80
-    },
-
-    {
-       27,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81
-    },
-
-    {
-       27,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      189,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  189,  -82,  -82,  -82,  -82,  -82,  -82,
-
-      -82,  -82,  -82,  -82,  -82,  -82
-    },
-
-    {
-       27,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  190,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83
-    },
-
-    {
-       27,  -84,  -84,  -84,  -84,  191,  -84,  -84,  -84,  -84,
-      -84,  192,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84
-    },
-
-    {
-       27,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  193,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85
-    },
-
-    {
-       27,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86
-    },
-
-    {
-       27,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87
-    },
-
-    {
-       27,  -88,  -88,  -88,  -88,  -88,  194,  -88,  -88,  -88,
-      -88,  -88,  -88,  194,  194,  -88,  194,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88
-    },
-
-    {
-       27,  -89,  -89,  -89,  -89,  -89,  194,  -89,  -89,  -89,
-      -89,  -89,  -89,  194,  194,  -89,  195,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89
-
-    },
-
-    {
-       27,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90
-    },
-
-    {
-       27,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-
-      196,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  196,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91
-    },
-
-    {
-       27,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  197,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-
-      -92,  -92,  -92,  -92,  -92,  -92
-    },
-
-    {
-       27,  -93,  -93,  -93,  -93,  198,  -93,  -93,  -93,  -93,
-      -93,  199,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93
-    },
-
-    {
-       27,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  200,  -94,  -94,  -94,
-
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94
-    },
-
-    {
-       27,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95
-    },
-
-    {
-       27,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96
-    },
-
-    {
-       27,  -97,  -97,  -97,  -97,  -97,  201,  -97,  -97,  -97,
-
-      -97,  -97,  -97,  201,  201,  -97,  201,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97
-    },
-
-    {
-       27,  -98,  -98,  -98,  -98,  -98,  201,  -98,  -98,  -98,
-      -98,  -98,  -98,  201,  201,  -98,  202,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98
-    },
-
-    {
-       27,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99
-
-    },
-
-    {
-       27, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-      203, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100,  203, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100
-    },
-
-    {
-       27, -101, -101, -101, -101, -101, -101, -101, -101,  204,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101
-    },
-
-    {
-       27, -102, -102, -102, -102,  205, -102, -102, -102, -102,
-     -102,  206, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-
-     -102, -102, -102, -102, -102, -102
-    },
-
-    {
-       27, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103,  207, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103
-    },
-
-    {
-       27, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104
-    },
-
-    {
-       27, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105
-    },
-
-    {
-       27, -106, -106, -106, -106, -106,  208, -106, -106, -106,
-     -106, -106, -106,  208,  208, -106,  208, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106
-    },
-
-    {
-       27, -107, -107, -107, -107, -107,  208, -107, -107, -107,
-
-     -107, -107, -107,  208,  208, -107,  209, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107
-    },
-
-    {
-       27, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108
-    },
-
-    {
-       27, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-      210, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109,  210, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109
-
-    },
-
-    {
-       27, -110, -110, -110, -110, -110, -110, -110, -110,  211,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110
-    },
-
-    {
-       27, -111, -111, -111, -111,  212, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111
-    },
-
-    {
-       27, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112,  213, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-
-     -112, -112, -112, -112, -112, -112
-    },
-
-    {
-       27, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113
-    },
-
-    {
-       27, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114
-    },
-
-    {
-       27, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115,  214
-    },
-
-    {
-       27, -116, -116, -116, -116, -116,  215, -116, -116, -116,
-     -116, -116, -116,  215,  215, -116,  215, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116
-    },
-
-    {
-       27, -117, -117, -117, -117, -117,  215, -117, -117, -117,
-
-     -117, -117, -117,  215,  215, -117,  216, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117
-    },
-
-    {
-       27, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118
-    },
-
-    {
-       27, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-      217, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119,  217, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119
-
-    },
-
-    {
-       27, -120, -120, -120, -120, -120, -120, -120, -120,  218,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120
-    },
-
-    {
-       27, -121, -121, -121, -121,  219, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121
-    },
-
-    {
-       27, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122,  220, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-
-     -122, -122, -122, -122, -122, -122
-    },
-
-    {
-       27, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123
-    },
-
-    {
-       27, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124
-    },
-
-    {
-       27, -125, -125, -125, -125, -125,  221, -125, -125, -125,
-     -125, -125, -125,  221,  221, -125,  221, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125
-    },
-
-    {
-       27, -126, -126, -126, -126, -126,  221, -126, -126, -126,
-     -126, -126, -126,  221,  221, -126,  222, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126
-    },
-
-    {
-       27, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127
-    },
-
-    {
-       27, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-      223, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128,  223, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128
-    },
-
-    {
-       27, -129, -129, -129, -129, -129, -129, -129, -129,  224,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129
-
-    },
-
-    {
-       27, -130, -130, -130, -130,  225, -130, -130, -130, -130,
-     -130,  226, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130
-    },
-
-    {
-       27, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131,  227, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131
-    },
-
-    {
-       27, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-
-     -132, -132, -132, -132, -132, -132
-    },
-
-    {
-       27, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133
-    },
-
-    {
-       27, -134, -134, -134, -134, -134,  228, -134, -134, -134,
-     -134, -134, -134,  228,  228, -134,  228, -134, -134, -134,
-
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134
-    },
-
-    {
-       27, -135, -135, -135, -135, -135,  228, -135, -135, -135,
-     -135, -135, -135,  228,  228, -135,  229, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135
-    },
-
-    {
-       27, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136,  230, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-      230, -136, -136, -136, -136, -136
-    },
-
-    {
-       27, -137, -137, -137, -137, -137, -137, -137, -137,  137,
-
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137
-    },
-
-    {
-       27, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-      231, -138, -138, -138, -138, -138, -138, -138, -138,  232,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-
-      232, -138, -138,  232,  232,  232,  232,  232,  232,  232,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-      232,  232,  232,  232, -138, -138
-    },
-
-    {
-       27, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139,  233,
-      234,  233,  235,  233,  233,  233,  236,  233,  233,  233,
-      237,  233,  233,  238,  239,  233,  233,  240,  241,  233,
-      233, -139, -139,  233,  234,  233,  235,  233,  233,  233,
-      236,  233,  233,  237,  233,  233,  238,  239,  233,  233,
-      240,  241,  233,  233, -139, -139
-
-    },
-
-    {
-       27, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140,  232,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-      232, -140, -140,  232,  232,  232,  232,  232,  232,  232,
-      232,  232,  232,  232,  232,  232,  232,  232,  232,  232,
-      232,  232,  232,  232, -140, -140
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  244,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  244,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  245,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  245,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  246,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  246,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  247,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  247,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  248,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  249,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  249,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  250,  242,  242,  242,  242,  242,  242,  242,
-      242,  251,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  250,  242,  242,  242,
-      242,  242,  242,  242,  251,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  252,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  252,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      253,  242,  242,  242,  254,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  253,  242,  242,  242,  254,  242,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  242,  242,  242,  255,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  256,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  257,  242,  242,  242,  242,  242,  258,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  259,  242,  242,
-      242,  242,  242,  242,  242,  257,  242,  242,  242,  242,
-      242,  258,  242,  242,  242,  242,  242,  242,  242,  242,
-      259,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  260,  242,  242,  242,  261,  262,  242,  242,
-      242,  242,  242,  242,  242,  263,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  260,  242,  242,  242,
-      261,  262,  242,  242,  242,  242,  242,  242,  263,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      264,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  264,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154,  154, -154, -154, -154,
-
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154
-    },
-
-    {
-       27, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155,  265,
-      265,  265,  265,  265,  266,  265,  265,  267,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-      265, -155, -155,  265,  265,  265,  265,  265,  266,  265,
-
-      265,  267,  265,  265,  265,  265,  265,  265,  265,  265,
-      265,  265,  265,  265, -155, -155
-    },
-
-    {
-       27, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156
-    },
-
-    {
-       27, -157, -157, -157, -157, -157,  157, -157, -157, -157,
-
-     -157, -157, -157,  157,  157, -157,  157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157
-    },
-
-    {
-       27, -158, -158, -158, -158, -158,  157, -158, -158, -158,
-     -158, -158, -158,  157,  157, -158,  158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158
-    },
-
-    {
-       27, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159,  268, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159
-
-    },
-
-    {
-       27, -160, -160, -160, -160, -160, -160, -160,  269, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160
-    },
-
-    {
-       27, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-
-     -161, -161, -161, -161, -161, -161, -161,  270, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-      270, -161, -161, -161, -161, -161
-    },
-
-    {
-       27, -162, -162, -162, -162, -162, -162, -162, -162,  162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-
-     -162, -162, -162, -162, -162, -162
-    },
-
-    {
-       27, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-      271, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163
-    },
-
-    {
-       27, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164,  272, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164,  272,
-     -164, -164, -164, -164, -164, -164
-    },
-
-    {
-       27, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165,  165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165
-    },
-
-    {
-       27, -166, -166, -166, -166, -166,  166, -166, -166, -166,
-     -166, -166, -166,  166,  166, -166,  166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166
-    },
-
-    {
-       27, -167, -167, -167, -167, -167,  166, -167, -167, -167,
-
-     -167, -167, -167,  166,  166, -167,  167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167
-    },
-
-    {
-       27, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168,  273, -168, -168,
-
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-      273, -168, -168, -168, -168, -168
-    },
-
-    {
-       27, -169, -169, -169, -169, -169, -169, -169, -169,  169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169
-
-    },
-
-    {
-       27, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-      274, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170
-    },
-
-    {
-       27, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171,  275,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171,  275, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171
-    },
-
-    {
-       27, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172,  172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-
-     -172, -172, -172, -172, -172, -172
-    },
-
-    {
-       27, -173, -173, -173, -173, -173,  173, -173, -173, -173,
-     -173, -173, -173,  173,  173, -173,  173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173
-    },
-
-    {
-       27, -174, -174, -174, -174, -174,  173, -174, -174, -174,
-     -174, -174, -174,  173,  173, -174,  174, -174, -174, -174,
-
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174
-    },
-
-    {
-       27, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175,  276, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-      276, -175, -175, -175, -175, -175
-    },
-
-    {
-       27, -176, -176, -176, -176, -176, -176, -176, -176,  176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176
-    },
-
-    {
-       27, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-
-      277, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177
-    },
-
-    {
-       27, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178,  278, -178, -178, -178,
-
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178,  278,
-     -178, -178, -178, -178, -178, -178
-    },
-
-    {
-       27, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179,  179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179
-
-    },
-
-    {
-       27, -180, -180, -180, -180, -180,  180, -180, -180, -180,
-     -180, -180, -180,  180,  180, -180,  180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180
-    },
-
-    {
-       27, -181, -181, -181, -181, -181,  180, -181, -181, -181,
-     -181, -181, -181,  180,  180, -181,  181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181
-    },
-
-    {
-       27, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182,  279, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-
-      279, -182, -182, -182, -182, -182
-    },
-
-    {
-       27, -183, -183, -183, -183, -183, -183, -183, -183,  183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183
-    },
-
-    {
-       27, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-      280, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184
-    },
-
-    {
-       27, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185,  281, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185,  281, -185, -185, -185, -185,
-
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185
-    },
-
-    {
-       27, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186,  186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186
-    },
-
-    {
-       27, -187, -187, -187, -187, -187,  187, -187, -187, -187,
-
-     -187, -187, -187,  187,  187, -187,  187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187
-    },
-
-    {
-       27, -188, -188, -188, -188, -188,  187, -188, -188, -188,
-     -188, -188, -188,  187,  187, -188,  188, -188, -188, -188,
-     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-
-     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-     -188, -188, -188, -188, -188, -188
-    },
-
-    {
-       27, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189,  282, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-      282, -189, -189, -189, -189, -189
-
-    },
-
-    {
-       27, -190, -190, -190, -190, -190, -190, -190, -190,  190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190
-    },
-
-    {
-       27, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-      283, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191
-    },
-
-    {
-       27, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192, -192, -192, -192, -192,  284, -192, -192,
-     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192,  284, -192, -192, -192, -192, -192, -192, -192, -192,
-
-     -192, -192, -192, -192, -192, -192
-    },
-
-    {
-       27, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193,  193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193
-    },
-
-    {
-       27, -194, -194, -194, -194, -194,  194, -194, -194, -194,
-     -194, -194, -194,  194,  194, -194,  194, -194, -194, -194,
-
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194
-    },
-
-    {
-       27, -195, -195, -195, -195, -195,  194, -195, -195, -195,
-     -195, -195, -195,  194,  194, -195,  195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195
-    },
-
-    {
-       27, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196,  285, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-      285, -196, -196, -196, -196, -196
-    },
-
-    {
-       27, -197, -197, -197, -197, -197, -197, -197, -197,  197,
-
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197
-    },
-
-    {
-       27, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-      286, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198
-    },
-
-    {
-       27, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199,  287, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199,  287, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199
-
-    },
-
-    {
-       27, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200,  200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200
-    },
-
-    {
-       27, -201, -201, -201, -201, -201,  201, -201, -201, -201,
-     -201, -201, -201,  201,  201, -201,  201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201
-    },
-
-    {
-       27, -202, -202, -202, -202, -202,  201, -202, -202, -202,
-     -202, -202, -202,  201,  201, -202,  202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-
-     -202, -202, -202, -202, -202, -202
-    },
-
-    {
-       27, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203,  288, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-      288, -203, -203, -203, -203, -203
-    },
-
-    {
-       27, -204, -204, -204, -204, -204, -204, -204, -204,  204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204, -204, -204
-    },
-
-    {
-       27, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-      289, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205, -205, -205, -205, -205
-    },
-
-    {
-       27, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206,  290, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-      290, -206, -206, -206, -206, -206
-    },
-
-    {
-       27, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-
-     -207, -207, -207, -207, -207, -207,  207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207
-    },
-
-    {
-       27, -208, -208, -208, -208, -208,  208, -208, -208, -208,
-     -208, -208, -208,  208,  208, -208,  208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208
-    },
-
-    {
-       27, -209, -209, -209, -209, -209,  208, -209, -209, -209,
-     -209, -209, -209,  208,  208, -209,  209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209
-
-    },
-
-    {
-       27, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210,  291, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-      291, -210, -210, -210, -210, -210
-    },
-
-    {
-       27, -211, -211, -211, -211, -211, -211, -211, -211,  211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211
-    },
-
-    {
-       27, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-      292, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-
-     -212, -212, -212, -212, -212, -212
-    },
-
-    {
-       27, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213,  213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213
-    },
-
-    {
-       27, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214
-    },
-
-    {
-       27, -215, -215, -215, -215, -215,  215, -215, -215, -215,
-     -215, -215, -215,  215,  215, -215,  215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215
-    },
-
-    {
-       27, -216, -216, -216, -216, -216,  215, -216, -216, -216,
-     -216, -216, -216,  215,  215, -216,  216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216
-    },
-
-    {
-       27, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217,  293, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-      293, -217, -217, -217, -217, -217
-    },
-
-    {
-       27, -218, -218, -218, -218, -218, -218, -218, -218,  218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218
-    },
-
-    {
-       27, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-      294, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219
-
-    },
-
-    {
-       27, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220,  220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220
-    },
-
-    {
-       27, -221, -221, -221, -221, -221,  221, -221, -221, -221,
-     -221, -221, -221,  221,  221, -221,  221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221
-    },
-
-    {
-       27, -222, -222, -222, -222, -222,  221, -222, -222, -222,
-     -222, -222, -222,  221,  221, -222,  222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-
-     -222, -222, -222, -222, -222, -222
-    },
-
-    {
-       27, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223,  295, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-      295, -223, -223, -223, -223, -223
-    },
-
-    {
-       27, -224, -224, -224, -224, -224, -224, -224, -224,  224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224
-    },
-
-    {
-       27, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-      296, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225
-    },
-
-    {
-       27, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226,  297, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226,  297,
-     -226, -226, -226, -226, -226, -226
-    },
-
-    {
-       27, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-
-     -227, -227, -227, -227, -227, -227,  227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227
-    },
-
-    {
-       27, -228, -228, -228, -228, -228,  228, -228, -228, -228,
-     -228, -228, -228,  228,  228, -228,  228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228
-    },
-
-    {
-       27, -229, -229, -229, -229, -229,  228, -229, -229, -229,
-     -229, -229, -229,  228,  228, -229,  229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229
-
-    },
-
-    {
-       27, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230,  298, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230
-    },
-
-    {
-       27, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-      299, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231
-    },
-
-    {
-       27,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  301,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-
-      300,  300,  300,  300,  300,  300
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  304,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  304,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  305,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  305,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  306,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  307,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  307,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  308,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  308,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      309,  302,  302,  302,  310,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  309,  302,  302,  302,  310,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  311,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  312,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  313,  302,  302,  302,  314,  315,  302,  302,
-      302,  302,  302,  302,  302,  316,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  313,  302,  302,  302,
-      314,  315,  302,  302,  302,  302,  302,  302,  316,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      317,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  317,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  318,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  318,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  319,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  256,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  320,  321,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  320,  321,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  322,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  322,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  323,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  324,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  325,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  256,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  326,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  327,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  327,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  328,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  329,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  330,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  330,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  331,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  329,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  332,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      332,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  256,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333
-    },
-
-    {
-       27, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  334,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  334,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  335,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      335,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      336,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  336,  242,  242
-
-    },
-
-    {
-       27,  242,  242,  242,  337,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  338,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  339,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  338,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  340,  242,  242,  242,  242,  242,  341,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  340,  242,  242,  242,  242,  242,
-
-      341,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  342,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  338,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  343,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  329,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265, -265, -265, -265,  344,
-      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
-      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
-      344, -265, -265,  344,  344,  344,  344,  344,  344,  344,
-
-      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
-      344,  344,  344,  344, -265, -265
-    },
-
-    {
-       27, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266,  344,
-      344,  344,  344,  344,  344,  344,  344,  345,  344,  344,
-      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
-      344, -266, -266,  344,  344,  344,  344,  344,  344,  344,
-      344,  345,  344,  344,  344,  344,  344,  344,  344,  344,
-      344,  344,  344,  344, -266, -266
-    },
-
-    {
-       27, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-
-     -267, -267, -267, -267, -267, -267, -267, -267, -267,  344,
-      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
-      344,  346,  344,  344,  344,  344,  344,  344,  344,  344,
-      344, -267, -267,  344,  344,  344,  344,  344,  344,  344,
-      344,  344,  344,  344,  346,  344,  344,  344,  344,  344,
-      344,  344,  344,  344, -267, -267
-    },
-
-    {
-       27, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268
-    },
-
-    {
-       27, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269,  347, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269,  347,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269
-
-    },
-
-    {
-       27, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270,  348, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270
-    },
-
-    {
-       27, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-      349, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271
-    },
-
-    {
-       27, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-     -272,  350, -272, -272, -272, -272, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272,  350, -272, -272, -272, -272,
-     -272, -272, -272, -272, -272, -272, -272, -272, -272, -272,
-
-     -272, -272, -272, -272, -272, -272
-    },
-
-    {
-       27, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273,  351, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273
-    },
-
-    {
-       27, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-      352, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274
-    },
-
-    {
-       27, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-     -275, -275, -275, -275,  353, -275, -275, -275, -275, -275,
-     -275, -275, -275, -275, -275, -275, -275, -275, -275, -275,
-
-     -275, -275, -275, -275, -275, -275, -275,  353, -275, -275,
-     -275, -275, -275, -275, -275, -275
-    },
-
-    {
-       27, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276,  354, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276, -276, -276, -276, -276,
-     -276, -276, -276, -276, -276, -276
-    },
-
-    {
-       27, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-
-      355, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277, -277, -277, -277, -277,
-     -277, -277, -277, -277, -277, -277
-    },
-
-    {
-       27, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278,  356, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278,  356, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278
-    },
-
-    {
-       27, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279,  357, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279, -279, -279, -279, -279,
-     -279, -279, -279, -279, -279, -279
-
-    },
-
-    {
-       27, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-      358, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280
-    },
-
-    {
-       27, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-
-     -281, -281, -281,  359, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281,  359, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281
-    },
-
-    {
-       27, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282,  360, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-
-     -282, -282, -282, -282, -282, -282
-    },
-
-    {
-       27, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-      361, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283, -283, -283, -283, -283,
-     -283, -283, -283, -283, -283, -283
-    },
-
-    {
-       27, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-
-     -284, -284,  362, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284,  362, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284
-    },
-
-    {
-       27, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285,  363, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285
-    },
-
-    {
-       27, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-      364, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286, -286, -286, -286, -286,
-     -286, -286, -286, -286, -286, -286
-    },
-
-    {
-       27, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287,  365, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287,  365, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287
-    },
-
-    {
-       27, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288,  366, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288
-    },
-
-    {
-       27, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-      367, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289, -289, -289, -289, -289,
-     -289, -289, -289, -289, -289, -289
-
-    },
-
-    {
-       27, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290, -290, -290,  368, -290, -290,
-     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290,  368, -290, -290, -290, -290, -290, -290, -290, -290,
-     -290, -290, -290, -290, -290, -290
-    },
-
-    {
-       27, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291,  369, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291
-    },
-
-    {
-       27, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-      370, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-     -292, -292, -292, -292, -292, -292, -292, -292, -292, -292,
-
-     -292, -292, -292, -292, -292, -292
-    },
-
-    {
-       27, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293,  371, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293, -293, -293, -293, -293,
-     -293, -293, -293, -293, -293, -293
-    },
-
-    {
-       27, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-      372, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-
-     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294, -294, -294, -294, -294, -294,
-     -294, -294, -294, -294, -294, -294
-    },
-
-    {
-       27, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295,  373, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295
-    },
-
-    {
-       27, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-      374, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296
-    },
-
-    {
-       27, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297,  375, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-      375, -297, -297, -297, -297, -297
-    },
-
-    {
-       27, -298, -298, -298, -298,  376, -298, -298, -298, -298,
-     -298,  377, -298, -298, -298, -298, -298, -298, -298,  378,
-      378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
-      378,  379,  378,  378,  378,  378,  378,  378,  378,  378,
-
-      378, -298, -298,  378,  378,  378,  378,  378,  378,  378,
-      378,  378,  378,  378,  379,  378,  378,  378,  378,  378,
-      378,  378,  378,  378, -298, -298
-    },
-
-    {
-       27, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299
-
-    },
-
-    {
-       27,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  301,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
-      300,  300,  300,  300,  300,  300
-    },
-
-    {
-       27, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303, -303, -303, -303, -303,
-     -303, -303, -303, -303, -303, -303
-    },
-
-    {
-       27,  302,  302,  302,  380,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  312,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  381,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  381,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  382,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  383,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  384,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  312,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  385,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  386,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  387,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  386,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  388,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      388,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  312,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389
-    },
-
-    {
-       27, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-
-     -312, -312, -312, -312, -312, -312
-    },
-
-    {
-       27,  302,  302,  302,  390,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  391,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  392,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  391,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  393,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      393,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  394,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  391,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  302,  302,  302,  395,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  386,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  396,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  396,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  256,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  398,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  398,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  399,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      399,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  400,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  324,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  324,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401
-    },
-
-    {
-       27, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324
-    },
-
-    {
-       27,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  256,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402
-    },
-
-    {
-       27, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326
-    },
-
-    {
-       27,  242,  242,  242,  403,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  404,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  329,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405
-    },
-
-    {
-       27, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  406,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  406,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  329,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  408,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  408,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  256,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333,  333,  333,  333,  333,
-      333,  333,  333,  333,  333,  333
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  409,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  409,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  410,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  410,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      411,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  411,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-
-      412,  412,  412,  412,  412,  412,  412,  338,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412
-    },
-
-    {
-       27, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338
-    },
-
-    {
-       27,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  338,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  414,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  414,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      415,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  415,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  338,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-
-      416,  416,  416,  416,  416,  416
-    },
-
-    {
-       27,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  329,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417
-    },
-
-    {
-       27, -344, -344, -344, -344, -344, -344, -344, -344, -344,
-     -344, -344, -344,  418, -344, -344, -344, -344, -344,  419,
-
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      419, -344, -344,  419,  419,  419,  419,  419,  419,  419,
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      419,  419,  419,  419, -344, -344
-    },
-
-    {
-       27, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345,  418, -345, -345, -345, -345, -345,  419,
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      420,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      419, -345, -345,  419,  419,  419,  419,  419,  419,  419,
-
-      419,  419,  419,  420,  419,  419,  419,  419,  419,  419,
-      419,  419,  419,  419, -345, -345
-    },
-
-    {
-       27, -346, -346, -346, -346, -346, -346, -346, -346, -346,
-     -346, -346, -346,  418, -346, -346, -346, -346, -346,  421,
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      419, -346, -346,  421,  419,  419,  419,  419,  419,  419,
-      419,  419,  419,  419,  419,  419,  419,  419,  419,  419,
-      419,  419,  419,  419, -346, -346
-    },
-
-    {
-       27, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347,  422, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-      422, -347, -347, -347, -347, -347
-    },
-
-    {
-       27, -348, -348, -348, -348,  423, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348
-    },
-
-    {
-       27, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349, -349, -349, -349, -349,
-     -349, -349, -349, -349, -349, -349
-
-    },
-
-    {
-       27, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350,  424, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350,  424, -350,
-     -350, -350, -350, -350, -350, -350
-    },
-
-    {
-       27, -351, -351, -351, -351,  425, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351, -351, -351, -351, -351,
-     -351, -351, -351, -351, -351, -351
-    },
-
-    {
-       27, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-     -352, -352, -352, -352, -352, -352, -352, -352, -352, -352,
-
-     -352, -352, -352, -352, -352, -352
-    },
-
-    {
-       27, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353,  426, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353,  426, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353
-    },
-
-    {
-       27, -354, -354, -354, -354,  427, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354, -354, -354, -354, -354,
-     -354, -354, -354, -354, -354, -354
-    },
-
-    {
-       27, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-
-     -355, -355, -355, -355, -355, -355, -355, -355, -355, -355,
-     -355, -355, -355, -355, -355, -355
-    },
-
-    {
-       27, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356,  428, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-      428, -356, -356, -356, -356, -356
-    },
-
-    {
-       27, -357, -357, -357, -357,  429, -357, -357, -357, -357,
-
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357, -357, -357, -357, -357,
-     -357, -357, -357, -357, -357, -357
-    },
-
-    {
-       27, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358, -358, -358, -358, -358,
-     -358, -358, -358, -358, -358, -358
-    },
-
-    {
-       27, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359,  430, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359,  430, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359
-
-    },
-
-    {
-       27, -360, -360, -360, -360,  431, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360
-    },
-
-    {
-       27, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361, -361, -361, -361, -361,
-     -361, -361, -361, -361, -361, -361
-    },
-
-    {
-       27, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362,  432, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-     -362, -362, -362, -362, -362, -362, -362, -362, -362, -362,
-
-     -362, -362, -362, -362, -362, -362
-    },
-
-    {
-       27, -363, -363, -363, -363,  433, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363
-    },
-
-    {
-       27, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364, -364, -364, -364, -364, -364,
-     -364, -364, -364, -364, -364, -364
-    },
-
-    {
-       27, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365,  434, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-
-     -365, -365, -365, -365, -365,  434, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365
-    },
-
-    {
-       27, -366, -366, -366, -366,  435, -366, -366, -366, -366,
-     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
-     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
-     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
-     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
-     -366, -366, -366, -366, -366, -366, -366, -366, -366, -366,
-     -366, -366, -366, -366, -366, -366
-    },
-
-    {
-       27, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367
-    },
-
-    {
-       27, -368, -368, -368, -368, -368, -368, -368, -368, -368,
-     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
-     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
-     -368,  436, -368, -368, -368, -368, -368, -368, -368, -368,
-
-     -368, -368, -368, -368, -368, -368, -368, -368, -368, -368,
-     -368, -368, -368, -368,  436, -368, -368, -368, -368, -368,
-     -368, -368, -368, -368, -368, -368
-    },
-
-    {
-       27, -369, -369, -369, -369,  437, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369
-
-    },
-
-    {
-       27, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370
-    },
-
-    {
-       27, -371, -371, -371, -371,  438, -371, -371, -371, -371,
-     -371,  439, -371, -371, -371, -371, -371, -371, -371, -371,
-     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
-
-     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
-     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
-     -371, -371, -371, -371, -371, -371, -371, -371, -371, -371,
-     -371, -371, -371, -371, -371, -371
-    },
-
-    {
-       27, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-
-     -372, -372, -372, -372, -372, -372
-    },
-
-    {
-       27, -373, -373, -373, -373,  440, -373, -373, -373, -373,
-     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
-     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
-     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
-     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
-     -373, -373, -373, -373, -373, -373, -373, -373, -373, -373,
-     -373, -373, -373, -373, -373, -373
-    },
-
-    {
-       27, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374
-    },
-
-    {
-       27, -375, -375, -375, -375, -375, -375, -375, -375, -375,
-     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
-     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
-     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
-      441, -375, -375, -375, -375, -375, -375, -375, -375, -375,
-
-     -375, -375, -375, -375, -375, -375, -375, -375, -375, -375,
-     -375, -375, -375,  441, -375, -375
-    },
-
-    {
-       27, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-      442, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376
-    },
-
-    {
-       27, -377, -377, -377, -377, -377, -377, -377, -377, -377,
-
-     -377, -377, -377, -377, -377, -377, -377, -377, -377,  443,
-      443,  443,  443,  443,  443,  443,  443,  443,  443,  443,
-      443,  443,  443,  443,  443,  443,  443,  443,  443,  443,
-      443, -377, -377,  443,  443,  443,  443,  443,  443,  443,
-      443,  443,  443,  443,  443,  443,  443,  443,  443,  443,
-      443,  443,  443,  443, -377, -377
-    },
-
-    {
-       27,  444,  444,  444,  444,  444,  444,  444,  445,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444
-    },
-
-    {
-       27,  444,  444,  444,  444,  444,  444,  444,  445,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  446,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  446,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444
-
-    },
-
-    {
-       27,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  312,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447
-    },
-
-    {
-       27,  302,  302,  302,  448,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  383,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  383,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-
-      449,  449,  449,  449,  449,  449
-    },
-
-    {
-       27, -383, -383, -383, -383, -383, -383, -383, -383, -383,
-     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
-     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
-     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
-     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
-     -383, -383, -383, -383, -383, -383, -383, -383, -383, -383,
-     -383, -383, -383, -383, -383, -383
-    },
-
-    {
-       27,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  312,  450,  450,
-
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450
-    },
-
-    {
-       27,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  386,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451
-    },
-
-    {
-       27, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386
-    },
-
-    {
-       27,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-
-      452,  452,  452,  452,  452,  452,  452,  386,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  453,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  453,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  312,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
-      389,  389,  389,  389,  389,  389
-
-    },
-
-    {
-       27,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  391,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454
-    },
-
-    {
-       27, -391, -391, -391, -391, -391, -391, -391, -391, -391,
-     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
-     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
-
-     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
-     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
-     -391, -391, -391, -391, -391, -391, -391, -391, -391, -391,
-     -391, -391, -391, -391, -391, -391
-    },
-
-    {
-       27,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  391,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-
-      455,  455,  455,  455,  455,  455
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      456,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  456,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  391,  457,  457,
-
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457
-    },
-
-    {
-       27,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  386,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  459,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      459,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-
-      397,  397,  397,  397,  397,  397,  397,  256,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397,  397,  397,  397,  397,
-      397,  397,  397,  397,  397,  397
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  460,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  460,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  461,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  461,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  324,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462
-    },
-
-    {
-       27,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  324,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401,  401,  401,  401,  401,
-      401,  401,  401,  401,  401,  401
-    },
-
-    {
-       27,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  256,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
-
-      402,  402,  402,  402,  402,  402
-    },
-
-    {
-       27,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  404,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463
-    },
-
-    {
-       27, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404, -404, -404, -404, -404,
-     -404, -404, -404, -404, -404, -404
-    },
-
-    {
-       27,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  329,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-
-      405,  405,  405,  405,  405,  405,  405,  405,  405,  405,
-      405,  405,  405,  405,  405,  405
-    },
-
-    {
-       27,  242,  242,  242,  403,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  404,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-
-      407,  407,  407,  407,  407,  407,  407,  329,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407,  407,  407,  407,  407,
-      407,  407,  407,  407,  407,  407
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  464,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  464,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  465,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  465,  242,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  466,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  466,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  467,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  467,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  338,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-      412,  412,  412,  412,  412,  412,  412,  412,  412,  412,
-
-      412,  412,  412,  412,  412,  412
-    },
-
-    {
-       27,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  338,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413,  413,  413,  413,  413,
-      413,  413,  413,  413,  413,  413
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  468,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  468,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  469,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  469,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  338,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416,  416,  416,  416,  416,
-      416,  416,  416,  416,  416,  416
-    },
-
-    {
-       27,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-
-      417,  417,  417,  417,  417,  417,  417,  329,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417,  417,  417,  417,  417,
-      417,  417,  417,  417,  417,  417
-    },
-
-    {
-       27,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-
-      470,  470,  471,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470
-    },
-
-    {
-       27, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419,  418, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419, -419, -419, -419, -419,
-     -419, -419, -419, -419, -419, -419
-
-    },
-
-    {
-       27, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420,  418, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420,  472, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420, -420, -420, -420, -420,  472, -420, -420,
-     -420, -420, -420, -420, -420, -420, -420, -420, -420, -420,
-     -420, -420, -420, -420, -420, -420
-    },
-
-    {
-       27, -421, -421, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421,  418, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421, -421, -421,  473, -421, -421, -421, -421,
-
-     -421, -421, -421, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421, -421, -421, -421, -421, -421, -421,  473,
-     -421, -421, -421, -421, -421, -421, -421, -421, -421, -421,
-     -421, -421, -421, -421, -421, -421
-    },
-
-    {
-       27, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422,  474, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-     -422, -422, -422, -422, -422, -422, -422, -422, -422, -422,
-
-     -422, -422, -422, -422, -422, -422
-    },
-
-    {
-       27, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-      475, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423, -423, -423, -423, -423,
-     -423, -423, -423, -423, -423, -423
-    },
-
-    {
-       27, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-
-     -424, -424, -424, -424, -424, -424, -424,  476, -424, -424,
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424,  476, -424, -424, -424, -424, -424, -424, -424, -424,
-     -424, -424, -424, -424, -424, -424
-    },
-
-    {
-       27, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-      477, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-
-     -425, -425, -425, -425, -425, -425, -425, -425, -425, -425,
-     -425, -425, -425, -425, -425, -425
-    },
-
-    {
-       27, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426,  478, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426, -426, -426, -426, -426,
-     -426, -426, -426, -426, -426, -426, -426, -426,  478, -426,
-     -426, -426, -426, -426, -426, -426
-    },
-
-    {
-       27, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-
-      479, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427, -427, -427, -427, -427,
-     -427, -427, -427, -427, -427, -427
-    },
-
-    {
-       27, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428,  480, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-
-     -428, -428, -428, -428, -428, -428, -428,  480, -428, -428,
-     -428, -428, -428, -428, -428, -428, -428, -428, -428, -428,
-     -428, -428, -428, -428, -428, -428
-    },
-
-    {
-       27, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-      481, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429, -429, -429, -429, -429,
-     -429, -429, -429, -429, -429, -429
-
-    },
-
-    {
-       27, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430,  482, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430,  482, -430, -430, -430, -430, -430,
-     -430, -430, -430, -430, -430, -430
-    },
-
-    {
-       27, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-      483, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-
-     -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431, -431, -431, -431, -431, -431,
-     -431, -431, -431, -431, -431, -431
-    },
-
-    {
-       27, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-     -432, -432, -432, -432, -432, -432, -432, -432, -432, -432,
-
-     -432, -432, -432, -432, -432, -432
-    },
-
-    {
-       27, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-      484, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433, -433, -433, -433, -433,
-     -433, -433, -433, -433, -433, -433
-    },
-
-    {
-       27, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434,  485, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-      485, -434, -434, -434, -434, -434
-    },
-
-    {
-       27, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-      486, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435
-    },
-
-    {
-       27, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436,  487, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436,  487, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436
-    },
-
-    {
-       27, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-
-      488, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-     -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-     -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-     -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-     -437, -437, -437, -437, -437, -437, -437, -437, -437, -437,
-     -437, -437, -437, -437, -437, -437
-    },
-
-    {
-       27, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-      489, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438, -438, -438, -438, -438, -438,
-     -438, -438, -438, -438, -438, -438
-    },
-
-    {
-       27, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439,  490, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439,  490, -439, -439, -439, -439, -439,
-     -439, -439, -439, -439, -439, -439
-
-    },
-
-    {
-       27, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-      491, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440, -440, -440, -440, -440,
-     -440, -440, -440, -440, -440, -440
-    },
-
-    {
-       27, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-
-      492, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441,  492, -441, -441, -441, -441, -441, -441,
-     -441, -441, -441, -441, -441, -441
-    },
-
-    {
-       27, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-      493, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-     -442, -442, -442, -442, -442, -442, -442, -442, -442, -442,
-
-     -442, -442, -442, -442, -442, -442
-    },
-
-    {
-       27,  494,  494,  494,  494,  494,  494,  494,  495,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494
-    },
-
-    {
-       27,  444,  444,  444,  444,  444,  444,  444,  445,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444
-    },
-
-    {
-       27, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445,  496, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445, -445, -445, -445,  496,
-
-     -445, -445, -445, -445, -445, -445, -445, -445, -445, -445,
-     -445, -445, -445, -445, -445, -445
-    },
-
-    {
-       27,  444,  444,  444,  444,  444,  444,  444,  445,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  497,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      497,  444,  444,  444,  444,  444
-    },
-
-    {
-       27,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-
-      447,  447,  447,  447,  447,  447,  447,  312,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447,  447,  447,  447,  447,
-      447,  447,  447,  447,  447,  447
-    },
-
-    {
-       27,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  383,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498
-    },
-
-    {
-       27,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  383,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449,  449,  449,  449,  449,
-      449,  449,  449,  449,  449,  449
-
-    },
-
-    {
-       27,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  312,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450,  450,  450,  450,  450,
-      450,  450,  450,  450,  450,  450
-    },
-
-    {
-       27,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  386,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451,  451,  451,  451,  451,
-      451,  451,  451,  451,  451,  451
-    },
-
-    {
-       27,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  386,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-      452,  452,  452,  452,  452,  452,  452,  452,  452,  452,
-
-      452,  452,  452,  452,  452,  452
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  499,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  499,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  391,  454,  454,
-
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454,  454,  454,  454,  454,
-      454,  454,  454,  454,  454,  454
-    },
-
-    {
-       27,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  391,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-
-      455,  455,  455,  455,  455,  455,  455,  455,  455,  455,
-      455,  455,  455,  455,  455,  455
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  500,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  500,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-
-      457,  457,  457,  457,  457,  457,  457,  391,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457,  457,  457,  457,  457,
-      457,  457,  457,  457,  457,  457
-    },
-
-    {
-       27,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  386,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458,  458,  458,  458,  458,
-      458,  458,  458,  458,  458,  458
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  501,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  501,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  502,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  502,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  503,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  503,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  324,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-      462,  462,  462,  462,  462,  462,  462,  462,  462,  462,
-
-      462,  462,  462,  462,  462,  462
-    },
-
-    {
-       27,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  404,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463,  463,  463,  463,  463,
-      463,  463,  463,  463,  463,  463
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  504,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  504,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  505,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      505,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  506,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  506,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  507,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  508,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  509,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      509,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  510,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  324,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  471,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470,  470,  470,  470,  470,
-      470,  470,  470,  470,  470,  470
-    },
-
-    {
-       27, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-
-     -471, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471,  511, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471, -471, -471, -471, -471, -471,
-     -471, -471, -471, -471, -471, -471
-    },
-
-    {
-       27, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472,  418, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-     -472, -472, -472, -472, -472, -472, -472, -472, -472, -472,
-
-     -472, -472, -472, -472, -472, -472
-    },
-
-    {
-       27, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473,  512, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473, -473,  512, -473, -473,
-     -473, -473, -473, -473, -473, -473, -473, -473, -473, -473,
-     -473, -473, -473, -473, -473, -473
-    },
-
-    {
-       27, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474, -474, -474, -474, -474,
-     -474, -474, -474, -474, -474, -474
-    },
-
-    {
-       27, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-      513, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-
-     -475, -475, -475, -475, -475, -475, -475, -475, -475, -475,
-     -475, -475, -475, -475, -475, -475
-    },
-
-    {
-       27, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476,  514, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476,  514, -476, -476,
-     -476, -476, -476, -476, -476, -476
-    },
-
-    {
-       27, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-
-      515, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477
-    },
-
-    {
-       27, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478, -478, -478, -478, -478, -478,  516, -478, -478,
-
-     -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-     -478, -478, -478, -478, -478, -478, -478, -478, -478, -478,
-      516, -478, -478, -478, -478, -478
-    },
-
-    {
-       27, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-      517, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479, -479, -479, -479, -479, -479, -479, -479,
-     -479, -479, -479, -479, -479, -479
-
-    },
-
-    {
-       27, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480, -480, -480,  518, -480, -480,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480,  518, -480, -480, -480, -480, -480, -480, -480, -480,
-     -480, -480, -480, -480, -480, -480
-    },
-
-    {
-       27, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-      519, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-
-     -481, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481, -481, -481, -481, -481,
-     -481, -481, -481, -481, -481, -481
-    },
-
-    {
-       27, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482,  520, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482,  520, -482, -482,
-     -482, -482, -482, -482, -482, -482, -482, -482, -482, -482,
-
-     -482, -482, -482, -482, -482, -482
-    },
-
-    {
-       27, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-      521, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483, -483, -483, -483, -483,
-     -483, -483, -483, -483, -483, -483
-    },
-
-    {
-       27, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-      522, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-
-     -484, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484, -484, -484, -484, -484, -484, -484, -484, -484,
-     -484, -484, -484, -484, -484, -484
-    },
-
-    {
-       27, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485,  523, -485, -485, -485, -485,
-     -485, -485, -485, -485, -485, -485, -485, -485, -485, -485,
-
-     -485, -485, -485, -485, -485, -485, -485, -485,  523, -485,
-     -485, -485, -485, -485, -485, -485
-    },
-
-    {
-       27, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-      524, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486, -486, -486, -486, -486,
-     -486, -486, -486, -486, -486, -486
-    },
-
-    {
-       27, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487,  525, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487, -487, -487, -487, -487,
-     -487, -487, -487, -487, -487, -487, -487, -487, -487,  525,
-     -487, -487, -487, -487, -487, -487
-    },
-
-    {
-       27, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-      526, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-
-     -488, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488, -488, -488, -488, -488, -488, -488, -488, -488,
-     -488, -488, -488, -488, -488, -488
-    },
-
-    {
-       27, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-      527, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489, -489, -489, -489, -489,
-     -489, -489, -489, -489, -489, -489
-
-    },
-
-    {
-       27, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490, -490, -490, -490,  528,
-     -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490,  528, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490, -490, -490, -490, -490,
-     -490, -490, -490, -490, -490, -490
-    },
-
-    {
-       27, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-      529, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-
-     -491, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491, -491, -491, -491, -491,
-     -491, -491, -491, -491, -491, -491
-    },
-
-    {
-       27, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492,  530, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-     -492, -492, -492, -492, -492, -492, -492,  530, -492, -492,
-     -492, -492, -492, -492, -492, -492, -492, -492, -492, -492,
-
-     -492, -492, -492, -492, -492, -492
-    },
-
-    {
-       27, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493, -493, -493, -493, -493,
-     -493, -493, -493, -493, -493, -493
-    },
-
-    {
-       27,  494,  494,  494,  494,  494,  494,  494,  495,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494,  494,  494,  494,  494,
-      494,  494,  494,  494,  494,  494
-    },
-
-    {
-       27, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495,  531, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495, -495, -495, -495, -495,  531,
-
-     -495, -495, -495, -495, -495, -495, -495, -495, -495, -495,
-     -495, -495, -495, -495, -495, -495
-    },
-
-    {
-       27, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496,  532, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-     -496, -496, -496, -496, -496, -496, -496, -496, -496, -496,
-      532, -496, -496, -496, -496, -496
-    },
-
-    {
-       27,  444,  444,  444,  444,  444,  444,  444,  445,  444,
-
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  533,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      533,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444
-    },
-
-    {
-       27,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  383,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498,  498,  498,  498,  498,
-      498,  498,  498,  498,  498,  498
-    },
-
-    {
-       27,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  303,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  534,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  534,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-
-    },
-
-    {
-       27,  302,  302,  302,  535,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  383,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  536,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  536,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  537,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      537,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      538,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  538,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  539,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  324,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  540,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  541,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  542,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  542,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-
-      543,  543,  543,  543,  543,  543,  543,  508,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543
-    },
-
-    {
-       27, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  544,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  544,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  324,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545
-    },
-
-    {
-       27, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511, -511, -511, -511, -511,
-     -511, -511, -511, -511, -511, -511
-    },
-
-    {
-       27, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512,  418, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-     -512, -512, -512, -512, -512, -512, -512, -512, -512, -512,
-
-     -512, -512, -512, -512, -512, -512
-    },
-
-    {
-       27, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513, -513, -513, -513, -513,
-     -513, -513, -513, -513, -513, -513
-    },
-
-    {
-       27, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-
-     -514, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514, -514, -514, -514,  546, -514, -514,
-     -514, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-     -514, -514, -514, -514, -514, -514, -514, -514, -514, -514,
-      546, -514, -514, -514, -514, -514
-    },
-
-    {
-       27, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-
-     -515, -515, -515, -515, -515, -515, -515, -515, -515, -515,
-     -515, -515, -515, -515, -515, -515
-    },
-
-    {
-       27, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516,  547, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516,  547, -516, -516, -516, -516, -516, -516, -516, -516,
-     -516, -516, -516, -516, -516, -516
-    },
-
-    {
-       27, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517, -517, -517, -517, -517,
-     -517, -517, -517, -517, -517, -517
-    },
-
-    {
-       27, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518, -518,  548, -518, -518, -518, -518, -518, -518, -518,
-
-     -518, -518, -518, -518, -518, -518, -518, -518, -518, -518,
-     -518, -518, -518, -518, -518,  548, -518, -518, -518, -518,
-     -518, -518, -518, -518, -518, -518
-    },
-
-    {
-       27, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519, -519, -519, -519, -519,
-     -519, -519, -519, -519, -519, -519
-
-    },
-
-    {
-       27, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520,  549, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520, -520, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520,  549, -520, -520, -520, -520,
-     -520, -520, -520, -520, -520, -520
-    },
-
-    {
-       27, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-     -521, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-     -521, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-
-     -521, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-     -521, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-     -521, -521, -521, -521, -521, -521, -521, -521, -521, -521,
-     -521, -521, -521, -521, -521, -521
-    },
-
-    {
-       27, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-     -522, -522, -522, -522, -522, -522, -522, -522, -522, -522,
-
-     -522, -522, -522, -522, -522, -522
-    },
-
-    {
-       27, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523,  550, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523,  550, -523, -523, -523, -523, -523, -523, -523, -523,
-     -523, -523, -523, -523, -523, -523
-    },
-
-    {
-       27, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524, -524, -524, -524, -524,
-     -524, -524, -524, -524, -524, -524
-    },
-
-    {
-       27, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-     -525, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-     -525, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-     -525, -525, -525, -525, -525, -525, -525,  551, -525, -525,
-     -525, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-
-     -525, -525, -525, -525, -525, -525, -525, -525, -525, -525,
-      551, -525, -525, -525, -525, -525
-    },
-
-    {
-       27, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526, -526, -526, -526, -526,
-     -526, -526, -526, -526, -526, -526
-    },
-
-    {
-       27, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527, -527, -527, -527, -527, -527,
-     -527, -527, -527, -527, -527, -527
-    },
-
-    {
-       27, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528, -528, -528,  552, -528, -528,
-
-     -528, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-     -528, -528, -528, -528, -528, -528, -528, -528, -528, -528,
-      552, -528, -528, -528, -528, -528
-    },
-
-    {
-       27, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529
-
-    },
-
-    {
-       27, -530, -530, -530,  553, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530,  554, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530
-    },
-
-    {
-       27, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-
-     -531, -531, -531, -531, -531, -531, -531,  555, -531, -531,
-     -531, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-     -531, -531, -531, -531, -531, -531, -531, -531, -531, -531,
-      555, -531, -531, -531, -531, -531
-    },
-
-    {
-       27, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532,  556, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-     -532, -532, -532, -532, -532, -532, -532, -532, -532, -532,
-
-     -532, -532, -532, -532, -532, -532
-    },
-
-    {
-       27,  444,  444,  444,  444,  444,  444,  444,  557,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444,  444,  444,  444,  444,
-      444,  444,  444,  444,  444,  444
-    },
-
-    {
-       27,  302,  302,  302,  558,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  383,  302,  302,
-
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302,  302,  302,  302,  302,
-      302,  302,  302,  302,  302,  302
-    },
-
-    {
-       27,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  383,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  560,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  560,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  561,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  562,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  562,  242,  242,  242,  242
-    },
-
-    {
-       27,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  324,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563
-
-    },
-
-    {
-       27,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  541,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564
-    },
-
-    {
-       27, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541, -541, -541, -541, -541,
-     -541, -541, -541, -541, -541, -541
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  565,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  565,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  508,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543,  543,  543,  543,  543,
-      543,  543,  543,  543,  543,  543
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  566,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  566,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  324,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-
-      545,  545,  545,  545,  545,  545,  545,  545,  545,  545,
-      545,  545,  545,  545,  545,  545
-    },
-
-    {
-       27, -546, -546, -546,  567, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546,  568, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546, -546, -546, -546, -546,
-     -546, -546, -546, -546, -546, -546
-    },
-
-    {
-       27, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-
-     -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-     -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-     -547, -547, -547, -547, -547, -547, -547, -547,  569, -547,
-     -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-     -547, -547, -547, -547, -547, -547, -547, -547, -547, -547,
-     -547,  569, -547, -547, -547, -547
-    },
-
-    {
-       27, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-     -548, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-     -548, -548, -548, -548,  570, -548, -548, -548, -548, -548,
-     -548, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-
-     -548, -548, -548, -548, -548, -548, -548, -548,  570, -548,
-     -548, -548, -548, -548, -548, -548, -548, -548, -548, -548,
-     -548, -548, -548, -548, -548, -548
-    },
-
-    {
-       27, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549,  571, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-      571, -549, -549, -549, -549, -549
-
-    },
-
-    {
-       27, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-      572, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550,  572, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550
-    },
-
-    {
-       27, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-     -551, -551, -551, -551, -551, -551, -551, -551, -551,  573,
-     -551, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-
-     -551, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-     -551, -551, -551,  573, -551, -551, -551, -551, -551, -551,
-     -551, -551, -551, -551, -551, -551, -551, -551, -551, -551,
-     -551, -551, -551, -551, -551, -551
-    },
-
-    {
-       27, -552, -552, -552, -552, -552, -552, -552, -552, -552,
-     -552, -552, -552, -552, -552, -552, -552, -552, -552, -552,
-     -552, -552, -552, -552, -552, -552,  574, -552, -552, -552,
-     -552, -552, -552, -552, -552, -552, -552, -552, -552, -552,
-     -552, -552, -552, -552, -552, -552, -552, -552, -552, -552,
-      574, -552, -552, -552, -552, -552, -552, -552, -552, -552,
-
-     -552, -552, -552, -552, -552, -552
-    },
-
-    {
-       27,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  554,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575
-    },
-
-    {
-       27, -554, -554, -554, -554, -554, -554, -554, -554, -554,
-     -554, -554, -554, -554, -554, -554, -554, -554, -554, -554,
-
-     -554, -554, -554, -554, -554, -554, -554, -554, -554, -554,
-     -554, -554, -554, -554, -554, -554, -554, -554, -554, -554,
-     -554, -554, -554, -554, -554, -554, -554, -554, -554, -554,
-     -554, -554, -554, -554, -554, -554, -554, -554, -554, -554,
-     -554, -554, -554, -554, -554, -554
-    },
-
-    {
-       27, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-     -555, -555, -555, -555,  576, -555, -555, -555, -555, -555,
-     -555, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-     -555, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-     -555, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-
-     -555, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-     -555, -555, -555, -555, -555, -555
-    },
-
-    {
-       27, -556, -556, -556, -556, -556, -556, -556, -556, -556,
-     -556, -556, -556, -556, -556, -556, -556, -556, -556, -556,
-     -556, -556, -556, -556, -556, -556, -556, -556, -556, -556,
-     -556, -556, -556, -556, -556, -556, -556, -556, -556, -556,
-     -556, -556, -556, -556, -556, -556, -556, -556, -556, -556,
-     -556, -556, -556, -556, -556, -556, -556, -556, -556, -556,
-     -556, -556, -556, -556, -556, -556
-    },
-
-    {
-       27, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-
-     -557, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-     -557, -557, -557, -557, -557,  577, -557, -557, -557, -557,
-     -557, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-     -557, -557, -557, -557, -557, -557, -557, -557, -557,  577,
-     -557, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-     -557, -557, -557, -557, -557, -557
-    },
-
-    {
-       27,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  383,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578
-    },
-
-    {
-       27,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  383,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559,  559,  559,  559,  559,
-      559,  559,  559,  559,  559,  559
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      579,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -561, -561, -561, -561, -561, -561, -561, -561, -561,
-     -561, -561, -561, -561, -561, -561, -561, -561, -561, -561,
-     -561, -561, -561, -561, -561, -561, -561, -561, -561, -561,
-
-     -561, -561, -561, -561, -561, -561, -561, -561, -561, -561,
-     -561, -561, -561, -561, -561, -561, -561, -561, -561, -561,
-     -561, -561, -561, -561, -561, -561, -561, -561, -561, -561,
-     -561, -561, -561, -561, -561, -561
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  580,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      580,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  324,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
-      563,  563,  563,  563,  563,  563
-    },
-
-    {
-       27,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  541,  564,  564,
-
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564,  564,  564,  564,  564,
-      564,  564,  564,  564,  564,  564
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  581,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  582,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  582,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-
-      583,  583,  583,  583,  583,  583,  583,  568,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583
-    },
-
-    {
-       27, -568, -568, -568, -568, -568, -568, -568, -568, -568,
-     -568, -568, -568, -568, -568, -568, -568, -568, -568, -568,
-     -568, -568, -568, -568, -568, -568, -568, -568, -568, -568,
-     -568, -568, -568, -568, -568, -568, -568, -568, -568, -568,
-
-     -568, -568, -568, -568, -568, -568, -568, -568, -568, -568,
-     -568, -568, -568, -568, -568, -568, -568, -568, -568, -568,
-     -568, -568, -568, -568, -568, -568
-    },
-
-    {
-       27, -569, -569, -569, -569, -569, -569, -569, -569, -569,
-     -569, -569, -569, -569, -569, -569, -569, -569, -569, -569,
-     -569, -569, -569, -569, -569, -569, -569, -569, -569, -569,
-     -569,  584, -569, -569, -569, -569, -569, -569, -569, -569,
-     -569, -569, -569, -569, -569, -569, -569, -569, -569, -569,
-     -569, -569, -569, -569,  584, -569, -569, -569, -569, -569,
-     -569, -569, -569, -569, -569, -569
-
-    },
-
-    {
-       27, -570, -570, -570, -570, -570, -570, -570, -570, -570,
-     -570, -570, -570, -570, -570, -570, -570, -570, -570, -570,
-     -570, -570, -570, -570, -570, -570, -570, -570, -570, -570,
-     -570, -570, -570,  585, -570, -570, -570, -570, -570, -570,
-     -570, -570, -570, -570, -570, -570, -570, -570, -570, -570,
-     -570, -570, -570, -570, -570, -570,  585, -570, -570, -570,
-     -570, -570, -570, -570, -570, -570
-    },
-
-    {
-       27, -571, -571, -571, -571, -571, -571, -571, -571, -571,
-     -571, -571, -571, -571, -571, -571, -571,  586, -571, -571,
-     -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
-
-     -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
-     -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
-     -571, -571, -571, -571, -571, -571, -571, -571, -571, -571,
-     -571, -571, -571, -571, -571, -571
-    },
-
-    {
-       27, -572, -572, -572, -572, -572, -572, -572, -572, -572,
-     -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
-     -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
-     -572, -572, -572, -572, -572, -572, -572, -572,  587, -572,
-     -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
-     -572, -572, -572, -572, -572, -572, -572, -572, -572, -572,
-
-     -572,  587, -572, -572, -572, -572
-    },
-
-    {
-       27, -573, -573, -573, -573, -573, -573, -573, -573, -573,
-     -573, -573, -573, -573, -573, -573, -573, -573, -573, -573,
-     -573, -573, -573, -573, -573, -573, -573, -573, -573, -573,
-     -573,  588, -573, -573, -573, -573, -573, -573, -573, -573,
-     -573, -573, -573, -573, -573, -573, -573, -573, -573, -573,
-     -573, -573, -573, -573,  588, -573, -573, -573, -573, -573,
-     -573, -573, -573, -573, -573, -573
-    },
-
-    {
-       27, -574, -574, -574, -574, -574, -574, -574,  589, -574,
-     -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
-
-     -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
-     -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
-     -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
-     -574, -574, -574, -574, -574, -574, -574, -574, -574, -574,
-     -574, -574, -574, -574, -574, -574
-    },
-
-    {
-       27,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  554,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-
-      575,  575,  575,  575,  575,  575,  575,  575,  575,  575,
-      575,  575,  575,  575,  575,  575
-    },
-
-    {
-       27, -576, -576, -576, -576, -576, -576, -576, -576, -576,
-     -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
-     -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
-     -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
-     -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
-     -576, -576, -576, -576, -576, -576, -576, -576, -576, -576,
-     -576, -576, -576, -576, -576, -576
-    },
-
-    {
-       27, -577, -577, -577, -577, -577, -577, -577, -577, -577,
-
-     -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
-     -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
-     -577, -577, -577, -577, -577, -577, -577,  590, -577, -577,
-     -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
-     -577, -577, -577, -577, -577, -577, -577, -577, -577, -577,
-      590, -577, -577, -577, -577, -577
-    },
-
-    {
-       27,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  383,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578,  578,  578,  578,  578,
-      578,  578,  578,  578,  578,  578
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  591,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  591,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  592,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  592,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  593,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  568,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583,  583,  583,  583,  583,
-      583,  583,  583,  583,  583,  583
-    },
-
-    {
-       27, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-      594, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-
-     -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584, -584, -584, -584, -584, -584,
-     -584, -584, -584, -584, -584, -584
-    },
-
-    {
-       27, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585, -585, -585,  595, -585, -585,
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-
-     -585, -585, -585, -585, -585, -585, -585, -585, -585, -585,
-     -585, -585, -585, -585, -585, -585
-    },
-
-    {
-       27, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586, -586, -586, -586, -586,
-     -586, -586, -586, -586, -586, -586
-    },
-
-    {
-       27, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-
-     -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-     -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-     -587, -587, -587, -587, -587, -587, -587,  596, -587, -587,
-     -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-     -587, -587, -587, -587, -587, -587, -587, -587, -587, -587,
-      596, -587, -587, -587, -587, -587
-    },
-
-    {
-       27, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588,  597, -588, -588, -588, -588, -588,
-
-     -588, -588, -588, -588, -588, -588, -588, -588, -588, -588,
-     -588, -588, -588, -588, -588, -588, -588,  597, -588, -588,
-     -588, -588, -588, -588, -588, -588
-    },
-
-    {
-       27, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589,  598, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589, -589, -589, -589,  598,
-     -589, -589, -589, -589, -589, -589, -589, -589, -589, -589,
-     -589, -589, -589, -589, -589, -589
-
-    },
-
-    {
-       27, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590,  599, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590, -590, -590, -590, -590,
-     -590, -590, -590, -590, -590, -590
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  600,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  600,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  601,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  601,  242,
-
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593, -593, -593, -593, -593,
-     -593, -593, -593, -593, -593, -593
-    },
-
-    {
-       27, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-
-     -594, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594,  602, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594, -594, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594,  602, -594, -594, -594, -594,
-     -594, -594, -594, -594, -594, -594
-    },
-
-    {
-       27, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-
-     -595, -595, -595, -595, -595, -595, -595, -595, -595, -595,
-     -595, -595, -595, -595, -595, -595
-    },
-
-    {
-       27, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596,  603, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596, -596, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596,  603, -596, -596, -596,
-     -596, -596, -596, -596, -596, -596
-    },
-
-    {
-       27, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-
-     -597, -597, -597, -597, -597, -597, -597,  604, -597, -597,
-     -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597, -597, -597, -597, -597, -597, -597,
-     -597, -597, -597, -597, -597, -597
-    },
-
-    {
-       27, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598, -598, -598,  605, -598, -598,
-
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-     -598, -598, -598, -598, -598, -598, -598, -598, -598, -598,
-      605, -598, -598, -598, -598, -598
-    },
-
-    {
-       27, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599, -599, -599, -599, -599,
-     -599, -599, -599, -599, -599, -599
-
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  606,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      606,  242,  242,  242,  242,  242
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  607,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602,  608, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602, -602, -602, -602, -602, -602, -602, -602,
-     -602, -602, -602, -602, -602, -602,  608, -602, -602, -602,
-
-     -602, -602, -602, -602, -602, -602
-    },
-
-    {
-       27, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603,  609, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603, -603, -603,
-     -603, -603, -603, -603, -603, -603, -603, -603,  609, -603,
-     -603, -603, -603, -603, -603, -603
-    },
-
-    {
-       27, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604, -604, -604, -604, -604,
-     -604, -604, -604, -604, -604, -604
-    },
-
-    {
-       27, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605,  610, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-
-     -605, -605, -605, -605, -605, -605, -605, -605, -605, -605,
-     -605, -605, -605, -605, -605, -605
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  611,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  611,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-
-     -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-     -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-     -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-     -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-     -607, -607, -607, -607, -607, -607, -607, -607, -607, -607,
-     -607, -607, -607, -607, -607, -607
-    },
-
-    {
-       27, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608, -608, -608, -608,  612, -608, -608,
-
-     -608, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-     -608, -608, -608, -608, -608, -608, -608, -608, -608, -608,
-      612, -608, -608, -608, -608, -608
-    },
-
-    {
-       27, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609,  613, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609, -609, -609, -609, -609,
-     -609, -609, -609, -609, -609, -609
-
-    },
-
-    {
-       27, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610, -610, -610, -610, -610,
-     -610, -610, -610, -610, -610, -610
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  614,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  614,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612,  615, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612,  615, -612,
-
-     -612, -612, -612, -612, -612, -612
-    },
-
-    {
-       27, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613, -613, -613, -613, -613,
-     -613, -613, -613, -613, -613, -613
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  616,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  616,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615, -615, -615, -615, -615, -615, -615,  617,
-     -615, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615,  617, -615, -615, -615, -615, -615, -615,
-
-     -615, -615, -615, -615, -615, -615, -615, -615, -615, -615,
-     -615, -615, -615, -615, -615, -615
-    },
-
-    {
-       27,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  243,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  618,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  618,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-
-     -617, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-     -617, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-     -617, -617,  619, -617, -617, -617, -617, -617, -617, -617,
-     -617, -617, -617, -617, -617, -617, -617, -617, -617, -617,
-     -617, -617, -617, -617, -617,  619, -617, -617, -617, -617,
-     -617, -617, -617, -617, -617, -617
-    },
-
-    {
-       27,  242,  242,  242,  620,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  621,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242,  242,  242,  242,  242,
-      242,  242,  242,  242,  242,  242
-    },
-
-    {
-       27, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619,  622, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619, -619, -619, -619,
-     -619, -619, -619, -619, -619, -619, -619, -619, -619,  622,
-     -619, -619, -619, -619, -619, -619
-
-    },
-
-    {
-       27,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  621,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623
-    },
-
-    {
-       27, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621, -621, -621, -621, -621, -621,
-     -621, -621, -621, -621, -621, -621
-    },
-
-    {
-       27, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622,  624, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-     -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
-
-     -622, -622, -622, -622, -622, -622
-    },
-
-    {
-       27,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  621,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623,  623,  623,  623,  623,
-      623,  623,  623,  623,  623,  623
-    },
-
-    {
-       27, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624, -624, -624, -624, -624, -624,
-     -624, -624, -624, -624, -624, -624
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 130
-#define YY_END_OF_BUFFER 131
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[625] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  131,  129,  127,  127,
-      128,  129,  129,  127,  129,  113,  114,  127,  116,  116,
-        2,    2,    4,    4,   13,   13,   13,   13,   13,    7,
-        8,   10,   10,   22,   22,   22,   22,   22,   16,   17,
-       19,   19,   31,   31,   31,   31,   31,   25,   26,   28,
-       28,   40,   40,   40,   40,   40,   34,   35,   37,   37,
-       49,   49,   49,   49,   49,   43,   44,   46,   46,   58,
-       58,   58,   58,   58,   52,   53,   55,   55,   67,   67,
-
-       67,   67,   67,   61,   62,   64,   64,   76,   76,   76,
-       76,   76,   70,   71,   76,   73,   73,   85,   85,   85,
-       85,   85,   79,   80,   82,   82,   94,   94,   94,   94,
-       94,   88,   89,   91,   91,    0,  115,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  117,    0,  104,  116,  116,    0,    0,
-        0,    9,    0,    0,   11,   10,   10,    0,   18,    0,
-        0,   20,   19,   19,    0,   27,    0,    0,   29,   28,
-       28,    0,   36,    0,    0,   38,   37,   37,    0,   45,
-        0,    0,   47,   46,   46,    0,   54,    0,    0,   56,
-
-       55,   55,    0,   63,    0,    0,   65,   64,   64,    0,
-       72,    0,   74,   75,   73,   73,    0,   81,    0,   83,
-       82,   82,    0,   90,    0,    0,   92,   91,   91,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,  123,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,  107,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    1,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   95,    0,
-
-      122,    0,  124,    0,    0,    0,    0,    0,    0,    0,
-        0,  110,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,  119,    0,  101,    0,    0,  108,    0,
-        0,    0,    0,    0,    0,    0,    0,  109,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    5,    0,
-        0,   14,    0,    0,   23,    0,    0,   32,    0,    0,
-       41,    0,    0,   50,    0,    0,   59,    0,    0,   68,
-        0,   77,    0,   86,    0,    0,    0,    0,    0,    0,
-        0,    0,  120,    0,    0,  111,    0,    0,    0,    0,
-      112,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,  121,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   48,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    3,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   96,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,  106,    0,    0,
-      118,    0,    6,    0,   15,    0,   24,    0,   33,    0,
-       42,   51,    0,   60,    0,   69,   78,    0,   87,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       97,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   93,    0,  125,    0,    0,    0,    0,
-      100,    0,    0,    0,    0,    0,    0,   12,    0,    0,
-        0,    0,    0,    0,    0,  126,    0,    0,    0,    0,
-       99,    0,    0,    0,    0,   39,    0,    0,    0,    0,
-        0,    0,  103,    0,   30,    0,    0,    0,  105,    0,
-
-        0,    0,    0,   66,    0,    0,  102,    0,    0,   84,
-        0,    0,   57,    0,    0,    0,    0,    0,    0,    0,
-       98,    0,    0,   21
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    5,    1,    6,    7,    1,    8,    9,    1,
-        1,    6,    1,    1,   10,    1,   11,    1,   12,   12,
-       12,   12,   12,   12,    1,    1,    1,   13,   14,   15,
-       16,   17,   18,    7,   19,   20,   21,   22,   23,   24,
-       25,   26,   27,   28,   29,   30,   31,   32,   33,   34,
-       28,   35,   36,   37,   38,   39,   28,   28,   40,   28,
-       41,    7,   42,    7,    1,    1,   43,   44,   45,   46,
-
-       47,   48,   49,   50,   51,   28,   52,   53,   54,   55,
-       56,   57,   28,   58,   59,   60,   61,   62,   28,   28,
-       63,   28,   64,    1,   65,    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
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_desmediawiki.cctmp"
-#line 4 "apertium_desmediawiki.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/$]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 7445 "apertium_desmediawiki.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-#define C4 4
-#define C5 5
-#define C6 6
-#define C7 7
-#define C8 8
-#define C9 9
-#define C10 10
-#define C11 11
-#define C12 12
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	if ( yyleng > 0 ) \
-		YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
-				(yytext[yyleng - 1] == '\n'); \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 266 "apertium_desmediawiki.cctmp"
-
-
-
-#line 7665 "apertium_desmediawiki.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-		yy_current_state += YY_AT_BOL();
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 271 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 277 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 286 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 292 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 5:
-YY_RULE_SETUP
-#line 301 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 305 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 309 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 312 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 315 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 318 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 321 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 12:
-/* rule 12 can match eol */
-YY_RULE_SETUP
-#line 325 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 13:
-/* rule 13 can match eol */
-YY_RULE_SETUP
-#line 331 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 14:
-YY_RULE_SETUP
-#line 340 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 344 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 348 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 351 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 354 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 357 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 360 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 364 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 370 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 23:
-YY_RULE_SETUP
-#line 379 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 383 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 387 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 26:
-YY_RULE_SETUP
-#line 390 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 393 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 396 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 399 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 403 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 31:
-/* rule 31 can match eol */
-YY_RULE_SETUP
-#line 409 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 32:
-YY_RULE_SETUP
-#line 418 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 422 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 426 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 429 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 432 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 435 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 438 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 442 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 40:
-/* rule 40 can match eol */
-YY_RULE_SETUP
-#line 448 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 41:
-YY_RULE_SETUP
-#line 457 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 42:
-YY_RULE_SETUP
-#line 461 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 43:
-YY_RULE_SETUP
-#line 465 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 468 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 471 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 46:
-YY_RULE_SETUP
-#line 474 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 477 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 48:
-YY_RULE_SETUP
-#line 481 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 49:
-/* rule 49 can match eol */
-YY_RULE_SETUP
-#line 487 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 50:
-YY_RULE_SETUP
-#line 496 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 500 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 52:
-YY_RULE_SETUP
-#line 504 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 53:
-YY_RULE_SETUP
-#line 507 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 54:
-YY_RULE_SETUP
-#line 510 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 513 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 56:
-YY_RULE_SETUP
-#line 516 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 57:
-YY_RULE_SETUP
-#line 520 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 58:
-/* rule 58 can match eol */
-YY_RULE_SETUP
-#line 526 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 59:
-YY_RULE_SETUP
-#line 535 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 60:
-YY_RULE_SETUP
-#line 539 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 61:
-YY_RULE_SETUP
-#line 543 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 62:
-YY_RULE_SETUP
-#line 546 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 63:
-YY_RULE_SETUP
-#line 549 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 64:
-YY_RULE_SETUP
-#line 552 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 65:
-YY_RULE_SETUP
-#line 555 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 66:
-YY_RULE_SETUP
-#line 559 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 67:
-/* rule 67 can match eol */
-YY_RULE_SETUP
-#line 565 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 68:
-YY_RULE_SETUP
-#line 574 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 69:
-YY_RULE_SETUP
-#line 578 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 70:
-YY_RULE_SETUP
-#line 582 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 71:
-YY_RULE_SETUP
-#line 585 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 72:
-YY_RULE_SETUP
-#line 588 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 73:
-YY_RULE_SETUP
-#line 591 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 74:
-YY_RULE_SETUP
-#line 594 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 75:
-YY_RULE_SETUP
-#line 598 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 76:
-/* rule 76 can match eol */
-YY_RULE_SETUP
-#line 604 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 77:
-YY_RULE_SETUP
-#line 613 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 78:
-YY_RULE_SETUP
-#line 617 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 79:
-YY_RULE_SETUP
-#line 621 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 80:
-YY_RULE_SETUP
-#line 624 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 81:
-YY_RULE_SETUP
-#line 627 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 82:
-YY_RULE_SETUP
-#line 630 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 83:
-YY_RULE_SETUP
-#line 633 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 84:
-YY_RULE_SETUP
-#line 637 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 85:
-/* rule 85 can match eol */
-YY_RULE_SETUP
-#line 643 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 86:
-YY_RULE_SETUP
-#line 652 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 87:
-YY_RULE_SETUP
-#line 656 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 88:
-YY_RULE_SETUP
-#line 660 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 89:
-YY_RULE_SETUP
-#line 663 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 90:
-YY_RULE_SETUP
-#line 666 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 91:
-YY_RULE_SETUP
-#line 669 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 92:
-YY_RULE_SETUP
-#line 672 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 93:
-/* rule 93 can match eol */
-YY_RULE_SETUP
-#line 676 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 94:
-/* rule 94 can match eol */
-YY_RULE_SETUP
-#line 682 "apertium_desmediawiki.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 95:
-YY_RULE_SETUP
-#line 688 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 96:
-YY_RULE_SETUP
-#line 692 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 97:
-/* rule 97 can match eol */
-YY_RULE_SETUP
-#line 696 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 98:
-/* rule 98 can match eol */
-YY_RULE_SETUP
-#line 700 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 99:
-YY_RULE_SETUP
-#line 704 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 100:
-YY_RULE_SETUP
-#line 708 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C6);
-}
-	YY_BREAK
-case 101:
-YY_RULE_SETUP
-#line 712 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C7);
-}
-	YY_BREAK
-case 102:
-YY_RULE_SETUP
-#line 716 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C8);
-}
-	YY_BREAK
-case 103:
-YY_RULE_SETUP
-#line 720 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C9);
-}
-	YY_BREAK
-case 104:
-YY_RULE_SETUP
-#line 724 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C10);
-}
-	YY_BREAK
-case 105:
-YY_RULE_SETUP
-#line 728 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C11);
-}
-	YY_BREAK
-case 106:
-/* rule 106 can match eol */
-YY_RULE_SETUP
-#line 732 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C12);
-}
-	YY_BREAK
-case 107:
-/* rule 107 can match eol */
-YY_RULE_SETUP
-#line 736 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 108:
-/* rule 108 can match eol */
-YY_RULE_SETUP
-#line 740 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 109:
-/* rule 109 can match eol */
-YY_RULE_SETUP
-#line 744 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 110:
-/* rule 110 can match eol */
-YY_RULE_SETUP
-#line 748 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 111:
-/* rule 111 can match eol */
-YY_RULE_SETUP
-#line 752 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 112:
-/* rule 112 can match eol */
-YY_RULE_SETUP
-#line 756 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 113:
-YY_RULE_SETUP
-#line 760 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 114:
-YY_RULE_SETUP
-#line 763 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 115:
-YY_RULE_SETUP
-#line 766 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 116:
-YY_RULE_SETUP
-#line 769 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 117:
-YY_RULE_SETUP
-#line 772 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 118:
-/* rule 118 can match eol */
-YY_RULE_SETUP
-#line 776 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 119:
-/* rule 119 can match eol */
-YY_RULE_SETUP
-#line 779 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 120:
-/* rule 120 can match eol */
-YY_RULE_SETUP
-#line 783 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 121:
-/* rule 121 can match eol */
-YY_RULE_SETUP
-#line 787 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 122:
-/* rule 122 can match eol */
-YY_RULE_SETUP
-#line 790 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 123:
-/* rule 123 can match eol */
-YY_RULE_SETUP
-#line 793 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 124:
-/* rule 124 can match eol */
-YY_RULE_SETUP
-#line 796 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 125:
-/* rule 125 can match eol */
-YY_RULE_SETUP
-#line 799 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 126:
-/* rule 126 can match eol */
-YY_RULE_SETUP
-#line 802 "apertium_desmediawiki.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 127:
-/* rule 127 can match eol */
-YY_RULE_SETUP
-#line 805 "apertium_desmediawiki.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 128:
-YY_RULE_SETUP
-#line 813 "apertium_desmediawiki.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 129:
-YY_RULE_SETUP
-#line 833 "apertium_desmediawiki.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-case YY_STATE_EOF(C4):
-case YY_STATE_EOF(C5):
-case YY_STATE_EOF(C6):
-case YY_STATE_EOF(C7):
-case YY_STATE_EOF(C8):
-case YY_STATE_EOF(C9):
-case YY_STATE_EOF(C10):
-case YY_STATE_EOF(C11):
-case YY_STATE_EOF(C12):
-#line 858 "apertium_desmediawiki.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 130:
-YY_RULE_SETUP
-#line 865 "apertium_desmediawiki.cctmp"
-ECHO;
-	YY_BREAK
-#line 8825 "apertium_desmediawiki.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-	yy_current_state += YY_AT_BOL();
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 865 "apertium_desmediawiki.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_desodt.cc b/apertium/apertium_desodt.cc
deleted file mode 100644
index d6934ce..0000000
--- a/apertium/apertium_desodt.cc
+++ /dev/null
@@ -1,3785 +0,0 @@
-#line 2 "apertium_desodt.cc"
-
-#line 4 "apertium_desodt.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][50] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-       11,   12,   13,   14,   13,   12,   12,   15,   16,   12,
-       15,   12,   12,   12,   17,   12,   13,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12
-
-    },
-
-    {
-       11,   12,   13,   14,   13,   12,   12,   15,   16,   12,
-       15,   12,   12,   12,   17,   12,   13,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12
-    },
-
-    {
-       11,   18,   18,   18,   18,   18,   18,   18,   18,   19,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18
-
-    },
-
-    {
-       11,   18,   18,   18,   18,   18,   18,   18,   18,   19,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18
-    },
-
-    {
-       11,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   21,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20
-
-    },
-
-    {
-       11,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   21,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20
-    },
-
-    {
-       11,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   23,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22
-
-    },
-
-    {
-       11,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   23,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22
-    },
-
-    {
-       11,   24,   24,   24,   24,   24,   24,   24,   25,   24,
-       24,   24,   24,   24,   26,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24
-
-    },
-
-    {
-       11,   24,   24,   24,   24,   24,   24,   24,   25,   24,
-       24,   24,   24,   24,   26,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24
-    },
-
-    {
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11
-
-    },
-
-    {
-       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-       11,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-
-    },
-
-    {
-       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14
-    },
-
-    {
-       11,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-
-    },
-
-    {
-       11,  -16,  -16,  -16,  -16,  -16,   27,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,   28,   28,
-       28,   28,   28,   28,   28,   29,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       29,   28,   28,   28,   28,   28,   28,   28,   28,   28
-    },
-
-    {
-       11,  -17,  -17,  -17,  -17,   30,  -17,  -17,  -17,  -17,
-       31,  -17,  -17,  -17,  -17,  -17,  -17,   32,   33,   33,
-       33,   33,   33,   33,   33,   33,   34,   33,   33,   33,
-       33,   33,   35,   33,   33,   33,   33,   33,   33,   33,
-       33,   34,   33,   33,   33,   33,   33,   35,   33,   33
-
-    },
-
-    {
-       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18
-    },
-
-    {
-       11,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,   36,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19
-
-    },
-
-    {
-       11,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20
-    },
-
-    {
-       11,  -21,  -21,  -21,  -21,   37,  -21,  -21,  -21,  -21,
-       38,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21
-
-    },
-
-    {
-       11,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22
-    },
-
-    {
-       11,  -23,  -23,  -23,  -23,   39,  -23,  -23,  -23,  -23,
-       40,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23
-
-    },
-
-    {
-       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24
-    },
-
-    {
-       11,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,   41,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-       41,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25
-
-    },
-
-    {
-       11,  -26,  -26,  -26,  -26,   42,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26
-    },
-
-    {
-       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,   43,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,   44,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,   44
-
-    },
-
-    {
-       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,   45,  -28,  -28,  -28,  -28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28
-    },
-
-    {
-       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,   45,  -29,  -29,  -29,  -29,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   46,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   46,   28,   28
-
-    },
-
-    {
-       11,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,   47,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48
-    },
-
-    {
-       11,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,   49,   49,
-       49,   49,   49,   49,   49,   49,   49,   49,   49,   49,
-       49,   49,   50,   49,   49,   49,   49,   49,   49,   49,
-       49,   49,   49,   49,   49,   49,   49,   50,   49,   49
-
-    },
-
-    {
-       11,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   53,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       54,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   54,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,   55,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36
-    },
-
-    {
-       11,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,   56,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37
-
-    },
-
-    {
-       11,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,   57,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,   57,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38
-    },
-
-    {
-       11,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,   58,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39
-
-    },
-
-    {
-       11,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,   59,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,   59,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40
-    },
-
-    {
-       11,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,   60,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,   60,  -41,  -41
-
-    },
-
-    {
-       11,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,   61,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42
-    },
-
-    {
-       11,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,   62,  -43,   45,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43
-
-    },
-
-    {
-       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,   63,  -44,  -44,  -44,  -44,  -44,  -44,   63,   63,
-       63,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,   63,   63,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44
-    },
-
-    {
-       11,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45
-
-    },
-
-    {
-       11,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,   64,  -46,  -46,  -46,  -46,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28
-    },
-
-    {
-       11,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,   65,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47
-
-    },
-
-    {
-       11,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   67,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66
-    },
-
-    {
-       11,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   69,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68
-
-    },
-
-    {
-       11,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   69,   68,   68,   68,
-       70,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   70,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   71,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   71,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   72,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   72
-    },
-
-    {
-       11,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55
-
-    },
-
-    {
-       11,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,   73,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56
-    },
-
-    {
-       11,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,   74,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,   74,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57
-
-    },
-
-    {
-       11,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,   75,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58
-    },
-
-    {
-       11,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,   76,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,   76,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59
-
-    },
-
-    {
-       11,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,   77,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60
-    },
-
-    {
-       11,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,   78,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61
-
-    },
-
-    {
-       11,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,   79,  -62,   45,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62
-    },
-
-    {
-       11,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,   80,  -63,   45,  -63,  -63,  -63,  -63,   80,   80,
-       80,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,   80,   80,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63
-
-    },
-
-    {
-       11,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,   81,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,   81,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64
-    },
-
-    {
-       11,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65
-
-    },
-
-    {
-       11,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   67,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66
-    },
-
-    {
-       11,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67
-
-    },
-
-    {
-       11,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   69,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68
-    },
-
-    {
-       11,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69
-
-    },
-
-    {
-       11,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   69,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   82,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   82
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   83,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   83,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   84,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   84,   51,   51
-    },
-
-    {
-       11,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73
-
-    },
-
-    {
-       11,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,   85,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,   85,  -74,  -74
-    },
-
-    {
-       11,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75
-
-    },
-
-    {
-       11,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,   86,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,   86,  -76,  -76
-    },
-
-    {
-       11,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-       87,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77
-
-    },
-
-    {
-       11,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78
-    },
-
-    {
-       11,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,   88,  -79,   45,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79
-
-    },
-
-    {
-       11,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,   89,  -80,   45,  -80,  -80,  -80,  -80,   89,   89,
-       89,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,   89,   89,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80
-    },
-
-    {
-       11,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,   90,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,   90,  -81,  -81,  -81,  -81,  -81
-
-    },
-
-    {
-       11,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   69,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   91,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   91,   68,   68
-    },
-
-    {
-       11,   51,   51,   51,   92,   51,   51,   51,   51,   51,
-       51,   51,   93,   51,   51,   51,   94,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   95,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-    },
-
-    {
-       11,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,   96,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,   96,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85
-
-    },
-
-    {
-       11,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,   97,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,   97,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86
-    },
-
-    {
-       11,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,   98,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,   98,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87
-
-    },
-
-    {
-       11,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,   99,  -88,   45,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88
-    },
-
-    {
-       11,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  100,  -89,   45,  -89,  -89,  -89,  -89,  100,  100,
-      100,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  100,  100,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89
-
-    },
-
-    {
-       11,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      101,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  101,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90
-    },
-
-    {
-       11,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,  102,   68,   68,   68,   69,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,  103,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,  103
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,  104,  104,
-      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
-      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
-      104,  104,  104,  104,  104,  104,  104,  104,  104,  104
-
-    },
-
-    {
-       11,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,  105,   51,   51,   51,   51,   51,   51,  105,
-       51,   51,   51,   51,   51,   51,   51,   51,  105,   51,
-       51,   51,   51,   51,  105,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  106,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96
-    },
-
-    {
-       11,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  107,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97
-
-    },
-
-    {
-       11,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  108,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  108,  -98,  -98,  -98,  -98,  -98
-    },
-
-    {
-       11,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  109,  -99,   45,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99
-
-    },
-
-    {
-       11, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100,   45, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100
-    },
-
-    {
-       11, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-      110, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101,  110, -101, -101, -101, -101
-
-    },
-
-    {
-       11,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   69,   68,   68,   68,
-       68,   68,  111,   68,   68,   68,   68,   68,   68,  111,
-       68,   68,   68,   68,   68,   68,   68,   68,  111,   68,
-       68,   68,   68,   68,  111,   68,   68,   68,   68,   68
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,  112,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,  112,   51,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,  113,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,  114,   51,  104,  104,
-      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
-      104,  104,  104,  104,  104,  104,  104,  104,  104,  104,
-      104,  104,  104,  104,  104,  104,  104,  104,  104,  104
-    },
-
-    {
-       11,   51,   51,   51,  115,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,  116,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117
-    },
-
-    {
-       11, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107
-
-    },
-
-    {
-       11, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-      118, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108,  118, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108
-    },
-
-    {
-       11, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109,  119, -109,   45, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109
-
-    },
-
-    {
-       11, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110,  120, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110,  120, -110, -110
-    },
-
-    {
-       11,   68,   68,   68,  121,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,  122,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68,
-       68,   68,   68,   68,   68,   68,   68,   68,   68,   68
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,  123,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-      123,   51,   51,   51,   51,   51,   51,   51,   51,   51
-    },
-
-    {
-       11,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  114,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124
-
-    },
-
-    {
-       11, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114
-    },
-
-    {
-       11,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  116,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125
-
-    },
-
-    {
-       11, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116
-    },
-
-    {
-       11, -117, -117, -117,  126, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117,  127, -117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117
-
-    },
-
-    {
-       11, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-      128, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118,  128, -118, -118, -118, -118
-    },
-
-    {
-       11, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119,  129, -119,   45, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119
-
-    },
-
-    {
-       11, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120,  130, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120,  130,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120
-    },
-
-    {
-       11,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  122,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131
-
-    },
-
-    {
-       11, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,  132,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,  132,   51,   51,   51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  114,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  124,  124,  124,  124,  124,  124
-    },
-
-    {
-       11,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  116,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125
-
-    },
-
-    {
-       11,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  127,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133
-    },
-
-    {
-       11, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127
-
-    },
-
-    {
-       11, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128,  134, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128,  134, -128, -128
-    },
-
-    {
-       11, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129,   45, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129
-
-    },
-
-    {
-       11, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130,  135, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130,  135, -130
-    },
-
-    {
-       11,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  122,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,  136,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,  136,   51,   51,   51
-    },
-
-    {
-       11,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  127,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133
-
-    },
-
-    {
-       11, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134,  137, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134,  137,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134
-    },
-
-    {
-       11, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135,  138, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135,  138, -135, -135, -135, -135, -135, -135, -135, -135
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,  139,   52,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51
-    },
-
-    {
-       11, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137,  140, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137,  140, -137
-
-    },
-
-    {
-       11, -138, -138, -138, -138, -138, -138, -138, -138,  141,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138
-    },
-
-    {
-       11,  142,  142,  142,  142,  142,  142,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,   94,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,  142,  142,  142,  142
-
-    },
-
-    {
-       11, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140,  143, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140,  143, -140, -140, -140, -140, -140, -140, -140, -140
-    },
-
-    {
-       11, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141,  144, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141,  144, -141, -141, -141, -141, -141, -141, -141
-
-    },
-
-    {
-       11,  142,  142,  142,  142,  142,  142,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,   94,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,  142,  142,  142,  142,
-      142,  142,  142,  142,  142,  142,  142,  142,  142,  142
-    },
-
-    {
-       11, -143, -143, -143, -143, -143, -143, -143, -143,  145,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143
-
-    },
-
-    {
-       11, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144,  146, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144,  146, -144, -144, -144, -144, -144, -144
-    },
-
-    {
-       11, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145,  147, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145,  147, -145, -145, -145, -145, -145, -145, -145
-
-    },
-
-    {
-       11, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146,  148, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146,  148, -146, -146
-    },
-
-    {
-       11, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147,  149, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147,  149, -147, -147, -147, -147, -147, -147
-
-    },
-
-    {
-       11, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-      150, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148,  150, -148, -148, -148, -148
-    },
-
-    {
-       11, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149,  151, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149,  151, -149, -149
-
-    },
-
-    {
-       11, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150,  152, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150,  152, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150
-    },
-
-    {
-       11, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-      153, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151,  153, -151, -151, -151, -151
-
-    },
-
-    {
-       11, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152,  154, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152,  154, -152, -152, -152, -152, -152, -152, -152
-    },
-
-    {
-       11, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153,  155, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153,  155, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153
-
-    },
-
-    {
-       11, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154,  156, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154,  156, -154, -154, -154
-    },
-
-    {
-       11, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155,  157, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155,  157, -155, -155, -155, -155, -155, -155, -155
-
-    },
-
-    {
-       11, -156, -156, -156,  158, -156, -156, -156,  159, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156
-    },
-
-    {
-       11, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157,  160, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157,  160, -157, -157, -157
-
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  162,  161,
-      161,  161,  161,  161,  161,  161, -158,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161
-    },
-
-    {
-       11, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159,  163, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159,  163, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159
-
-    },
-
-    {
-       11, -160, -160, -160, -160, -160, -160, -160,  164, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  162,  161,
-      161,  161,  161,  161,  161,  161, -161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161
-
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  162,  161,
-      161,  161,  161,  161,  161,  161, -162,  161,  161,  161,
-      161,  165,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  165,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161
-    },
-
-    {
-       11, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163,  166, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163,  166, -163, -163
-
-    },
-
-    {
-       11, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164,  167, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164,  167, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  162,  161,
-      161,  161,  161,  161,  161,  161, -165,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  168,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  168,  161,  161
-
-    },
-
-    {
-       11, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166,  169, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166
-    },
-
-    {
-       11, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167,  170, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167,  170, -167, -167
-
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  162,  161,
-      161,  161,  161,  171,  161,  161, -168,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161
-    },
-
-    {
-       11, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169
-
-    },
-
-    {
-       11, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170,  172, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170
-    },
-
-    {
-       11,  161,  161,  161,  161,  161,  161,  161,  162,  161,
-      161,  161,  161,  161,  161,  161, -171,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161,
-      161,  161,  161,  161,  161,  161,  161,  161,  161,  161
-
-    },
-
-    {
-       11, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 25
-#define YY_END_OF_BUFFER 26
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[173] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       26,   24,   22,   22,   23,   24,   22,    2,    2,    5,
-        5,    8,    8,   11,   11,   11,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   21,    0,    0,    0,    0,    0,
-        0,   19,    0,    0,    1,    0,    0,    0,    0,    0,
-        0,    0,    0,   21,   12,    0,   18,    0,   20,    0,
-        0,    0,    3,    0,    6,    0,    0,    9,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   14,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    7,    0,    0,    0,
-        0,    0,    0,   13,    0,   16,    0,    0,    0,    0,
-        0,   17,    0,    0,    0,    0,    4,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   15,    0,
-       15,   10
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    5,    1,    6,    7,    1,    8,    1,    1,
-        1,    1,    1,    1,    9,    1,   10,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   12,   13,   14,
-       15,   16,   17,    7,   18,   19,   19,   19,   20,   19,
-       21,   22,   23,   24,   24,   25,   26,   27,   28,   29,
-       24,   30,   31,   32,   33,   24,   24,   34,   24,   24,
-        7,    7,    7,    7,    1,    1,   35,   19,   19,   19,
-
-       36,   19,   37,   38,   39,   24,   24,   40,   41,   42,
-       43,   44,   24,   45,   46,   47,   48,   24,   24,   49,
-       24,   24,    2,    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,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_desodt.cctmp"
-#line 4 "apertium_desodt.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/$]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-map<string, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution["'"] = L"'";
-}
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 2184 "apertium_desodt.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-#define C4 4
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 272 "apertium_desodt.cctmp"
-
-
-
-#line 2393 "apertium_desodt.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 277 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 283 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 292 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 296 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 5:
-/* rule 5 can match eol */
-YY_RULE_SETUP
-#line 302 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 6:
-YY_RULE_SETUP
-#line 311 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 315 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 8:
-/* rule 8 can match eol */
-YY_RULE_SETUP
-#line 321 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 9:
-YY_RULE_SETUP
-#line 330 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 334 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 11:
-/* rule 11 can match eol */
-YY_RULE_SETUP
-#line 340 "apertium_desodt.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 12:
-YY_RULE_SETUP
-#line 346 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 13:
-/* rule 13 can match eol */
-YY_RULE_SETUP
-#line 350 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 14:
-/* rule 14 can match eol */
-YY_RULE_SETUP
-#line 354 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 15:
-/* rule 15 can match eol */
-YY_RULE_SETUP
-#line 358 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 16:
-/* rule 16 can match eol */
-YY_RULE_SETUP
-#line 362 "apertium_desodt.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 17:
-/* rule 17 can match eol */
-YY_RULE_SETUP
-#line 366 "apertium_desodt.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 18:
-/* rule 18 can match eol */
-YY_RULE_SETUP
-#line 370 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 19:
-/* rule 19 can match eol */
-YY_RULE_SETUP
-#line 373 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 20:
-/* rule 20 can match eol */
-YY_RULE_SETUP
-#line 376 "apertium_desodt.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 380 "apertium_desodt.cctmp"
-{
-  if(S1_substitution.find(yytext) != S1_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S1_substitution[yytext].c_str(), yyout);
-    offset+=S1_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 394 "apertium_desodt.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 402 "apertium_desodt.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 422 "apertium_desodt.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-case YY_STATE_EOF(C4):
-#line 447 "apertium_desodt.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 454 "apertium_desodt.cctmp"
-ECHO;
-	YY_BREAK
-#line 2719 "apertium_desodt.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 454 "apertium_desodt.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  S1_init();
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_despptx.cc b/apertium/apertium_despptx.cc
deleted file mode 100644
index bee283c..0000000
--- a/apertium/apertium_despptx.cc
+++ /dev/null
@@ -1,4143 +0,0 @@
-#line 2 "apertium_despptx.cc"
-
-#line 4 "apertium_despptx.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][55] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0
-    },
-
-    {
-       11,   12,   13,   14,   13,   12,   12,   15,   16,   12,
-       15,   12,   12,   12,   17,   13,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12
-    },
-
-    {
-       11,   12,   13,   14,   13,   12,   12,   15,   16,   12,
-       15,   12,   12,   12,   17,   13,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12,   12,   12,   12,   12,   12,
-       12,   12,   12,   12,   12
-    },
-
-    {
-       11,   18,   18,   18,   18,   18,   18,   18,   18,   19,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18
-    },
-
-    {
-       11,   18,   18,   18,   18,   18,   18,   18,   18,   19,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18
-
-    },
-
-    {
-       11,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   21,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20
-    },
-
-    {
-       11,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   21,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20
-    },
-
-    {
-       11,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   23,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22
-    },
-
-    {
-       11,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   23,   22,   22,   22,   22,   22,
-
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22
-    },
-
-    {
-       11,   24,   24,   24,   24,   24,   24,   24,   25,   24,
-       24,   24,   24,   24,   26,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24
-
-    },
-
-    {
-       11,   24,   24,   24,   24,   24,   24,   24,   25,   24,
-       24,   24,   24,   24,   26,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24
-    },
-
-    {
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11
-    },
-
-    {
-       11,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-       11,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-       11,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14
-
-    },
-
-    {
-       11,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-       11,  -16,  -16,  -16,  -16,  -16,   27,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   29,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   29,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28
-    },
-
-    {
-       11,  -17,  -17,  -17,  -17,   30,  -17,  -17,  -17,  -17,
-       31,  -17,  -17,  -17,  -17,  -17,   32,   33,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       35,   34,   34,   34,   34,   34,   34,   33,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   35,   34,
-       34,   34,   34,   34,   34
-    },
-
-    {
-       11,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18
-    },
-
-    {
-       11,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,   36,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19
-
-    },
-
-    {
-       11,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20
-    },
-
-    {
-       11,  -21,  -21,  -21,  -21,   37,  -21,  -21,  -21,  -21,
-       38,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21
-    },
-
-    {
-       11,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22
-    },
-
-    {
-       11,  -23,  -23,  -23,  -23,   39,  -23,  -23,  -23,  -23,
-       40,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23
-    },
-
-    {
-       11,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24
-
-    },
-
-    {
-       11,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,   41,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,   41,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25
-    },
-
-    {
-       11,  -26,  -26,  -26,  -26,   42,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26
-    },
-
-    {
-       11,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,   43,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,   44,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,   44,  -27
-    },
-
-    {
-       11,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,   45,  -28,  -28,  -28,   28,   28,   28,
-
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28
-    },
-
-    {
-       11,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,   45,  -29,  -29,  -29,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   46,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   46,   28,   28,   28
-
-    },
-
-    {
-       11,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,   47,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48
-    },
-
-    {
-       11,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,   49,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50,   50,   50,   49,   50,   50,
-
-       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
-       50,   50,   50,   50,   50
-    },
-
-    {
-       11,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
-       48,   48,   48,   48,   48
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   52,   51,   51,   53,   51,   51,   51,   51,
-
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   54,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   55,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   55,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,   56,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36
-    },
-
-    {
-       11,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,   57,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37
-    },
-
-    {
-       11,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-       58,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,   58,  -38,
-      -38,  -38,  -38,  -38,  -38
-    },
-
-    {
-       11,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,   59,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39
-
-    },
-
-    {
-       11,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-       60,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,   60,  -40,
-      -40,  -40,  -40,  -40,  -40
-    },
-
-    {
-       11,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,   61,  -41,  -41,  -41,  -41,  -41,  -41,
-
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,   61,  -41,  -41,  -41
-    },
-
-    {
-       11,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,   62,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42
-    },
-
-    {
-       11,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,   63,  -43,   45,  -43,  -43,  -43,  -43,  -43,  -43,
-
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43
-    },
-
-    {
-       11,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,   64,  -44,  -44,  -44,  -44,  -44,   64,   64,   64,
-       64,   64,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,   64,   64,   64,
-       64,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44
-
-    },
-
-    {
-       11,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45
-    },
-
-    {
-       11,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,   65,  -46,  -46,  -46,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28
-    },
-
-    {
-       11,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,   66,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47
-    },
-
-    {
-       11,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67,   68,   67,   67,   67,   67,
-
-       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67
-    },
-
-    {
-       11,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   70,   69,   69,   71,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69
-
-    },
-
-    {
-       11,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   71,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       72,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   72,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   73,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   73,   51,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   74,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   74,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56
-    },
-
-    {
-       11,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,   75,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57
-    },
-
-    {
-       11,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-
-      -58,  -58,  -58,  -58,  -58,   76,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,   76,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58
-    },
-
-    {
-       11,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,   77,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59
-
-    },
-
-    {
-       11,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,   78,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60
-    },
-
-    {
-       11,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,   79,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61
-    },
-
-    {
-       11,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,   80,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62
-    },
-
-    {
-       11,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,   81,  -63,   45,  -63,  -63,  -63,  -63,  -63,  -63,
-
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63
-    },
-
-    {
-       11,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,   82,  -64,   45,  -64,  -64,  -64,   82,   82,   82,
-       82,   82,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,   82,   82,   82,
-       82,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64
-
-    },
-
-    {
-       11,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,   83,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,   83,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65
-    },
-
-    {
-       11,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66
-    },
-
-    {
-       11,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67,   68,   67,   67,   67,   67,
-       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67,   67,   67,   67,   67,   67,
-       67,   67,   67,   67,   67
-    },
-
-    {
-       11,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68
-    },
-
-    {
-       11,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   71,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69
-
-    },
-
-    {
-       11,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   71,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       84,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   84,   69,
-       69,   69,   69,   69,   69
-    },
-
-    {
-       11,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71
-    },
-
-    {
-       11,   51,   51,   51,   85,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   86,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-
-       51,   51,   51,   51,   87,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   87,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   88,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75
-    },
-
-    {
-       11,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,   89,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-
-      -76,   89,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76
-    },
-
-    {
-       11,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77
-    },
-
-    {
-       11,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,   90,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,   90,  -78,  -78,  -78
-    },
-
-    {
-       11,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-       91,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79
-
-    },
-
-    {
-       11,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80
-    },
-
-    {
-       11,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,   92,  -81,   45,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81
-    },
-
-    {
-       11,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,   93,  -82,   45,  -82,  -82,  -82,   93,   93,   93,
-       93,   93,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,   93,   93,   93,
-       93,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82
-    },
-
-    {
-       11,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-       94,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,   94,  -83,
-      -83,  -83,  -83,  -83,  -83
-    },
-
-    {
-       11,   69,   69,   69,   95,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   96,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69
-
-    },
-
-    {
-       11,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   86,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97
-    },
-
-    {
-       11,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   98,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   98,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   99,   51,
-
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   99,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  100,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89
-
-    },
-
-    {
-       11,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  101,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  101,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90
-    },
-
-    {
-       11,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  102,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  102,  -91,  -91,
-
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91
-    },
-
-    {
-       11,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  103,  -92,   45,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92
-    },
-
-    {
-       11,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  104,  -93,   45,  -93,  -93,  -93,  104,  104,  104,
-
-      104,  104,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  104,  104,  104,
-      104,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93
-    },
-
-    {
-       11,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  105,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      105,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94
-
-    },
-
-    {
-       11,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,   96,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106
-    },
-
-    {
-       11,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96
-    },
-
-    {
-       11,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   86,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-
-       51,   51,   51,   51,  107,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,  107,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,  108,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,  108,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-
-    },
-
-    {
-       11, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100,  109, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100,  109, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100
-    },
-
-    {
-       11, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101,  110, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-
-     -101, -101, -101, -101, -101,  110, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101
-    },
-
-    {
-       11, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-      111, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102,  111, -102,
-     -102, -102, -102, -102, -102
-    },
-
-    {
-       11, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103,  112, -103,   45, -103, -103, -103, -103, -103, -103,
-
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103
-    },
-
-    {
-       11, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104,   45, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104
-
-    },
-
-    {
-       11, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105,  113, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105,  113,
-     -105, -105, -105, -105, -105
-    },
-
-    {
-       11,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,   96,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-
-      106,  106,  106,  106,  106,  106,  106,  106,  106,  106,
-      106,  106,  106,  106,  106
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,  114,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,  114,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-
-       51,   51,   51,   51,   51,   51,   51,   51,  115,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,  115,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109,  116, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109,  116, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109
-
-    },
-
-    {
-       11, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110,  117, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110,  117, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110
-    },
-
-    {
-       11, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111,  118, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-
-      118, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111
-    },
-
-    {
-       11, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112,  119, -112,   45, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112
-    },
-
-    {
-       11, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113,  120, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113,  120, -113, -113, -113
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,  121,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,  121,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,  122,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,  122,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116,  123, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-
-     -116, -116, -116, -116, -116, -116,  123, -116, -116, -116,
-     -116, -116, -116, -116, -116
-    },
-
-    {
-       11, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117,  124, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117,  124, -117, -117, -117,
-     -117, -117, -117, -117, -117
-    },
-
-    {
-       11, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118,  125, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118,  125,
-     -118, -118, -118, -118, -118
-    },
-
-    {
-       11, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119,  126, -119,   45, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119
-
-    },
-
-    {
-       11, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120,  127, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120,  127, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120
-    },
-
-    {
-       11,   51,   51,   51,  128,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,  129,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,  130,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,  130,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123,  131, -123, -123,
-
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123,  131, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123
-    },
-
-    {
-       11, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124,  132, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124,  132, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124
-
-    },
-
-    {
-       11, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125,  133, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125,  133, -125, -125, -125
-    },
-
-    {
-       11, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126,   45, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126
-    },
-
-    {
-       11, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127,  134, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127,  134, -127, -127
-    },
-
-    {
-       11,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  129,  135,  135,  135,  135,
-
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135
-    },
-
-    {
-       11, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129
-
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,  136,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,  136
-    },
-
-    {
-       11, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131,  137, -131, -131, -131, -131, -131, -131, -131, -131,
-
-     -131, -131, -131, -131, -131, -131, -131, -131, -131,  137,
-     -131, -131, -131, -131, -131
-    },
-
-    {
-       11, -132, -132, -132,  138, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132,  139, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132
-    },
-
-    {
-       11, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-
-     -133, -133, -133, -133,  140, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133,  140, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133
-    },
-
-    {
-       11, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134,  141, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134,  141, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134
-
-    },
-
-    {
-       11,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  129,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-      142,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,  142,
-
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137,  143, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137,  143
-    },
-
-    {
-       11,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  139,  144,  144,  144,  144,
-
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144
-    },
-
-    {
-       11, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139
-
-    },
-
-    {
-       11, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140,  145, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140,  145, -140, -140
-    },
-
-    {
-       11, -141, -141, -141, -141, -141, -141, -141, -141,  146,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,  147,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,  147,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-
-      148, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143,  148,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143
-    },
-
-    {
-       11,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  139,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144
-
-    },
-
-    {
-       11, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145,  149, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145,  149, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145
-    },
-
-    {
-       11, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146,  150, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-
-     -146, -146, -146, -146, -146, -146,  150, -146, -146, -146,
-     -146, -146, -146, -146, -146
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,  151,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,  151,   51,   51,   51
-    },
-
-    {
-       11, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148,  152, -148, -148,
-
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148,  152, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148
-    },
-
-    {
-       11, -149, -149, -149, -149, -149, -149, -149, -149,  153,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149
-
-    },
-
-    {
-       11, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150,  154,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150,  154, -150, -150,
-     -150, -150, -150, -150, -150
-    },
-
-    {
-       11,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   53,   51,  155,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,  155,   51,   51,
-
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152,  156, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152,  156, -152, -152, -152
-    },
-
-    {
-       11, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-
-     -153, -153, -153, -153, -153, -153, -153, -153,  157, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153,  157, -153, -153, -153,
-     -153, -153, -153, -153, -153
-    },
-
-    {
-       11, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154,  158, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154,  158, -154, -154, -154
-
-    },
-
-    {
-       11,   51,   51,   51,  159,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,  160,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51,   51,   51,   51,   51,   51,
-       51,   51,   51,   51,   51
-    },
-
-    {
-       11, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156,  161, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156,  161, -156, -156,
-
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156
-    },
-
-    {
-       11, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157,  162,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157,  162, -157, -157,
-     -157, -157, -157, -157, -157
-    },
-
-    {
-       11, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158,  163, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158,  163,
-     -158, -158, -158, -158, -158
-    },
-
-    {
-       11,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  160,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164
-
-    },
-
-    {
-       11, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160
-    },
-
-    {
-       11, -161, -161, -161,  165, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161,  166, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161
-    },
-
-    {
-       11, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162,  167, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162,  167, -162, -162, -162
-    },
-
-    {
-       11, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163,  168, -163, -163,
-
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163,  168, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163
-    },
-
-    {
-       11,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  160,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164,  164,  164,  164,  164,  164,
-      164,  164,  164,  164,  164
-
-    },
-
-    {
-       11,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  166,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169
-    },
-
-    {
-       11, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166
-    },
-
-    {
-       11, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167,  170, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167,  170,
-     -167, -167, -167, -167, -167
-    },
-
-    {
-       11, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-
-     -168, -168, -168, -168, -168, -168, -168, -168,  171, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168,  171, -168, -168, -168,
-     -168, -168, -168, -168, -168
-    },
-
-    {
-       11,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  166,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169
-
-    },
-
-    {
-       11, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170,  172, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170,  172, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170
-    },
-
-    {
-       11, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171,  173, -171, -171, -171, -171, -171, -171, -171,
-
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-      173, -171, -171, -171, -171
-    },
-
-    {
-       11, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172,  174, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172,  174, -172, -172, -172,
-     -172, -172, -172, -172, -172
-    },
-
-    {
-       11, -173, -173, -173,  175, -173, -173, -173,  176, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173
-    },
-
-    {
-       11, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174,  177, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-      177, -174, -174, -174, -174
-
-    },
-
-    {
-       11,  178,  178,  178,  178,  178,  178,  178,  179,  178,
-      178,  178,  178,  178,  178, -175,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178
-    },
-
-    {
-       11, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176,  180, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-
-     -176,  180, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176
-    },
-
-    {
-       11, -177, -177, -177, -177, -177, -177, -177,  181, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177
-    },
-
-    {
-       11,  178,  178,  178,  178,  178,  178,  178,  179,  178,
-      178,  178,  178,  178,  178, -178,  178,  178,  178,  178,
-
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178
-    },
-
-    {
-       11,  178,  178,  178,  178,  178,  178,  178,  179,  178,
-      178,  178,  178,  178,  178, -179,  178,  178,  178,  178,
-      178,  178,  182,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  182,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178
-
-    },
-
-    {
-       11, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180,  183, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180,  183, -180, -180, -180
-    },
-
-    {
-       11, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181,  184, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-
-     -181,  184, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181
-    },
-
-    {
-       11,  178,  178,  178,  178,  178,  178,  178,  179,  178,
-      178,  178,  178,  178,  178, -182,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  185,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  185,  178,  178,  178
-    },
-
-    {
-       11, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183,  186, -183, -183, -183, -183, -183, -183,
-
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183
-    },
-
-    {
-       11, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184,  187, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184,  187, -184, -184, -184
-
-    },
-
-    {
-       11,  178,  178,  178,  178,  178,  178,  178,  179,  178,
-      178,  178,  178,  188,  178, -185,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178
-    },
-
-    {
-       11, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186
-    },
-
-    {
-       11, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187,  189, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187
-    },
-
-    {
-       11,  178,  178,  178,  178,  178,  178,  178,  179,  178,
-      178,  178,  178,  178,  178, -188,  178,  178,  178,  178,
-
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
-      178,  178,  178,  178,  178
-    },
-
-    {
-       11, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189
-
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 25
-#define YY_END_OF_BUFFER 26
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[190] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       26,   24,   22,   22,   23,   24,   22,    2,    2,    5,
-        5,    8,    8,   11,   11,   11,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   21,    0,    0,    0,    0,    0,
-        0,    0,   19,    0,    0,    1,    0,    0,    0,    0,
-        0,    0,    0,    0,   21,   12,    0,   18,    0,    0,
-       20,    0,    0,    0,    3,    0,    6,    0,    0,    9,
-        0,    0,    0,    0,    0,   15,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   16,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   14,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    7,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   13,
-        0,    0,    0,    0,    0,    4,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   17,    0,   17,   10
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    5,    1,    6,    7,    1,    8,    1,    1,
-        1,    1,    1,    1,    9,    1,   10,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   12,   13,   14,
-        1,   15,   16,    7,   17,   18,   19,   20,   21,   19,
-       22,   23,   24,   23,   25,   26,   27,   28,   29,   30,
-       23,   31,   32,   33,   34,   23,   23,   35,   36,   23,
-        7,    7,    7,    7,    1,    1,   37,   38,   19,   39,
-
-       40,   19,   41,   23,   42,   23,   43,   44,   45,   46,
-       47,   48,   23,   49,   50,   51,   52,   23,   23,   53,
-       54,   23,    2,    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,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_despptx.cctmp"
-#line 4 "apertium_despptx.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/$]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-map<string, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution["'"] = L"'";
-}
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 2539 "apertium_despptx.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-#define C4 4
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 272 "apertium_despptx.cctmp"
-
-
-
-#line 2748 "apertium_despptx.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 277 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 283 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 292 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 296 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 5:
-/* rule 5 can match eol */
-YY_RULE_SETUP
-#line 302 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 6:
-YY_RULE_SETUP
-#line 311 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 7:
-/* rule 7 can match eol */
-YY_RULE_SETUP
-#line 315 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 8:
-/* rule 8 can match eol */
-YY_RULE_SETUP
-#line 321 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 9:
-YY_RULE_SETUP
-#line 330 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 334 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 11:
-/* rule 11 can match eol */
-YY_RULE_SETUP
-#line 340 "apertium_despptx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 12:
-YY_RULE_SETUP
-#line 346 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 13:
-/* rule 13 can match eol */
-YY_RULE_SETUP
-#line 350 "apertium_despptx.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 14:
-/* rule 14 can match eol */
-YY_RULE_SETUP
-#line 355 "apertium_despptx.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 15:
-/* rule 15 can match eol */
-YY_RULE_SETUP
-#line 360 "apertium_despptx.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 16:
-/* rule 16 can match eol */
-YY_RULE_SETUP
-#line 364 "apertium_despptx.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 17:
-/* rule 17 can match eol */
-YY_RULE_SETUP
-#line 368 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 18:
-/* rule 18 can match eol */
-YY_RULE_SETUP
-#line 372 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 19:
-/* rule 19 can match eol */
-YY_RULE_SETUP
-#line 375 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 20:
-/* rule 20 can match eol */
-YY_RULE_SETUP
-#line 378 "apertium_despptx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 382 "apertium_despptx.cctmp"
-{
-  if(S1_substitution.find(yytext) != S1_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S1_substitution[yytext].c_str(), yyout);
-    offset+=S1_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 396 "apertium_despptx.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 404 "apertium_despptx.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 424 "apertium_despptx.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-case YY_STATE_EOF(C4):
-#line 449 "apertium_despptx.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 456 "apertium_despptx.cctmp"
-ECHO;
-	YY_BREAK
-#line 3077 "apertium_despptx.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 456 "apertium_despptx.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  S1_init();
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_desrtf.cc b/apertium/apertium_desrtf.cc
deleted file mode 100644
index 5952b1e..0000000
--- a/apertium/apertium_desrtf.cc
+++ /dev/null
@@ -1,11681 +0,0 @@
-#line 2 "apertium_desrtf.cc"
-
-#line 4 "apertium_desrtf.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][63] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0
-    },
-
-    {
-       69,   70,   71,   72,   71,   71,   73,   70,   71,   74,
-       75,   70,   75,   75,   75,   75,   75,   75,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-
-       70,   70,   70,   70,   70,   70,   76,   75,   75,   75,
-       75,   75,   75,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-       70,   77,   78
-    },
-
-    {
-       69,   70,   71,   72,   71,   71,   73,   70,   71,   74,
-       75,   70,   75,   75,   75,   75,   75,   75,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   76,   75,   75,   75,
-       75,   75,   75,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-
-       70,   77,   78
-    },
-
-    {
-       69,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   80,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79
-    },
-
-    {
-       69,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   80,   79,   79,   79,   79,   79,   79,   79,   79,
-
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79,   79,   79,   79,   79,   79,   79,   79,
-       79,   79,   79
-    },
-
-    {
-       69,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   82,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81
-    },
-
-    {
-       69,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   82,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
-       81,   81,   81
-    },
-
-    {
-       69,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-
-       83,   84,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83
-    },
-
-    {
-       69,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   84,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83
-    },
-
-    {
-       69,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   86,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85
-
-    },
-
-    {
-       69,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   86,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85
-    },
-
-    {
-       69,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   88,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87
-    },
-
-    {
-       69,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   88,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-       87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
-
-       87,   87,   87
-    },
-
-    {
-       69,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   90,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89
-    },
-
-    {
-       69,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   90,   89,   89,   89,   89,   89,   89,   89,   89,
-
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89
-    },
-
-    {
-       69,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   92,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91
-    },
-
-    {
-       69,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   92,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91,   91,   91,   91,   91,   91,   91,   91,
-       91,   91,   91
-    },
-
-    {
-       69,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-
-       93,   94,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93
-    },
-
-    {
-       69,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   94,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93,   93,   93,   93,   93,   93,   93,   93,
-       93,   93,   93
-    },
-
-    {
-       69,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   96,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95
-
-    },
-
-    {
-       69,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   96,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
-       95,   95,   95
-    },
-
-    {
-       69,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   98,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97
-    },
-
-    {
-       69,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   98,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-       97,   97,   97,   97,   97,   97,   97,   97,   97,   97,
-
-       97,   97,   97
-    },
-
-    {
-       69,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,  100,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99
-    },
-
-    {
-       69,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,  100,   99,   99,   99,   99,   99,   99,   99,   99,
-
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
-       99,   99,   99
-    },
-
-    {
-       69,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  102,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101
-    },
-
-    {
-       69,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  102,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101,  101,  101,  101,  101,  101,  101,  101,
-      101,  101,  101
-    },
-
-    {
-       69,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-
-      103,  104,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103
-    },
-
-    {
-       69,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  104,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103
-    },
-
-    {
-       69,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  106,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105
-
-    },
-
-    {
-       69,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  106,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105
-    },
-
-    {
-       69,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  108,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107
-    },
-
-    {
-       69,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  108,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-      107,  107,  107,  107,  107,  107,  107,  107,  107,  107,
-
-      107,  107,  107
-    },
-
-    {
-       69,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  110,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109
-    },
-
-    {
-       69,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  110,  109,  109,  109,  109,  109,  109,  109,  109,
-
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109,  109,  109,  109,  109,  109,  109,  109,
-      109,  109,  109
-    },
-
-    {
-       69,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  112
-    },
-
-    {
-       69,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  111,  111,  111,  111,  111,  111,  111,  111,
-      111,  111,  112
-    },
-
-    {
-       69,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-
-      113,  114,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113
-    },
-
-    {
-       69,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  114,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113,  113,  113,  113,  113,  113,  113,  113,
-      113,  113,  113
-    },
-
-    {
-       69,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  116,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115
-
-    },
-
-    {
-       69,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  116,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115,  115,  115,  115,  115,  115,  115,  115,
-      115,  115,  115
-    },
-
-    {
-       69,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  118,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117
-    },
-
-    {
-       69,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  118,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
-
-      117,  117,  117
-    },
-
-    {
-       69,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  120
-    },
-
-    {
-       69,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  119,  119,  119,  119,  119,  119,  119,  119,
-      119,  119,  120
-    },
-
-    {
-       69,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  122
-    },
-
-    {
-       69,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  122
-    },
-
-    {
-       69,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  124
-    },
-
-    {
-       69,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  123,  123,  123,  123,  123,  123,  123,  123,
-      123,  123,  124
-    },
-
-    {
-       69,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  126
-
-    },
-
-    {
-       69,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  125,  125,  125,  125,  125,  125,  125,  125,
-      125,  125,  126
-    },
-
-    {
-       69,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  128
-    },
-
-    {
-       69,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-
-      127,  127,  128
-    },
-
-    {
-       69,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  130
-    },
-
-    {
-       69,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  130
-    },
-
-    {
-       69,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  132
-    },
-
-    {
-       69,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  132
-    },
-
-    {
-       69,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  134
-    },
-
-    {
-       69,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  133,  133,  133,  133,  133,  133,  133,  133,
-      133,  133,  134
-    },
-
-    {
-       69,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  136
-
-    },
-
-    {
-       69,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  135,  135,  135,  135,  135,  135,  135,  135,
-      135,  135,  136
-    },
-
-    {
-       69,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  138
-    },
-
-    {
-       69,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-      137,  137,  137,  137,  137,  137,  137,  137,  137,  137,
-
-      137,  137,  138
-    },
-
-    {
-       69,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  140
-    },
-
-    {
-       69,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  139,  139,  139,  139,  139,  139,  139,  139,
-      139,  139,  140
-    },
-
-    {
-       69,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  142
-    },
-
-    {
-       69,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  141,  141,  141,  141,  141,  141,  141,  141,
-      141,  141,  142
-    },
-
-    {
-       69,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  144
-    },
-
-    {
-       69,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
-      143,  143,  144
-    },
-
-    {
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69
-
-    },
-
-    {
-       69,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70
-    },
-
-    {
-       69,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71
-    },
-
-    {
-       69,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-
-      -72,  -72,  -72
-    },
-
-    {
-       69,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73
-    },
-
-    {
-       69,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74
-    },
-
-    {
-       69,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      145,  -75,  145,  145,  145,  145,  145,  145,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  145,  145,  145,
-      145,  145,  145,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75
-    },
-
-    {
-       69,  146,  146,  146,  146,  146,  146,  147,  146,  146,
-      146,  146,  146,  146,  148,  146,  146,  146,  146,  146,
-      146,  146,  146,  146,  146,  146,  149,  146,  150,  146,
-      146,  146,  146,  146,  146,  146,  146,  146,  146,  148,
-      146,  146,  146,  146,  146,  146,  146,  146,  146,  146,
-      146,  149,  146,  150,  146,  146,  146,  146,  146,  146,
-      146,  146,  146
-    },
-
-    {
-       69,  -77,  -77,  151,  151,  151,  -77,  -77,  -77,  -77,
-
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  152,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  153,  -77
-    },
-
-    {
-       69,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78
-    },
-
-    {
-       69,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79
-
-    },
-
-    {
-       69,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80
-    },
-
-    {
-       69,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81
-    },
-
-    {
-       69,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-
-      -82,  -82,  -82
-    },
-
-    {
-       69,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83
-    },
-
-    {
-       69,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84
-    },
-
-    {
-       69,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85
-    },
-
-    {
-       69,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86
-    },
-
-    {
-       69,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87
-    },
-
-    {
-       69,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88
-    },
-
-    {
-       69,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89
-
-    },
-
-    {
-       69,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90
-    },
-
-    {
-       69,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91
-    },
-
-    {
-       69,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-
-      -92,  -92,  -92
-    },
-
-    {
-       69,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93
-    },
-
-    {
-       69,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94
-    },
-
-    {
-       69,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95
-    },
-
-    {
-       69,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96
-    },
-
-    {
-       69,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97
-    },
-
-    {
-       69,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98
-    },
-
-    {
-       69,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99
-
-    },
-
-    {
-       69, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100
-    },
-
-    {
-       69, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101
-    },
-
-    {
-       69, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-
-     -102, -102, -102
-    },
-
-    {
-       69, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103
-    },
-
-    {
-       69, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104
-    },
-
-    {
-       69, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105
-    },
-
-    {
-       69, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106
-    },
-
-    {
-       69, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107
-    },
-
-    {
-       69, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108
-    },
-
-    {
-       69, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109
-
-    },
-
-    {
-       69, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110
-    },
-
-    {
-       69, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111
-    },
-
-    {
-       69, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-
-     -112, -112, -112
-    },
-
-    {
-       69, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113
-    },
-
-    {
-       69, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114
-    },
-
-    {
-       69, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115
-    },
-
-    {
-       69, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116
-    },
-
-    {
-       69, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117
-    },
-
-    {
-       69, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118
-    },
-
-    {
-       69, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119
-
-    },
-
-    {
-       69, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120
-    },
-
-    {
-       69, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121
-    },
-
-    {
-       69, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-
-     -122, -122, -122
-    },
-
-    {
-       69, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123
-    },
-
-    {
-       69, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124
-    },
-
-    {
-       69, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125
-    },
-
-    {
-       69, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126
-    },
-
-    {
-       69, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127
-    },
-
-    {
-       69, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128
-    },
-
-    {
-       69, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129
-
-    },
-
-    {
-       69, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130
-    },
-
-    {
-       69, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131
-    },
-
-    {
-       69, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-
-     -132, -132, -132
-    },
-
-    {
-       69, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133
-    },
-
-    {
-       69, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134
-    },
-
-    {
-       69, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135
-    },
-
-    {
-       69, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136
-    },
-
-    {
-       69, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137
-    },
-
-    {
-       69, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138
-    },
-
-    {
-       69, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139
-
-    },
-
-    {
-       69, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140
-    },
-
-    {
-       69, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141
-    },
-
-    {
-       69, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-
-     -142, -142, -142
-    },
-
-    {
-       69, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143
-    },
-
-    {
-       69, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144
-    },
-
-    {
-       69, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-      154, -145,  154,  154,  154,  154,  154,  154, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145,  154,  154,  154,
-      154,  154,  154, -145, -145, -145, -145, -145, -145, -145,
-
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -146,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-    },
-
-    {
-       69, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-
-      157, -147,  157,  157,  157,  157,  157,  157, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147,  157,  157,  157,
-      157,  157,  157, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  158,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -148,  155,  155,  155,
-
-      155,  158,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  159,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -149,  159,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-
-    },
-
-    {
-       69,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  161,  160,  162,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
-      161,  160,  162,  160,  160,  160,  160,  160,  160,  160,
-      160,  160,  160
-    },
-
-    {
-       69, -151, -151,  151,  151,  151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-
-     -151, -151, -151, -151, -151, -151,  152, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151,  153, -151
-    },
-
-    {
-       69,  163,  163,  163,  163,  163,  163, -152,  163,  163,
-      163,  163,  164,  165,  166,  167,  163,  168,  163,  163,
-      163,  169,  170,  163,  163,  171,  172,  163,  173,  174,
-      163,  163,  163,  163,  163,  163,  163,  164,  165,  166,
-      167,  163,  168,  163,  163,  163,  169,  170,  163,  163,
-      171,  172,  163,  173,  174,  163,  163,  163,  163,  163,
-
-      163,  163,  163
-    },
-
-    {
-       69, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153,  175, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153
-    },
-
-    {
-       69, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-      176, -154,  176,  176,  176,  176,  176,  176, -154, -154,
-
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154,  176,  176,  176,
-      176,  176,  176, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-    },
-
-    {
-       69, -156, -156,  156,  156,  156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156
-    },
-
-    {
-       69, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-
-      177, -157,  177,  177,  177,  177,  177,  177, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157,  177,  177,  177,
-      177,  177,  177, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  178,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -158,  155,  155,  155,
-
-      155,  155,  155,  155,  155,  155,  155,  178,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  179,  155,
-      155,  155,  155,  155,  155,  155, -159,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  179,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-
-    },
-
-    {
-       69,  180,  180,  181,  181,  181,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180, -160,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180
-    },
-
-    {
-       69,  180,  180,  181,  181,  181,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-
-      180,  180,  180,  182,  180,  180, -161,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  182,  180,
-      180,  180,  180
-    },
-
-    {
-       69,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  184,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
-      183,  183,  183,  183,  183,  183,  184,  183,  183,  183,
-
-      183,  183,  183
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  189,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      189,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  190,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  190,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  191,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      191,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  192,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      192,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  193,  194,  195,  196,  185,  185,  185,  197,
-      185,  185,  198,  199,  200,  201,  185,  185,  202,  203,
-      204,  185,  185,  185,  185,  185,  187,  193,  194,  195,
-
-      196,  185,  185,  185,  197,  185,  185,  198,  199,  200,
-      201,  185,  185,  202,  203,  204,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  205,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  205,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  206,  185,  185,  207,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  206,  185,  185,  207,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  208,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  208,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  209,
-      185,  185,  185,  185,  210,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  209,  185,  185,  185,  185,  210,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  211,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  211,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  212,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  213,  185,  185,  185,  185,  185,
-      185,  185,  214,  185,  185,  185,  187,  185,  212,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  213,
-      185,  185,  185,  185,  185,  185,  185,  214,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -175, -175, -175, -175, -175, -175, -175,  215, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175
-    },
-
-    {
-       69, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-      216, -176,  216,  216,  216,  216,  216,  216, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176,  216,  216,  216,
-      216,  216,  216, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176
-    },
-
-    {
-       69, -177, -177,  217,  218, -177, -177, -177, -177, -177,
-
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  219,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -178,  155,  155,  155,
-
-      155,  155,  155,  155,  155,  155,  155,  219,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -179,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-
-    },
-
-    {
-       69,  180,  180,  181,  181,  181,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180, -180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180
-    },
-
-    {
-       69, -181, -181,  181,  181,  181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181
-    },
-
-    {
-       69,  180,  180,  181,  181,  181,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180, -182,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-
-      180,  180,  180
-    },
-
-    {
-       69,  220,  220,  221,  221,  221,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220, -183,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220
-    },
-
-    {
-       69,  222,  222,  222,  222,  222,  222,  222,  222,  222,
-      222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
-
-      222,  222,  222,  222,  222,  223,  222,  222,  222,  222,
-      222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
-      222,  222,  222,  222,  222,  222,  222,  222,  222,  222,
-      223,  222,  222,  222,  222,  222,  222,  222,  222,  222,
-      222,  222,  222
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -186, -186,  186,  186,  186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186,  187, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186,  153, -186
-    },
-
-    {
-       69,  224,  224,  224,  224,  224,  224, -187,  224,  224,
-
-      224,  224,  225,  226,  227,  228,  224,  229,  224,  224,
-      224,  230,  231,  224,  224,  232,  233,  224,  234,  235,
-      224,  224,  224,  224,  224,  224,  224,  225,  226,  227,
-      228,  224,  229,  224,  224,  224,  230,  231,  224,  224,
-      232,  233,  224,  234,  235,  224,  224,  224,  224,  224,
-      224,  224,  224
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  236,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  237,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      237,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  238,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  238,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  239,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  239,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  240,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  240,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  241,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  241,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  242,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  242,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  243,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  243,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  244,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  244,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  245,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  245,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  246,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      246,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  247,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      247,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  248,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  248,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  249,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  249,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  250,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      250,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  251,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  252,  185,  185,  187,  185,  185,  251,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  252,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  253,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  253,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  254,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      254,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  255,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  255,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  256,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  256,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      257,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  257,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  258,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  258,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      259,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  259,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  260,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  260,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  261,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  261,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  262,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  262,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215,  263, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215
-    },
-
-    {
-       69, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-      264, -216,  264,  264,  264,  264,  264,  264, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216,  264,  264,  264,
-      264,  264,  264, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216
-    },
-
-    {
-       69, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217
-    },
-
-    {
-       69, -218, -218,  217, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218
-    },
-
-    {
-       69,  155,  155,  156,  156,  156,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155, -219,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155,  155,  155,  155,  155,  155,  155,  155,
-      155,  155,  155
-
-    },
-
-    {
-       69,  220,  220,  221,  221,  221,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220, -220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220,  220,  220,  220,  220,  220,  220,  220,
-      220,  220,  220
-    },
-
-    {
-       69, -221, -221,  221,  221,  221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221
-    },
-
-    {
-       69,  265,  265,  266,  266,  266,  265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265, -222,  265,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-
-      265,  265,  265
-    },
-
-    {
-       69,  267,  267,  267,  267,  267,  267,  267,  267,  267,
-      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
-      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
-      268,  267,  267,  267,  267,  267,  267,  267,  267,  267,
-      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
-      267,  267,  267,  267,  267,  268,  267,  267,  267,  267,
-      267,  267,  267
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  272,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      272,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  273,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  273,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  274,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      274,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  275,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      275,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  276,  277,  278,  279,  269,  269,  269,  280,
-      269,  269,  281,  282,  283,  284,  269,  269,  285,  286,
-      287,  269,  269,  269,  269,  269,  187,  276,  277,  278,
-      279,  269,  269,  269,  280,  269,  269,  281,  282,  283,
-      284,  269,  269,  285,  286,  287,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  288,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  288,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  289,  269,  269,  290,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  289,  269,  269,  290,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  291,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  291,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  292,
-      269,  269,  269,  269,  293,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  292,  269,  269,  269,  269,  293,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  294,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  294,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  295,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  296,  269,  269,  269,  269,  269,
-      269,  269,  297,  269,  269,  269,  187,  269,  295,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  296,
-
-      269,  269,  269,  269,  269,  269,  269,  297,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  224,  224,  224,  224,  224,  224, -236,  298,  224,
-      224,  224,  225,  226,  227,  228,  224,  229,  224,  224,
-      224,  230,  231,  224,  224,  232,  233,  224,  234,  235,
-      224,  224,  224,  224,  224,  224,  224,  225,  226,  227,
-      228,  224,  229,  224,  224,  224,  230,  231,  224,  224,
-      232,  233,  224,  234,  235,  224,  224,  224,  224,  224,
-      224,  224,  224
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  299,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  299,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  300,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  300,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  301,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      301,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  302,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  302,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      303,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  303,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  304,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      304,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  305,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  305,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  306,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  306,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  307,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  307,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  308,
-      185,  185,  185,  185,  185,  185,  185,  185,  309,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  308,  185,  185,  185,  185,  185,
-      185,  185,  185,  309,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  310,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      310,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  311,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  311,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      312,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  312,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  313,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  313,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  314,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  314,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  315,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  315,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  316,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  316,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  317,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  317,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  318,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  318,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      319,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  319,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  320,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  320,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      321,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  321,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  322,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  322,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  323,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  323,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  324,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  324,
-
-      185,  188,  185
-    },
-
-    {
-       69, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263,  325, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263,  325, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263
-    },
-
-    {
-       69, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-      326, -264,  326,  326,  326,  326,  326,  326, -264, -264,
-
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264,  326,  326,  326,
-      326,  326,  326, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264
-    },
-
-    {
-       69,  265,  265,  266,  266,  266,  265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265, -265,  265,  265,  265,
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-
-      265,  265,  265,  265,  265,  265,  265,  265,  265,  265,
-      265,  265,  265
-    },
-
-    {
-       69, -266, -266,  266,  266,  266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266, -266, -266, -266, -266, -266, -266, -266,
-     -266, -266, -266
-    },
-
-    {
-       69,  327,  327,  328,  328,  328,  327,  327,  327,  327,
-
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327,  327,  327,  327, -267,  327,  327,  327,
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327
-    },
-
-    {
-       69,  329,  329,  329,  329,  329,  329,  329,  329,  329,
-      329,  329,  329,  329,  329,  329,  330,  329,  329,  329,
-      329,  329,  329,  329,  329,  329,  329,  329,  329,  329,
-      329,  329,  329,  329,  329,  329,  329,  329,  329,  329,
-
-      329,  330,  329,  329,  329,  329,  329,  329,  329,  329,
-      329,  329,  329,  329,  329,  329,  329,  329,  329,  329,
-      329,  329,  329
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69, -270, -270,  270,  270,  270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270,  187, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270, -270, -270, -270, -270, -270, -270, -270, -270, -270,
-     -270,  153, -270
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  236,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  331,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      331,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  332,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  332,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  333,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  333,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  334,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  334,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  335,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  335,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  336,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  336,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  337,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  337,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  338,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  338,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  339,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  339,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  340,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      340,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  341,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      341,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  342,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  342,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  343,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  343,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  344,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      344,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  345,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  346,  269,  269,  187,  269,  269,  345,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  346,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  347,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  347,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  348,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      348,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  349,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  349,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  350,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  350,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      351,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  351,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  352,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  352,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      353,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  353,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  354,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  354,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  355,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  355,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  356,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  356,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  357,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      358,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  358,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  359,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  360,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  359,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  360,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  361,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  361,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  362,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  362,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  363,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  363,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  364,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  364,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  365,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      365,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  366,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  366,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  367,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  367,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  368,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  368,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  369,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  369,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  370,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  370,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  371,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  371,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  372,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  372,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  373,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  373,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  374,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      374,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  375,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  375,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  376,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  376,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  377,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  377,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      378,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  378,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  379,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  379,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      380,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  380,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325,  381, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325,  381, -325, -325,
-
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325
-    },
-
-    {
-       69, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-      382, -326,  382,  382,  382,  382,  382,  382, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326,  382,  382,  382,
-      382,  382,  382, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326
-    },
-
-    {
-       69,  327,  327,  328,  328,  328,  327,  327,  327,  327,
-
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327,  327,  327,  327, -327,  327,  327,  327,
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327,  327,  327,  327,  327,  327,  327,  327,
-      327,  327,  327
-    },
-
-    {
-       69, -328, -328,  328,  328,  328, -328, -328, -328, -328,
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328, -328, -328, -328, -328, -328, -328, -328, -328, -328,
-     -328, -328, -328
-    },
-
-    {
-       69,  383,  383,  384,  384,  384,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383, -329,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383
-
-    },
-
-    {
-       69,  385,  385, -330, -330,  386,  385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385, -330,  385,  385,  385,
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-      385,  385,  385
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  387,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  387,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  388,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  388,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  389,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      389,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  390,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  390,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      391,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  391,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  392,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      392,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  393,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  393,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  394,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  394,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  395,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  395,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  396,
-      269,  269,  269,  269,  269,  269,  269,  269,  397,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  396,  269,  269,  269,  269,  269,
-      269,  269,  269,  397,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  398,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      398,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  399,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  399,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      400,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  400,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  401,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  401,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  402,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  402,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  403,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  403,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  404,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  404,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  405,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  405,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  406,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  406,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      407,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  407,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  408,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  408,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      409,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  409,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  410,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  410,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  411,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  411,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  412,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  412,
-      269,  271,  269
-    },
-
-    {
-       69,  224,  224,  224,  224,  224,  224, -357,  224,  224,
-
-      224,  224,  225,  413,  227,  228,  224,  229,  224,  224,
-      224,  230,  231,  224,  224,  232,  233,  224,  234,  235,
-      224,  224,  224,  224,  224,  224,  224,  225,  413,  227,
-      228,  224,  229,  224,  224,  224,  230,  231,  224,  224,
-      232,  233,  224,  234,  235,  224,  224,  224,  224,  224,
-      224,  224,  224
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  414,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  414,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  415,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  415,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      416,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  416,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      417,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  417,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  418,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  418,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  419,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  419,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  420,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  420,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  421,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  421,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  422,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  422,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  423,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  423,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  424,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  424,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  425,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  425,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  426,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  426,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  427,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  427,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  428,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      428,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  429,  185,  185,  185,  185,  185,
-      430,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  429,
-
-      185,  185,  185,  185,  185,  430,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  431,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  431,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      432,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  432,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  433,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      433,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-     -381, -381, -381, -381, -381, -381, -381, -381, -381,  434,
-     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-
-     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-     -381, -381, -381, -381,  434, -381, -381, -381, -381, -381,
-     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-     -381, -381, -381
-    },
-
-    {
-       69, -382, -382, -382, -382, -382, -382, -382, -382, -382,
-      435, -382,  435,  435,  435,  435,  435,  435, -382, -382,
-     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
-     -382, -382, -382, -382, -382, -382, -382,  435,  435,  435,
-      435,  435,  435, -382, -382, -382, -382, -382, -382, -382,
-     -382, -382, -382, -382, -382, -382, -382, -382, -382, -382,
-
-     -382, -382, -382
-    },
-
-    {
-       69,  383,  383,  384,  384,  384,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383, -383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
-      383,  383,  383
-    },
-
-    {
-       69, -384, -384,  384,  384,  384, -384, -384, -384, -384,
-     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
-
-     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
-     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
-     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
-     -384, -384, -384, -384, -384, -384, -384, -384, -384, -384,
-     -384, -384, -384
-    },
-
-    {
-       69,  385,  385,  436,  436,  436,  385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385, -385,  385,  385,  385,
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-
-      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
-      385,  385,  385
-    },
-
-    {
-       69, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386, -386, -386, -386, -386, -386, -386, -386,
-     -386, -386, -386
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      437,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  437,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  438,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  439,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  438,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  439,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  440,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  440,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  441,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  441,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  442,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  442,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  443,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  443,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  444,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      444,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  445,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  445,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  446,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  446,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  447,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  447,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  448,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  448,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  449,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  449,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  450,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  450,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  451,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  451,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  452,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  452,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  453,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      453,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  454,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  454,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  455,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  455,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  456,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  456,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      457,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  457,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  458,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  458,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      459,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  459,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  273,  460,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  273,  460,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  461,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  461,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  462,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      462,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  463,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  463,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  464,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  464,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  465,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  465,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      466,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  466,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      467,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  467,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  468,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  468,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  469,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  469,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      470,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  470,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  471,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  471,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  472,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  472,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  473,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  473,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  474,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  474,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  475,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      475,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-
-     -434, -434, -434, -434, -434, -434,  476, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434,  476, -434, -434, -434, -434, -434, -434, -434, -434,
-     -434, -434, -434
-    },
-
-    {
-       69, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-      477, -435,  477,  477,  477,  477,  477,  477, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435, -435, -435, -435, -435,  477,  477,  477,
-      477,  477,  477, -435, -435, -435, -435, -435, -435, -435,
-
-     -435, -435, -435, -435, -435, -435, -435, -435, -435, -435,
-     -435, -435, -435
-    },
-
-    {
-       69, -436, -436,  436,  436,  436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436, -436, -436, -436, -436, -436, -436, -436,
-     -436, -436, -436
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  478,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  478,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  479,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  479,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      480,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  480,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      481,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  481,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  482,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  482,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  483,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  483,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  484,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  484,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  485,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  485,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  486,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  486,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  487,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  487,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  488,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  488,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  489,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  489,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  490,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  490,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  491,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  491,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  492,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      492,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  493,  269,  269,  269,  269,  269,
-      494,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  493,
-      269,  269,  269,  269,  269,  494,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  495,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  495,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      496,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  496,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  497,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      497,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  498,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  498,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  499,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  499,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  500,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  500,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  501,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  501,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      502,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  502,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  503,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  503,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  504,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  504,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  505,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  505,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  506,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  506,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  507,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  507,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476,  508, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476, -476, -476, -476, -476,
-     -476, -476, -476, -476, -476, -476,  508, -476, -476, -476,
-     -476, -476, -476
-    },
-
-    {
-       69, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-
-      509, -477,  509,  509,  509,  509,  509,  509, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477,  509,  509,  509,
-      509,  509,  509, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477, -477, -477, -477, -477, -477, -477, -477,
-     -477, -477, -477
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  510,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  510,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  511,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      511,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  512,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  512,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  513,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  513,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  514,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  514,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      515,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  515,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      516,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  516,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  517,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  517,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  518,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  518,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      519,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  519,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  520,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  520,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  521,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  521,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  522,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  522,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  523,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  523,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  524,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      524,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  525,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  525,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      526,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  526,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  527,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  527,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      528,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  528,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508,  529,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-
-     -508, -508, -508, -508,  529, -508, -508, -508, -508, -508,
-     -508, -508, -508, -508, -508, -508, -508, -508, -508, -508,
-     -508, -508, -508
-    },
-
-    {
-       69, -509, -509, -509, -509, -509, -509, -509, -509, -509,
-      530, -509,  530,  530,  530,  530,  530,  530, -509, -509,
-     -509, -509, -509, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509, -509, -509, -509, -509, -509,  530,  530,  530,
-      530,  530,  530, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509, -509, -509, -509, -509, -509, -509, -509, -509,
-     -509, -509, -509
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  531,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  531,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  532,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  532,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  533,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  533,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      534,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  534,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  535,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  535,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  536,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  536,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  537,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  537,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  538,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  538,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  539,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  539,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  540,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  540,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  541,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  541,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529,  542, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-      542, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529, -529, -529, -529, -529, -529, -529, -529,
-     -529, -529, -529
-
-    },
-
-    {
-       69, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-      543, -530,  543,  543,  543,  543,  543,  543, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530,  543,  543,  543,
-      543,  543,  543, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530, -530, -530, -530, -530, -530, -530, -530,
-     -530, -530, -530
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      544,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  544,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  545,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  545,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      546,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  546,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  547,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  547,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  548,  185,
-
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  548,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -542, -542, -542, -542,  549, -542, -542, -542, -542,
-     -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
-     -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
-     -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
-     -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
-     -542, -542, -542, -542, -542, -542, -542, -542, -542, -542,
-
-     -542, -542, -542
-    },
-
-    {
-       69, -543, -543, -543, -543, -543, -543, -543, -543, -543,
-      550, -543,  550,  550,  550,  550,  550,  550, -543, -543,
-     -543, -543, -543, -543, -543, -543, -543, -543, -543, -543,
-     -543, -543, -543, -543, -543, -543, -543,  550,  550,  550,
-      550,  550,  550, -543, -543, -543, -543, -543, -543, -543,
-     -543, -543, -543, -543, -543, -543, -543, -543, -543, -543,
-     -543, -543, -543
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  551,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  551,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-
-      269,  269,  269,  269,  269,  552,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      552,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  553,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  553,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69, -549, -549, -549, -549,  554, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549, -549, -549, -549, -549, -549, -549, -549,
-     -549, -549, -549
-
-    },
-
-    {
-       69, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-      555, -550,  555,  555,  555,  555,  555,  555, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550,  555,  555,  555,
-      555,  555,  555, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550, -550, -550, -550, -550, -550, -550, -550,
-     -550, -550, -550
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  556,  269,
-
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  556,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  269,  269,  270,  270,  557,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-
-      269,  271,  269
-    },
-
-    {
-       69,  185,  185,  186,  186,  186,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  187,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
-      185,  188,  185
-    },
-
-    {
-       69,  558,  558, -554, -554, -554,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558
-    },
-
-    {
-       69, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-      559, -555,  559,  559,  559,  559,  559,  559, -555, -555,
-     -555, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-     -555, -555, -555, -555, -555, -555, -555,  559,  559,  559,
-      559,  559,  559, -555, -555, -555, -555, -555, -555, -555,
-
-     -555, -555, -555, -555, -555, -555, -555, -555, -555, -555,
-     -555, -555, -555
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  560,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  560,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69, -557, -557,  270,  270,  561, -557, -557, -557, -557,
-
-     -557, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-     -557, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-     -557, -557, -557, -557, -557, -557,  187, -557, -557, -557,
-     -557, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-     -557, -557, -557, -557, -557, -557, -557, -557, -557, -557,
-     -557,  153, -557
-    },
-
-    {
-       69,  558,  558, -558, -558, -558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69, -559, -559, -559, -559, -559, -559, -559, -559, -559,
-      563, -559,  563,  563,  563,  563,  563,  563, -559, -559,
-     -559, -559, -559, -559, -559, -559, -559, -559, -559, -559,
-     -559, -559, -559, -559, -559, -559, -559,  563,  563,  563,
-      563,  563,  563, -559, -559, -559, -559, -559, -559, -559,
-     -559, -559, -559, -559, -559, -559, -559, -559, -559, -559,
-     -559, -559, -559
-
-    },
-
-    {
-       69,  269,  269,  270,  270,  270,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  187,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  269,  269,  269,  269,  269,  269,  269,  269,  269,
-      269,  271,  269
-    },
-
-    {
-       69,  558,  558,  270,  270,  270,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  564,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  565,  558
-    },
-
-    {
-       69,  558,  558, -562, -562, -562,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  562
-    },
-
-    {
-       69, -563, -563, -563, -563, -563, -563, -563, -563, -563,
-      566, -563,  566,  566,  566,  566,  566,  566, -563, -563,
-     -563, -563, -563, -563, -563, -563, -563, -563, -563, -563,
-     -563, -563, -563, -563, -563, -563, -563,  566,  566,  566,
-      566,  566,  566, -563, -563, -563, -563, -563, -563, -563,
-     -563, -563, -563, -563, -563, -563, -563, -563, -563, -563,
-     -563, -563, -563
-    },
-
-    {
-       69,  567,  567,  224,  224,  224,  567,  558,  567,  567,
-      567,  567,  568,  569,  570,  571,  567,  572,  567,  567,
-
-      567,  573,  574,  567,  567,  575,  576,  567,  577,  578,
-      567,  567,  567,  567,  567,  567,  567,  568,  569,  570,
-      571,  567,  572,  567,  567,  567,  573,  574,  567,  567,
-      575,  576,  567,  577,  578,  567,  567,  567,  567,  567,
-      567,  567,  579
-    },
-
-    {
-       69,  558,  558, -565, -565, -565,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  580,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69, -566, -566, -566, -566, -566, -566, -566, -566, -566,
-      581, -566,  581,  581,  581,  581,  581,  581, -566, -566,
-     -566, -566, -566, -566, -566, -566, -566, -566, -566, -566,
-     -566, -566, -566, -566, -566, -566, -566,  581,  581,  581,
-      581,  581,  581, -566, -566, -566, -566, -566, -566, -566,
-     -566, -566, -566, -566, -566, -566, -566, -566, -566, -566,
-     -566, -566, -566
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  585,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      585,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  586,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  586,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  587,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      587,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  588,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      588,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  589,  590,  591,  592,  582,  582,  582,  593,
-      582,  582,  594,  595,  596,  597,  582,  582,  598,  599,
-      600,  582,  582,  582,  582,  582,  564,  589,  590,  591,
-      592,  582,  582,  582,  593,  582,  582,  594,  595,  596,
-      597,  582,  582,  598,  599,  600,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  601,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  601,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  602,  582,  582,  603,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  602,  582,  582,  603,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  604,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  604,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  605,
-      582,  582,  582,  582,  606,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  605,  582,  582,  582,  582,  606,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  607,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  607,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  608,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  609,  582,  582,  582,  582,  582,
-      582,  582,  610,  582,  582,  582,  564,  582,  608,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  609,
-      582,  582,  582,  582,  582,  582,  582,  610,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  558,  558, -580, -580, -580,  558,  558,  611,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-      612, -581,  612,  612,  612,  612,  612,  612, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-
-     -581, -581, -581, -581, -581, -581, -581,  612,  612,  612,
-      612,  612,  612, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581, -581, -581, -581, -581, -581, -581, -581,
-     -581, -581, -581
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  613,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  614,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      614,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  615,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  615,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  616,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  616,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  617,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  617,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  618,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  618,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  619,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  619,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  620,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  620,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  621,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  621,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  622,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  622,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  623,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      623,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  624,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      624,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  625,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  625,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  626,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  626,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  627,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      627,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  628,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  629,  582,  582,  564,  582,  582,  628,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  629,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  630,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  630,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  631,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      631,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  632,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  632,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  633,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  633,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      634,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  634,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  635,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  635,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      636,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  636,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  637,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  637,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  638,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  638,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  639,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  639,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -611, -611, -611,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  558,  558,  558,  558,  640,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-      641, -612,  641,  641,  641,  641,  641,  641, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612,  641,  641,  641,
-      641,  641,  641, -612, -612, -612, -612, -612, -612, -612,
-     -612, -612, -612, -612, -612, -612, -612, -612, -612, -612,
-
-     -612, -612, -612
-    },
-
-    {
-       69,  567,  567,  224,  224,  224,  567,  558,  642,  567,
-      567,  567,  568,  569,  570,  571,  567,  572,  567,  567,
-      567,  573,  574,  567,  567,  575,  576,  567,  577,  578,
-      567,  567,  567,  567,  567,  567,  567,  568,  569,  570,
-      571,  567,  572,  567,  567,  567,  573,  574,  567,  567,
-      575,  576,  567,  577,  578,  567,  567,  567,  567,  567,
-      567,  567,  579
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  643,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  643,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  644,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  644,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  645,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      645,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  646,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  646,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      647,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  647,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  648,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      648,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  649,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  649,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  650,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  650,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  651,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  651,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  652,
-      582,  582,  582,  582,  582,  582,  582,  582,  653,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  652,  582,  582,  582,  582,  582,
-      582,  582,  582,  653,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  654,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      654,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  655,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  655,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      656,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  656,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  657,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  657,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  658,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  658,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  659,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  659,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  660,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  660,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  661,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  661,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  662,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  662,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      663,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  663,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  664,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  664,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      665,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  665,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  666,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  666,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  667,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  667,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  668,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  668,
-      582,  583,  584
-
-    },
-
-    {
-       69,  558,  558, -640, -640, -640,  558,  558,  558,  558,
-      558,  558,  558,  669,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  669,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69, -641, -641, -641, -641, -641, -641, -641, -641, -641,
-      641, -641,  641,  641,  641,  641,  641,  641, -641, -641,
-     -641, -641, -641, -641, -641, -641, -641, -641, -641, -641,
-
-     -641, -641, -641, -641, -641, -641, -641,  641,  641,  641,
-      641,  641,  641, -641, -641, -641, -641, -641, -641, -641,
-     -641, -641, -641, -641, -641, -641, -641, -641, -641, -641,
-     -641, -641, -641
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  670,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      671,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  671,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  672,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  673,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  672,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  673,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  674,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  674,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  675,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  675,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  676,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  676,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  677,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  677,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  678,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      678,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  679,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  679,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  680,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  680,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  681,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  681,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  682,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  682,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  683,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  683,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  684,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  684,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  685,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  685,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  686,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  686,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  687,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      687,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  688,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  688,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  689,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  689,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  690,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  690,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      691,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  691,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  692,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  692,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      693,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  693,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -669, -669, -669,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  694,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  694,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-
-    },
-
-    {
-       69,  567,  567,  224,  224,  224,  567,  558,  567,  567,
-      567,  567,  568,  695,  570,  571,  567,  572,  567,  567,
-      567,  573,  574,  567,  567,  575,  576,  567,  577,  578,
-      567,  567,  567,  567,  567,  567,  567,  568,  695,  570,
-      571,  567,  572,  567,  567,  567,  573,  574,  567,  567,
-      575,  576,  567,  577,  578,  567,  567,  567,  567,  567,
-      567,  567,  579
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  696,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  696,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  697,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  697,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      698,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  698,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      699,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  699,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  700,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  700,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  701,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  701,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  702,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  702,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  703,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  703,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  704,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  704,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  705,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  705,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  706,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  706,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  707,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  707,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  708,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  708,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  709,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  709,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  710,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      710,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  711,  582,  582,  582,  582,  582,
-      712,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  711,
-      582,  582,  582,  582,  582,  712,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  713,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  713,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      714,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  714,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  715,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      715,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -694, -694, -694,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  716,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  716,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  586,  717,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  586,  717,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  718,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  718,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  719,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      719,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  720,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  720,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  721,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  721,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  722,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  722,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      723,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  723,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      724,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  724,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  725,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  725,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  726,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  726,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      727,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  727,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  728,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  728,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  729,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  729,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  730,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  730,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  731,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  731,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  732,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      732,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -716, -716, -716,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  733,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  733,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  734,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  734,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  735,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  735,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  736,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  736,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  737,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  737,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      738,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  738,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  739,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  739,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  740,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  740,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  741,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  741,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  742,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  742,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  743,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  743,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -733, -733, -733,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  744,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  744,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  745,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  745,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      746,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  746,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  747,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  747,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      748,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  748,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -744, -744, -744,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  749,
-
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  749,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  750,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  750,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  751,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  751,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -749, -749, -749,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  752,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      752,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  562
-
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  753,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  753,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  754,  582,
-
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  754,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  558,  558, -752, -752,  549,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-      558,  558,  558,  558,  558,  558,  558,  558,  558,  558,
-
-      558,  558,  562
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  755,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      755,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  756,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  756,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  557,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    {
-       69,  582,  582,  270,  270,  270,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  564,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  582,  582,  582,  582,  582,  582,  582,  582,  582,
-      582,  583,  584
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 117
-#define YY_END_OF_BUFFER 118
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[757] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,  118,  116,
-      114,  114,  114,  115,  116,  115,  111,  110,    2,    1,
-        4,    3,    6,    5,    8,    7,   10,    9,   12,   11,
-       14,   13,   16,   15,   18,   17,   20,   19,   22,   21,
-
-       24,   23,   26,   25,   28,   27,   30,   29,   32,   31,
-       34,   33,   36,   35,   38,   37,   40,   39,   42,   41,
-       44,   43,   46,   45,   48,   47,   50,   49,   52,   51,
-       54,   53,   56,   55,   58,   57,   60,   59,   62,   61,
-       64,   63,   66,   65,    0,  103,    0,  103,  103,    0,
-        0,    0,    0,    0,  103,  103,    0,  103,  103,  104,
-      104,    0,  102,  102,  102,  102,  102,  102,  102,  102,
-      102,  102,  102,  102,    0,    0,  113,  103,  101,  104,
-      104,  101,  105,    0,  102,  102,    0,  102,  102,  102,
-      102,  102,  102,  102,  102,  102,  102,  102,  102,   80,
-
-      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
-      102,  102,   88,   89,    0,    0,  113,  113,  101,  105,
-      105,  106,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,  102,  102,  102,  102,
-      102,  102,  102,  102,  102,  102,  102,  102,  102,  102,
-      102,  102,  102,  102,  102,  102,  102,  102,  102,   95,
-      102,  102,    0,    0,  106,  106,  107,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   80,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   88,   89,    0,  102,  102,
-
-      102,  102,   78,  102,  102,  102,   83,  102,  102,  102,
-       70,  102,  102,  102,  102,  102,  102,  102,  102,  102,
-       87,  102,  102,  102,    0,    0,  107,  107,  108,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   95,    0,    0,    0,  102,  102,  102,
-      102,  102,   77,  102,  102,  102,  102,  102,  102,  102,
-      102,  102,   76,  102,  102,  102,  102,   98,  102,   67,
-        0,    0,  108,  108,  109,  112,    0,    0,    0,    0,
-       78,    0,    0,    0,   83,    0,    0,    0,   70,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,   87,    0,
-        0,    0,    0,  102,  102,  102,  102,   92,  102,   75,
-      102,  102,  102,  102,   71,  102,   72,  102,  102,  102,
-      102,   91,  102,    0,    0,  109,    0,    0,    0,    0,
-        0,   77,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   76,    0,    0,    0,    0,   98,    0,   67,    0,
-      102,   94,  102,  102,  102,   96,   97,   73,  102,   74,
-       68,  102,  102,  102,  102,    0,    0,    0,    0,    0,
-        0,   92,    0,   75,    0,    0,    0,    0,   71,    0,
-       72,    0,    0,    0,    0,   91,    0,    0,   82,  102,
-
-       99,   69,   79,  102,  102,   84,   81,    0,    0,    0,
-       94,    0,    0,    0,   96,   97,   73,    0,   74,   68,
-        0,    0,    0,    0,    0,   93,  102,   85,    0,    0,
-       82,    0,   99,   69,   79,    0,    0,   84,   81,    0,
-      102,    0,    0,   93,    0,   85,    0,  102,    0,    0,
-        0,    0,   86,    0,    0,    0,    0,    0,    0,   86,
-        0,   90,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   90,    0,
-        0,    0,    0,   90,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   80,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,   88,   89,
-        0,  100,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   95,    0,    0,    0,
-      100,    0,    0,    0,    0,    0,   78,    0,    0,    0,
-       83,    0,    0,    0,   70,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   87,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   77,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   76,    0,    0,    0,    0,
-       98,    0,   67,    0,    0,    0,    0,    0,    0,   92,
-
-        0,   75,    0,    0,    0,    0,   71,    0,   72,    0,
-        0,    0,    0,   91,    0,    0,    0,    0,   94,    0,
-        0,    0,   96,   97,   73,    0,   74,   68,    0,    0,
-        0,    0,    0,    0,   82,    0,   99,   69,   79,    0,
-        0,   84,   81,    0,    0,   93,    0,   85,    0,    0,
-        0,    0,    0,    0,    0,   86
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    5,    1,    1,    1,    6,    1,    1,    7,    1,
-        1,    8,    1,    1,    1,    1,    9,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,    1,   11,    9,
-        1,    9,    1,    9,   12,   13,   14,   15,   16,   17,
-        1,   18,   19,   20,   21,   22,   23,   24,   25,   26,
-       27,   28,   29,   30,   31,   32,   33,   34,   35,    1,
-        9,   36,    9,    9,    1,    1,   37,   38,   39,   40,
-
-       41,   42,    1,   43,   44,   45,   46,   47,   48,   49,
-       50,   51,   52,   53,   54,   55,   56,   57,   58,   59,
-       60,    1,   61,    1,   62,    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
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_desrtf.cctmp"
-#line 4 "apertium_desrtf.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "(\\\\|[][<>@^$/{}])", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "''", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-map<string, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution["\\rquote "] = L"'";
-  S1_substitution["'"] = L"'";
-}
-map<string, wstring, Ltstr> S2_substitution;
-
-void S2_init()
-{
-  S2_substitution["\\'c0"] = L"À";
-  S2_substitution["\\'c1"] = L"Á";
-  S2_substitution["\\'c2"] = L"Â";
-  S2_substitution["\\'c3"] = L"Ã";
-  S2_substitution["\\'c4"] = L"Ä";
-  S2_substitution["\\'c5"] = L"Å";
-  S2_substitution["\\'c6"] = L"Æ";
-  S2_substitution["\\'c7"] = L"Ç";
-  S2_substitution["\\'c8"] = L"È";
-  S2_substitution["\\'c9"] = L"É";
-  S2_substitution["\\'ca"] = L"Ê";
-  S2_substitution["\\'cb"] = L"Ë";
-  S2_substitution["\\'cc"] = L"Ì";
-  S2_substitution["\\'cd"] = L"Í";
-  S2_substitution["\\'ce"] = L"Î";
-  S2_substitution["\\'cf"] = L"Ï";
-  S2_substitution["\\'d0"] = L"Ð";
-  S2_substitution["\\'d1"] = L"Ñ";
-  S2_substitution["\\'d2"] = L"Ò";
-  S2_substitution["\\'d3"] = L"Ó";
-  S2_substitution["\\'d4"] = L"Ô";
-  S2_substitution["\\'d5"] = L"Õ";
-  S2_substitution["\\'d6"] = L"Ö";
-  S2_substitution["\\'d8"] = L"Ø";
-  S2_substitution["\\'d9"] = L"Ù";
-  S2_substitution["\\'da"] = L"Ú";
-  S2_substitution["\\'db"] = L"Û";
-  S2_substitution["\\'dc"] = L"Ü";
-  S2_substitution["\\'dd"] = L"Ý";
-  S2_substitution["\\'de"] = L"Þ";
-  S2_substitution["\\'df"] = L"ß";
-  S2_substitution["\\'e0"] = L"à";
-  S2_substitution["\\'e1"] = L"á";
-  S2_substitution["\\'e2"] = L"â";
-  S2_substitution["\\'e3"] = L"ã";
-  S2_substitution["\\'e4"] = L"ä";
-  S2_substitution["\\'e5"] = L"å";
-  S2_substitution["\\'e6"] = L"æ";
-  S2_substitution["\\'e7"] = L"ç";
-  S2_substitution["\\'e8"] = L"è";
-  S2_substitution["\\'e9"] = L"é";
-  S2_substitution["\\'ea"] = L"ê";
-  S2_substitution["\\'eb"] = L"ë";
-  S2_substitution["\\'ec"] = L"ì";
-  S2_substitution["\\'ed"] = L"í";
-  S2_substitution["\\'ee"] = L"î";
-  S2_substitution["\\'ef"] = L"ï";
-  S2_substitution["\\'f0"] = L"ð";
-  S2_substitution["\\'f1"] = L"ñ";
-  S2_substitution["\\'f2"] = L"ò";
-  S2_substitution["\\'f3"] = L"ó";
-  S2_substitution["\\'f4"] = L"ô";
-  S2_substitution["\\'f5"] = L"õ";
-  S2_substitution["\\'f6"] = L"ö";
-  S2_substitution["\\'f8"] = L"ø";
-  S2_substitution["\\'f9"] = L"ù";
-  S2_substitution["\\'fa"] = L"ú";
-  S2_substitution["\\'fb"] = L"û";
-  S2_substitution["\\'fc"] = L"ü";
-  S2_substitution["\\'fd"] = L"ý";
-  S2_substitution["\\'fe"] = L"þ";
-  S2_substitution["\\'ff"] = L"ÿ";
-  S2_substitution["\\'c0\r\n"] = L"À";
-  S2_substitution["\\'c1\r\n"] = L"Á";
-  S2_substitution["\\'c2\r\n"] = L"Â";
-  S2_substitution["\\'c3\r\n"] = L"Ã";
-  S2_substitution["\\'c4\r\n"] = L"Ä";
-  S2_substitution["\\'c5\r\n"] = L"Å";
-  S2_substitution["\\'c6\r\n"] = L"Æ";
-  S2_substitution["\\'c7\r\n"] = L"Ç";
-  S2_substitution["\\'c8\r\n"] = L"È";
-  S2_substitution["\\'c9\r\n"] = L"É";
-  S2_substitution["\\'ca\r\n"] = L"Ê";
-  S2_substitution["\\'cb\r\n"] = L"Ë";
-  S2_substitution["\\'cc\r\n"] = L"Ì";
-  S2_substitution["\\'cd\r\n"] = L"Í";
-  S2_substitution["\\'ce\r\n"] = L"Î";
-  S2_substitution["\\'cf\r\n"] = L"Ï";
-  S2_substitution["\\'d0\r\n"] = L"Ð";
-  S2_substitution["\\'d1\r\n"] = L"Ñ";
-  S2_substitution["\\'d2\r\n"] = L"Ò";
-  S2_substitution["\\'d3\r\n"] = L"Ó";
-  S2_substitution["\\'d4\r\n"] = L"Ô";
-  S2_substitution["\\'d5\r\n"] = L"Õ";
-  S2_substitution["\\'d6\r\n"] = L"Ö";
-  S2_substitution["\\'d8\r\n"] = L"Ø";
-  S2_substitution["\\'d9\r\n"] = L"Ù";
-  S2_substitution["\\'da\r\n"] = L"Ú";
-  S2_substitution["\\'db\r\n"] = L"Û";
-  S2_substitution["\\'dc\r\n"] = L"Ü";
-  S2_substitution["\\'dd\r\n"] = L"Ý";
-  S2_substitution["\\'de\r\n"] = L"Þ";
-  S2_substitution["\\'df\r\n"] = L"ß";
-  S2_substitution["\\'e0\r\n"] = L"à";
-  S2_substitution["\\'e1\r\n"] = L"á";
-  S2_substitution["\\'e2\r\n"] = L"â";
-  S2_substitution["\\'e3\r\n"] = L"ã";
-  S2_substitution["\\'e4\r\n"] = L"ä";
-  S2_substitution["\\'e5\r\n"] = L"å";
-  S2_substitution["\\'e6\r\n"] = L"æ";
-  S2_substitution["\\'e7\r\n"] = L"ç";
-  S2_substitution["\\'e8\r\n"] = L"è";
-  S2_substitution["\\'e9\r\n"] = L"é";
-  S2_substitution["\\'ea\r\n"] = L"ê";
-  S2_substitution["\\'eb\r\n"] = L"ë";
-  S2_substitution["\\'ec\r\n"] = L"ì";
-  S2_substitution["\\'ed\r\n"] = L"í";
-  S2_substitution["\\'ee\r\n"] = L"î";
-  S2_substitution["\\'ef\r\n"] = L"ï";
-  S2_substitution["\\'f0\r\n"] = L"ð";
-  S2_substitution["\\'f1\r\n"] = L"ñ";
-  S2_substitution["\\'f2\r\n"] = L"ò";
-  S2_substitution["\\'f3\r\n"] = L"ó";
-  S2_substitution["\\'f4\r\n"] = L"ô";
-  S2_substitution["\\'f5\r\n"] = L"õ";
-  S2_substitution["\\'f6\r\n"] = L"ö";
-  S2_substitution["\\'f8\r\n"] = L"ø";
-  S2_substitution["\\'f9\r\n"] = L"ù";
-  S2_substitution["\\'fa\r\n"] = L"ú";
-  S2_substitution["\\'fb\r\n"] = L"û";
-  S2_substitution["\\'fc\r\n"] = L"ü";
-  S2_substitution["\\'fd\r\n"] = L"ý";
-  S2_substitution["\\'fe\r\n"] = L"þ";
-  S2_substitution["\\'ff\r\n"] = L"ÿ";
-  S2_substitution["\\'c0\n"] = L"À";
-  S2_substitution["\\'c1\n"] = L"Á";
-  S2_substitution["\\'c2\n"] = L"Â";
-  S2_substitution["\\'c3\n"] = L"Ã";
-  S2_substitution["\\'c4\n"] = L"Ä";
-  S2_substitution["\\'c5\n"] = L"Å";
-  S2_substitution["\\'c6\n"] = L"Æ";
-  S2_substitution["\\'c7\n"] = L"Ç";
-  S2_substitution["\\'c8\n"] = L"È";
-  S2_substitution["\\'c9\n"] = L"É";
-  S2_substitution["\\'ca\n"] = L"Ê";
-  S2_substitution["\\'cb\n"] = L"Ë";
-  S2_substitution["\\'cc\n"] = L"Ì";
-  S2_substitution["\\'cd\n"] = L"Í";
-  S2_substitution["\\'ce\n"] = L"Î";
-  S2_substitution["\\'cf\n"] = L"Ï";
-  S2_substitution["\\'d0\n"] = L"Ð";
-  S2_substitution["\\'d1\n"] = L"Ñ";
-  S2_substitution["\\'d2\n"] = L"Ò";
-  S2_substitution["\\'d3\n"] = L"Ó";
-  S2_substitution["\\'d4\n"] = L"Ô";
-  S2_substitution["\\'d5\n"] = L"Õ";
-  S2_substitution["\\'d6\n"] = L"Ö";
-  S2_substitution["\\'d8\n"] = L"Ø";
-  S2_substitution["\\'d9\n"] = L"Ù";
-  S2_substitution["\\'da\n"] = L"Ú";
-  S2_substitution["\\'db\n"] = L"Û";
-  S2_substitution["\\'dc\n"] = L"Ü";
-  S2_substitution["\\'dd\n"] = L"Ý";
-  S2_substitution["\\'de\n"] = L"Þ";
-  S2_substitution["\\'df\n"] = L"ß";
-  S2_substitution["\\'e0\n"] = L"à";
-  S2_substitution["\\'e1\n"] = L"á";
-  S2_substitution["\\'e2\n"] = L"â";
-  S2_substitution["\\'e3\n"] = L"ã";
-  S2_substitution["\\'e4\n"] = L"ä";
-  S2_substitution["\\'e5\n"] = L"å";
-  S2_substitution["\\'e6\n"] = L"æ";
-  S2_substitution["\\'e7\n"] = L"ç";
-  S2_substitution["\\'e8\n"] = L"è";
-  S2_substitution["\\'e9\n"] = L"é";
-  S2_substitution["\\'ea\n"] = L"ê";
-  S2_substitution["\\'eb\n"] = L"ë";
-  S2_substitution["\\'ec\n"] = L"ì";
-  S2_substitution["\\'ed\n"] = L"í";
-  S2_substitution["\\'ee\n"] = L"î";
-  S2_substitution["\\'ef\n"] = L"ï";
-  S2_substitution["\\'f0\n"] = L"ð";
-  S2_substitution["\\'f1\n"] = L"ñ";
-  S2_substitution["\\'f2\n"] = L"ò";
-  S2_substitution["\\'f3\n"] = L"ó";
-  S2_substitution["\\'f4\n"] = L"ô";
-  S2_substitution["\\'f5\n"] = L"õ";
-  S2_substitution["\\'f6\n"] = L"ö";
-  S2_substitution["\\'f8\n"] = L"ø";
-  S2_substitution["\\'f9\n"] = L"ù";
-  S2_substitution["\\'fa\n"] = L"ú";
-  S2_substitution["\\'fb\n"] = L"û";
-  S2_substitution["\\'fc\n"] = L"ü";
-  S2_substitution["\\'fd\n"] = L"ý";
-  S2_substitution["\\'fe\n"] = L"þ";
-  S2_substitution["\\'ff\n"] = L"ÿ";
-  S2_substitution["\\'c0\r"] = L"À";
-  S2_substitution["\\'c1\r"] = L"Á";
-  S2_substitution["\\'c2\r"] = L"Â";
-  S2_substitution["\\'c3\r"] = L"Ã";
-  S2_substitution["\\'c4\r"] = L"Ä";
-  S2_substitution["\\'c5\r"] = L"Å";
-  S2_substitution["\\'c6\r"] = L"Æ";
-  S2_substitution["\\'c7\r"] = L"Ç";
-  S2_substitution["\\'c8\r"] = L"È";
-  S2_substitution["\\'c9\r"] = L"É";
-  S2_substitution["\\'ca\r"] = L"Ê";
-  S2_substitution["\\'cb\r"] = L"Ë";
-  S2_substitution["\\'cc\r"] = L"Ì";
-  S2_substitution["\\'cd\r"] = L"Í";
-  S2_substitution["\\'ce\r"] = L"Î";
-  S2_substitution["\\'cf\r"] = L"Ï";
-  S2_substitution["\\'d0\r"] = L"Ð";
-  S2_substitution["\\'d1\r"] = L"Ñ";
-  S2_substitution["\\'d2\r"] = L"Ò";
-  S2_substitution["\\'d3\r"] = L"Ó";
-  S2_substitution["\\'d4\r"] = L"Ô";
-  S2_substitution["\\'d5\r"] = L"Õ";
-  S2_substitution["\\'d6\r"] = L"Ö";
-  S2_substitution["\\'d8\r"] = L"Ø";
-  S2_substitution["\\'d9\r"] = L"Ù";
-  S2_substitution["\\'da\r"] = L"Ú";
-  S2_substitution["\\'db\r"] = L"Û";
-  S2_substitution["\\'dc\r"] = L"Ü";
-  S2_substitution["\\'dd\r"] = L"Ý";
-  S2_substitution["\\'de\r"] = L"Þ";
-  S2_substitution["\\'df\r"] = L"ß";
-  S2_substitution["\\'e0\r"] = L"à";
-  S2_substitution["\\'e1\r"] = L"á";
-  S2_substitution["\\'e2\r"] = L"â";
-  S2_substitution["\\'e3\r"] = L"ã";
-  S2_substitution["\\'e4\r"] = L"ä";
-  S2_substitution["\\'e5\r"] = L"å";
-  S2_substitution["\\'e6\r"] = L"æ";
-  S2_substitution["\\'e7\r"] = L"ç";
-  S2_substitution["\\'e8\r"] = L"è";
-  S2_substitution["\\'e9\r"] = L"é";
-  S2_substitution["\\'ea\r"] = L"ê";
-  S2_substitution["\\'eb\r"] = L"ë";
-  S2_substitution["\\'ec\r"] = L"ì";
-  S2_substitution["\\'ed\r"] = L"í";
-  S2_substitution["\\'ee\r"] = L"î";
-  S2_substitution["\\'ef\r"] = L"ï";
-  S2_substitution["\\'f0\r"] = L"ð";
-  S2_substitution["\\'f1\r"] = L"ñ";
-  S2_substitution["\\'f2\r"] = L"ò";
-  S2_substitution["\\'f3\r"] = L"ó";
-  S2_substitution["\\'f4\r"] = L"ô";
-  S2_substitution["\\'f5\r"] = L"õ";
-  S2_substitution["\\'f6\r"] = L"ö";
-  S2_substitution["\\'f8\r"] = L"ø";
-  S2_substitution["\\'f9\r"] = L"ù";
-  S2_substitution["\\'fa\r"] = L"ú";
-  S2_substitution["\\'fb\r"] = L"û";
-  S2_substitution["\\'fc\r"] = L"ü";
-  S2_substitution["\\'fd\r"] = L"ý";
-  S2_substitution["\\'fe\r"] = L"þ";
-  S2_substitution["\\'ff\r"] = L"ÿ";
-  S2_substitution["\\u237"] = L"í";
-  S2_substitution["\\u243"] = L"ó";
-}
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 9133 "apertium_desrtf.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-#define C4 4
-#define C5 5
-#define C6 6
-#define C7 7
-#define C8 8
-#define C9 9
-#define C10 10
-#define C11 11
-#define C12 12
-#define C13 13
-#define C14 14
-#define C15 15
-#define C16 16
-#define C17 17
-#define C18 18
-#define C19 19
-#define C20 20
-#define C21 21
-#define C22 22
-#define C23 23
-#define C24 24
-#define C25 25
-#define C26 26
-#define C27 27
-#define C28 28
-#define C29 29
-#define C30 30
-#define C31 31
-#define C32 32
-#define C33 33
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 528 "apertium_desrtf.cctmp"
-
-
-
-#line 9371 "apertium_desrtf.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 533 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 539 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 548 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 554 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 5:
-YY_RULE_SETUP
-#line 563 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 569 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 7:
-YY_RULE_SETUP
-#line 578 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 8:
-/* rule 8 can match eol */
-YY_RULE_SETUP
-#line 584 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 9:
-YY_RULE_SETUP
-#line 593 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 10:
-/* rule 10 can match eol */
-YY_RULE_SETUP
-#line 599 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 11:
-YY_RULE_SETUP
-#line 608 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 12:
-/* rule 12 can match eol */
-YY_RULE_SETUP
-#line 614 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 13:
-YY_RULE_SETUP
-#line 623 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 14:
-/* rule 14 can match eol */
-YY_RULE_SETUP
-#line 629 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 15:
-YY_RULE_SETUP
-#line 638 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 16:
-/* rule 16 can match eol */
-YY_RULE_SETUP
-#line 644 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 17:
-YY_RULE_SETUP
-#line 653 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 18:
-/* rule 18 can match eol */
-YY_RULE_SETUP
-#line 659 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 19:
-YY_RULE_SETUP
-#line 668 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 20:
-/* rule 20 can match eol */
-YY_RULE_SETUP
-#line 674 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 21:
-YY_RULE_SETUP
-#line 683 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 689 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 23:
-YY_RULE_SETUP
-#line 698 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 24:
-/* rule 24 can match eol */
-YY_RULE_SETUP
-#line 704 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 25:
-YY_RULE_SETUP
-#line 713 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 26:
-/* rule 26 can match eol */
-YY_RULE_SETUP
-#line 719 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 27:
-YY_RULE_SETUP
-#line 728 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 28:
-/* rule 28 can match eol */
-YY_RULE_SETUP
-#line 734 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 29:
-YY_RULE_SETUP
-#line 743 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 30:
-/* rule 30 can match eol */
-YY_RULE_SETUP
-#line 749 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 31:
-YY_RULE_SETUP
-#line 758 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 32:
-/* rule 32 can match eol */
-YY_RULE_SETUP
-#line 764 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 33:
-YY_RULE_SETUP
-#line 773 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 34:
-/* rule 34 can match eol */
-YY_RULE_SETUP
-#line 779 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 35:
-YY_RULE_SETUP
-#line 788 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 36:
-/* rule 36 can match eol */
-YY_RULE_SETUP
-#line 794 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 37:
-YY_RULE_SETUP
-#line 803 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 38:
-/* rule 38 can match eol */
-YY_RULE_SETUP
-#line 809 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 39:
-YY_RULE_SETUP
-#line 818 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 40:
-/* rule 40 can match eol */
-YY_RULE_SETUP
-#line 824 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 41:
-YY_RULE_SETUP
-#line 833 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 42:
-/* rule 42 can match eol */
-YY_RULE_SETUP
-#line 839 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 43:
-YY_RULE_SETUP
-#line 848 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 44:
-/* rule 44 can match eol */
-YY_RULE_SETUP
-#line 854 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 45:
-YY_RULE_SETUP
-#line 863 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 46:
-/* rule 46 can match eol */
-YY_RULE_SETUP
-#line 869 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 47:
-YY_RULE_SETUP
-#line 878 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 48:
-/* rule 48 can match eol */
-YY_RULE_SETUP
-#line 884 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 49:
-YY_RULE_SETUP
-#line 893 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 50:
-/* rule 50 can match eol */
-YY_RULE_SETUP
-#line 899 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 51:
-YY_RULE_SETUP
-#line 908 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 52:
-/* rule 52 can match eol */
-YY_RULE_SETUP
-#line 914 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 53:
-YY_RULE_SETUP
-#line 923 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 54:
-/* rule 54 can match eol */
-YY_RULE_SETUP
-#line 929 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 55:
-YY_RULE_SETUP
-#line 938 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 56:
-/* rule 56 can match eol */
-YY_RULE_SETUP
-#line 944 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 57:
-YY_RULE_SETUP
-#line 953 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 58:
-/* rule 58 can match eol */
-YY_RULE_SETUP
-#line 959 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 59:
-YY_RULE_SETUP
-#line 968 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 60:
-/* rule 60 can match eol */
-YY_RULE_SETUP
-#line 974 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 61:
-YY_RULE_SETUP
-#line 983 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 62:
-/* rule 62 can match eol */
-YY_RULE_SETUP
-#line 989 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 63:
-YY_RULE_SETUP
-#line 998 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 64:
-/* rule 64 can match eol */
-YY_RULE_SETUP
-#line 1004 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 65:
-YY_RULE_SETUP
-#line 1013 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 66:
-/* rule 66 can match eol */
-YY_RULE_SETUP
-#line 1019 "apertium_desrtf.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 67:
-/* rule 67 can match eol */
-YY_RULE_SETUP
-#line 1025 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 68:
-/* rule 68 can match eol */
-YY_RULE_SETUP
-#line 1029 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 69:
-/* rule 69 can match eol */
-YY_RULE_SETUP
-#line 1033 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 70:
-/* rule 70 can match eol */
-YY_RULE_SETUP
-#line 1037 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 71:
-/* rule 71 can match eol */
-YY_RULE_SETUP
-#line 1041 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 72:
-/* rule 72 can match eol */
-YY_RULE_SETUP
-#line 1045 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C6);
-}
-	YY_BREAK
-case 73:
-/* rule 73 can match eol */
-YY_RULE_SETUP
-#line 1049 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C7);
-}
-	YY_BREAK
-case 74:
-/* rule 74 can match eol */
-YY_RULE_SETUP
-#line 1053 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C8);
-}
-	YY_BREAK
-case 75:
-/* rule 75 can match eol */
-YY_RULE_SETUP
-#line 1057 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C9);
-}
-	YY_BREAK
-case 76:
-/* rule 76 can match eol */
-YY_RULE_SETUP
-#line 1061 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C10);
-}
-	YY_BREAK
-case 77:
-/* rule 77 can match eol */
-YY_RULE_SETUP
-#line 1065 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C11);
-}
-	YY_BREAK
-case 78:
-/* rule 78 can match eol */
-YY_RULE_SETUP
-#line 1069 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C12);
-}
-	YY_BREAK
-case 79:
-/* rule 79 can match eol */
-YY_RULE_SETUP
-#line 1073 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C13);
-}
-	YY_BREAK
-case 80:
-/* rule 80 can match eol */
-YY_RULE_SETUP
-#line 1077 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C14);
-}
-	YY_BREAK
-case 81:
-/* rule 81 can match eol */
-YY_RULE_SETUP
-#line 1081 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C15);
-}
-	YY_BREAK
-case 82:
-/* rule 82 can match eol */
-YY_RULE_SETUP
-#line 1085 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C16);
-}
-	YY_BREAK
-case 83:
-/* rule 83 can match eol */
-YY_RULE_SETUP
-#line 1089 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C17);
-}
-	YY_BREAK
-case 84:
-/* rule 84 can match eol */
-YY_RULE_SETUP
-#line 1093 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C18);
-}
-	YY_BREAK
-case 85:
-/* rule 85 can match eol */
-YY_RULE_SETUP
-#line 1097 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C19);
-}
-	YY_BREAK
-case 86:
-/* rule 86 can match eol */
-YY_RULE_SETUP
-#line 1101 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C20);
-}
-	YY_BREAK
-case 87:
-/* rule 87 can match eol */
-YY_RULE_SETUP
-#line 1105 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C21);
-}
-	YY_BREAK
-case 88:
-/* rule 88 can match eol */
-YY_RULE_SETUP
-#line 1109 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C22);
-}
-	YY_BREAK
-case 89:
-/* rule 89 can match eol */
-YY_RULE_SETUP
-#line 1113 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C23);
-}
-	YY_BREAK
-case 90:
-/* rule 90 can match eol */
-YY_RULE_SETUP
-#line 1117 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C24);
-}
-	YY_BREAK
-case 91:
-/* rule 91 can match eol */
-YY_RULE_SETUP
-#line 1121 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C25);
-}
-	YY_BREAK
-case 92:
-/* rule 92 can match eol */
-YY_RULE_SETUP
-#line 1125 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C26);
-}
-	YY_BREAK
-case 93:
-/* rule 93 can match eol */
-YY_RULE_SETUP
-#line 1129 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C27);
-}
-	YY_BREAK
-case 94:
-/* rule 94 can match eol */
-YY_RULE_SETUP
-#line 1133 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C28);
-}
-	YY_BREAK
-case 95:
-/* rule 95 can match eol */
-YY_RULE_SETUP
-#line 1137 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C29);
-}
-	YY_BREAK
-case 96:
-/* rule 96 can match eol */
-YY_RULE_SETUP
-#line 1141 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C30);
-}
-	YY_BREAK
-case 97:
-/* rule 97 can match eol */
-YY_RULE_SETUP
-#line 1145 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C31);
-}
-	YY_BREAK
-case 98:
-/* rule 98 can match eol */
-YY_RULE_SETUP
-#line 1149 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C32);
-}
-	YY_BREAK
-case 99:
-/* rule 99 can match eol */
-YY_RULE_SETUP
-#line 1153 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C33);
-}
-	YY_BREAK
-case 100:
-YY_RULE_SETUP
-#line 1157 "apertium_desrtf.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 101:
-YY_RULE_SETUP
-#line 1161 "apertium_desrtf.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 102:
-/* rule 102 can match eol */
-YY_RULE_SETUP
-#line 1165 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 103:
-/* rule 103 can match eol */
-YY_RULE_SETUP
-#line 1168 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 104:
-/* rule 104 can match eol */
-YY_RULE_SETUP
-#line 1171 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 105:
-/* rule 105 can match eol */
-YY_RULE_SETUP
-#line 1174 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 106:
-/* rule 106 can match eol */
-YY_RULE_SETUP
-#line 1177 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 107:
-/* rule 107 can match eol */
-YY_RULE_SETUP
-#line 1180 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 108:
-/* rule 108 can match eol */
-YY_RULE_SETUP
-#line 1183 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 109:
-/* rule 109 can match eol */
-YY_RULE_SETUP
-#line 1186 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 110:
-YY_RULE_SETUP
-#line 1189 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 111:
-YY_RULE_SETUP
-#line 1192 "apertium_desrtf.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 112:
-YY_RULE_SETUP
-#line 1196 "apertium_desrtf.cctmp"
-{
-  if(S1_substitution.find(yytext) != S1_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S1_substitution[yytext].c_str(), yyout);
-    offset+=S1_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 113:
-/* rule 113 can match eol */
-YY_RULE_SETUP
-#line 1211 "apertium_desrtf.cctmp"
-{
-  if(S2_substitution.find(yytext) != S2_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S2_substitution[yytext].c_str(), yyout);
-    offset+=S2_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 114:
-/* rule 114 can match eol */
-YY_RULE_SETUP
-#line 1225 "apertium_desrtf.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 115:
-YY_RULE_SETUP
-#line 1233 "apertium_desrtf.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 116:
-YY_RULE_SETUP
-#line 1253 "apertium_desrtf.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-case YY_STATE_EOF(C4):
-case YY_STATE_EOF(C5):
-case YY_STATE_EOF(C6):
-case YY_STATE_EOF(C7):
-case YY_STATE_EOF(C8):
-case YY_STATE_EOF(C9):
-case YY_STATE_EOF(C10):
-case YY_STATE_EOF(C11):
-case YY_STATE_EOF(C12):
-case YY_STATE_EOF(C13):
-case YY_STATE_EOF(C14):
-case YY_STATE_EOF(C15):
-case YY_STATE_EOF(C16):
-case YY_STATE_EOF(C17):
-case YY_STATE_EOF(C18):
-case YY_STATE_EOF(C19):
-case YY_STATE_EOF(C20):
-case YY_STATE_EOF(C21):
-case YY_STATE_EOF(C22):
-case YY_STATE_EOF(C23):
-case YY_STATE_EOF(C24):
-case YY_STATE_EOF(C25):
-case YY_STATE_EOF(C26):
-case YY_STATE_EOF(C27):
-case YY_STATE_EOF(C28):
-case YY_STATE_EOF(C29):
-case YY_STATE_EOF(C30):
-case YY_STATE_EOF(C31):
-case YY_STATE_EOF(C32):
-case YY_STATE_EOF(C33):
-#line 1278 "apertium_desrtf.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 117:
-YY_RULE_SETUP
-#line 1285 "apertium_desrtf.cctmp"
-ECHO;
-	YY_BREAK
-#line 10614 "apertium_desrtf.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 1285 "apertium_desrtf.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "rtf format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  S1_init();
-  S2_init();
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_destxt.cc b/apertium/apertium_destxt.cc
deleted file mode 100644
index 90a622c..0000000
--- a/apertium/apertium_destxt.cc
+++ /dev/null
@@ -1,2148 +0,0 @@
-#line 2 "apertium_destxt.cc"
-
-#line 4 "apertium_destxt.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][6] =
-    {
-    {
-        0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    5,    6,    7,    8
-    },
-
-    {
-        3,    4,    5,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,    9,   -6,   -6
-    },
-
-    {
-        3,   -7,   -7,   10,   -7,   -7
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   11,   12,   -9
-
-    },
-
-    {
-        3,  -10,  -10,  -10,   13,  -10
-    },
-
-    {
-        3,  -11,  -11,    9,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,   10,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,    9,  -13,  -13
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 5
-#define YY_END_OF_BUFFER 6
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[14] =
-    {   0,
-        0,    0,    6,    4,    2,    2,    2,    3,    1,    0,
-        0,    0,    0
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    2,    1,    1,    1,    5,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    5,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    5,
-        1,    5,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        5,    5,    5,    5,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    5,    1,    5,    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
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_destxt.cctmp"
-#line 4 "apertium_destxt.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][\\\\/@<>^${}]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "''", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-#line 747 "apertium_destxt.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 266 "apertium_destxt.cctmp"
-
-
-#line 951 "apertium_destxt.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-/* rule 1 can match eol */
-YY_RULE_SETUP
-#line 268 "apertium_destxt.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 272 "apertium_destxt.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 280 "apertium_destxt.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 300 "apertium_destxt.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 325 "apertium_destxt.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 332 "apertium_destxt.cctmp"
-ECHO;
-	YY_BREAK
-#line 1083 "apertium_destxt.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 332 "apertium_destxt.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "txt format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_deswxml.cc b/apertium/apertium_deswxml.cc
deleted file mode 100644
index 5b7a320..0000000
--- a/apertium/apertium_deswxml.cc
+++ /dev/null
@@ -1,6191 +0,0 @@
-#line 2 "apertium_deswxml.cc"
-
-#line 4 "apertium_deswxml.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][57] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-       15,   16,   17,   18,   17,   16,   16,   19,   20,   16,
-       19,   16,   16,   16,   21,   17,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16
-    },
-
-    {
-       15,   16,   17,   18,   17,   16,   16,   19,   20,   16,
-       19,   16,   16,   16,   21,   17,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16
-    },
-
-    {
-       15,   22,   22,   22,   22,   22,   22,   22,   22,   23,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22
-    },
-
-    {
-       15,   22,   22,   22,   22,   22,   22,   22,   22,   23,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22
-
-    },
-
-    {
-       15,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   25,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24
-    },
-
-    {
-       15,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   25,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24
-    },
-
-    {
-       15,   26,   26,   26,   26,   26,   26,   26,   27,   26,
-       26,   26,   26,   26,   28,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26
-    },
-
-    {
-       15,   26,   26,   26,   26,   26,   26,   26,   27,   26,
-       26,   26,   26,   26,   28,   26,   26,   26,   26,   26,
-
-       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26
-    },
-
-    {
-       15,   29,   29,   29,   29,   29,   29,   29,   30,   29,
-       29,   29,   29,   29,   31,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29
-
-    },
-
-    {
-       15,   29,   29,   29,   29,   29,   29,   29,   30,   29,
-       29,   29,   29,   29,   31,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29,   29,   29,   29,
-       29,   29,   29,   29,   29,   29,   29
-    },
-
-    {
-       15,   32,   32,   32,   32,   32,   32,   32,   33,   32,
-       32,   32,   32,   32,   34,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
-
-       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32
-    },
-
-    {
-       15,   32,   32,   32,   32,   32,   32,   32,   33,   32,
-       32,   32,   32,   32,   34,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
-       32,   32,   32,   32,   32,   32,   32
-    },
-
-    {
-       15,   35,   35,   35,   35,   35,   35,   35,   36,   35,
-       35,   35,   35,   35,   37,   35,   35,   35,   35,   35,
-
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35
-    },
-
-    {
-       15,   35,   35,   35,   35,   35,   35,   35,   36,   35,
-       35,   35,   35,   35,   37,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35,   35,   35,   35,
-       35,   35,   35,   35,   35,   35,   35
-
-    },
-
-    {
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-       15,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    {
-       15,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17
-    },
-
-    {
-       15,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18
-    },
-
-    {
-       15,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19
-
-    },
-
-    {
-       15,  -20,  -20,  -20,  -20,  -20,   38,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   40,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   40,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39
-    },
-
-    {
-       15,  -21,  -21,  -21,  -21,   41,  -21,  -21,  -21,  -21,
-       42,  -21,  -21,  -21,  -21,  -21,   43,   44,   44,   44,
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
-       45,   44,   44,   44,   44,   46,   44,   44,   44,   44,
-
-       44,   44,   44,   44,   44,   44,   44,   44,   44,   45,
-       44,   44,   44,   44,   46,   44,   44
-    },
-
-    {
-       15,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22
-    },
-
-    {
-       15,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,   47,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23
-    },
-
-    {
-       15,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24
-
-    },
-
-    {
-       15,  -25,  -25,  -25,  -25,   48,  -25,  -25,  -25,  -25,
-       49,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25
-    },
-
-    {
-       15,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26
-    },
-
-    {
-       15,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,   50,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,   50,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27
-    },
-
-    {
-       15,  -28,  -28,  -28,  -28,   51,  -28,  -28,  -28,  -28,
-       52,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-       53,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,   53,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28
-    },
-
-    {
-       15,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29
-
-    },
-
-    {
-       15,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,   54,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,   54,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30
-    },
-
-    {
-       15,  -31,  -31,  -31,  -31,   55,  -31,  -31,  -31,  -31,
-       56,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-       57,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,   57,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31
-    },
-
-    {
-       15,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32
-    },
-
-    {
-       15,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-
-      -33,  -33,  -33,  -33,  -33,  -33,   58,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,   58,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33
-    },
-
-    {
-       15,  -34,  -34,  -34,  -34,   59,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34
-
-    },
-
-    {
-       15,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35
-    },
-
-    {
-       15,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,   60,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-
-      -36,  -36,  -36,  -36,  -36,   60,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36
-    },
-
-    {
-       15,  -37,  -37,  -37,  -37,   61,  -37,  -37,  -37,  -37,
-       62,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-       63,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,   63,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37
-    },
-
-    {
-       15,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,   64,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,   65,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,   65,  -38
-    },
-
-    {
-       15,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,   66,  -39,  -39,  -39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39
-
-    },
-
-    {
-       15,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,   66,  -40,  -40,  -40,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   67,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   67,   39,   39,   39,   39
-    },
-
-    {
-       15,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,   68,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69
-    },
-
-    {
-       15,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   70,   71,   70,   70,   70,   70,
-       70,   70,   70,   70,   70,   70,   70,   70,   70,   70,
-       70,   70,   70,   70,   71,   70,   70
-    },
-
-    {
-       15,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,   69,   69,   69,
-
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
-       69,   69,   69,   69,   69,   69,   69
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   74,   72,   72,   72,   72,
-       72,   75,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   74,   72,   72,   72,   72,   72,
-       75,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   76,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,   77,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47
-    },
-
-    {
-       15,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,   78,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48
-    },
-
-    {
-       15,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-       79,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,   79,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49
-
-    },
-
-    {
-       15,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,   80,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,   80,  -50,  -50,  -50,  -50
-    },
-
-    {
-       15,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,   81,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51
-    },
-
-    {
-       15,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-       82,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,   82,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52
-    },
-
-    {
-       15,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,   83,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-       83,  -53,  -53,  -53,  -53,  -53,  -53
-    },
-
-    {
-       15,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,   84,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,   84,  -54,  -54,  -54,  -54
-
-    },
-
-    {
-       15,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,   85,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55
-    },
-
-    {
-       15,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,   86,  -56,  -56,  -56,  -56,
-
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,   86,  -56,  -56
-    },
-
-    {
-       15,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,   87,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-       87,  -57,  -57,  -57,  -57,  -57,  -57
-    },
-
-    {
-       15,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,   88,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,   88,  -58,  -58,  -58,  -58
-    },
-
-    {
-       15,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,   89,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59
-
-    },
-
-    {
-       15,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,   90,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,   90,  -60,  -60,  -60,  -60
-    },
-
-    {
-       15,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,   91,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61
-    },
-
-    {
-       15,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,   92,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,   92,  -62,  -62
-    },
-
-    {
-       15,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,   93,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-       93,  -63,  -63,  -63,  -63,  -63,  -63
-    },
-
-    {
-       15,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,   94,  -64,   66,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64
-
-    },
-
-    {
-       15,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,   95,  -65,  -65,  -65,  -65,  -65,   95,   95,   95,
-       95,   95,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,   95,   95,
-       95,   95,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65
-    },
-
-    {
-       15,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66
-    },
-
-    {
-       15,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,   96,  -67,  -67,  -67,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39,   39,   39,   39,
-       39,   39,   39,   39,   39,   39,   39
-    },
-
-    {
-       15,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,   97,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68
-    },
-
-    {
-       15,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   99,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   98,   98
-
-    },
-
-    {
-       15,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  101,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100
-    },
-
-    {
-       15,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  102,  100,  100,  101,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,  103,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  103,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,  104,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  104,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-      105,   72,   72,   72,  106,   72,   72,   72,   72,   72,
-      107,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-
-      105,   72,   72,  106,   72,   72,   72,   72,   72,  107,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77
-    },
-
-    {
-       15,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  108,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78
-    },
-
-    {
-       15,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  109,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      109,  -79,  -79,  -79,  -79,  -79,  -79
-
-    },
-
-    {
-       15,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  110,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80
-    },
-
-    {
-       15,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  111,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81
-    },
-
-    {
-       15,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  112,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  112,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82
-    },
-
-    {
-       15,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  113,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  113,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83
-    },
-
-    {
-       15,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  114,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84
-
-    },
-
-    {
-       15,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  115,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85
-    },
-
-    {
-       15,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  116,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86
-    },
-
-    {
-       15,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  117,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  117,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87
-    },
-
-    {
-       15,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  118,  -88,  -88,  -88,  -88,  -88,  -88,
-
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88
-    },
-
-    {
-       15,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  119,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89
-
-    },
-
-    {
-       15,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  120,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90
-    },
-
-    {
-       15,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  121,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91
-    },
-
-    {
-       15,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  122,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92
-    },
-
-    {
-       15,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  123,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  123,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93
-    },
-
-    {
-       15,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  124,  -94,   66,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94
-
-    },
-
-    {
-       15,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  125,  -95,   66,  -95,  -95,  -95,  125,  125,  125,
-      125,  125,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  125,  125,
-      125,  125,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95
-    },
-
-    {
-       15,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  126,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  126,  -96,
-
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96
-    },
-
-    {
-       15,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97
-    },
-
-    {
-       15,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   99,   98,   98,   98,   98,
-
-       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   98,   98,   98,   98,   98,
-       98,   98,   98,   98,   98,   98,   98
-    },
-
-    {
-       15,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99
-
-    },
-
-    {
-       15,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  101,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100
-    },
-
-    {
-       15, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101
-    },
-
-    {
-       15,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  101,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      127,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  127,
-      100,  100,  100,  100,  100,  100,  100
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  128,   72,   72,   73,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-      129,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,  129,
-       72,   72,   72,   72,   72,   72,   72
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  130,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-      130,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  131,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,  131,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,  132,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,  133,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108
-    },
-
-    {
-       15, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109,  134,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109,  134, -109,
-     -109, -109, -109, -109, -109, -109, -109
-
-    },
-
-    {
-       15, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110,  135, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110,  135, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110
-    },
-
-    {
-       15, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111
-    },
-
-    {
-       15, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112,  136, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112,  136, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112
-    },
-
-    {
-       15, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-      137, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113,  137,
-     -113, -113, -113, -113, -113, -113, -113
-    },
-
-    {
-       15, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114,  138, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114,  138, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114
-
-    },
-
-    {
-       15, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115
-    },
-
-    {
-       15, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116,  139, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-
-     -116, -116, -116,  139, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116
-    },
-
-    {
-       15, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-      140, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117,  140,
-     -117, -117, -117, -117, -117, -117, -117
-    },
-
-    {
-       15, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-      141, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118, -118, -118, -118
-    },
-
-    {
-       15, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119
-
-    },
-
-    {
-       15, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120,  142, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120,  142, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120
-    },
-
-    {
-       15, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121
-    },
-
-    {
-       15, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-      143, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-      143, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122
-    },
-
-    {
-       15, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-      144, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123,  144,
-     -123, -123, -123, -123, -123, -123, -123
-    },
-
-    {
-       15, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124,  145, -124,   66, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124
-
-    },
-
-    {
-       15, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125,  146, -125,   66, -125, -125, -125,  146,  146,  146,
-      146,  146, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125,  146,  146,
-      146,  146, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125
-    },
-
-    {
-       15, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-      147, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-
-     -126, -126, -126, -126, -126, -126, -126, -126, -126,  147,
-     -126, -126, -126, -126, -126, -126, -126
-    },
-
-    {
-       15,  100,  100,  100,  148,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  149,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100,  100,  100,  100,
-      100,  100,  100,  100,  100,  100,  100
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,  150,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,  150,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,  151,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  151,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,  152,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  152,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  153,   72,   72,   72,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  153,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  133,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154
-    },
-
-    {
-       15, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133, -133, -133, -133
-    },
-
-    {
-       15, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-      155, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134,  155,
-     -134, -134, -134, -134, -134, -134, -134
-
-    },
-
-    {
-       15, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-      156, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135,  156,
-     -135, -135, -135, -135, -135, -135, -135
-    },
-
-    {
-       15, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136,  157, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136
-    },
-
-    {
-       15, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137,  158, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137,  158, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137
-    },
-
-    {
-       15, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-      159, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138,  159,
-     -138, -138, -138, -138, -138, -138, -138
-    },
-
-    {
-       15, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139,  160, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139,  160, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139
-
-    },
-
-    {
-       15, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140,  161, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140,  161, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140, -140, -140, -140
-    },
-
-    {
-       15, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141,  162, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141, -141,  162, -141,
-
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141, -141, -141, -141
-    },
-
-    {
-       15, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-      163, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142,  163,
-     -142, -142, -142, -142, -142, -142, -142
-    },
-
-    {
-       15, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143,  164, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-      164, -143, -143, -143, -143, -143, -143
-    },
-
-    {
-       15, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144,  165, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144,  165, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144
-
-    },
-
-    {
-       15, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145,  166, -145,   66, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145
-    },
-
-    {
-       15, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146,  167, -146,   66, -146, -146, -146,  167,  167,  167,
-      167,  167, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146,  167,  167,
-
-      167,  167, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146
-    },
-
-    {
-       15, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147,  168, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147,  168, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147
-    },
-
-    {
-       15,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  149,  169,  169,  169,  169,
-
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169
-    },
-
-    {
-       15, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,  170,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  170,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  171,   72,   72,   72,   72,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-      171,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,  172,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,  172,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  173,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  173,   72,   72,   72,   72
-    },
-
-    {
-       15,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  133,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
-      154,  154,  154,  154,  154,  154,  154
-
-    },
-
-    {
-       15, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155,  174, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155,  174, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155
-    },
-
-    {
-       15, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156,  175, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-
-     -156,  175, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156
-    },
-
-    {
-       15, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157,  176, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157,  176,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157
-    },
-
-    {
-       15, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158,  177, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-      177, -158, -158, -158, -158, -158, -158
-    },
-
-    {
-       15, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159,  178, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159,  178, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159
-
-    },
-
-    {
-       15, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160,  179, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160,  179, -160, -160, -160, -160, -160
-    },
-
-    {
-       15, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161,  180, -161, -161, -161, -161, -161, -161, -161, -161,
-
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-      180, -161, -161, -161, -161, -161, -161
-    },
-
-    {
-       15, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-      181, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162,  181,
-     -162, -162, -162, -162, -162, -162, -162
-    },
-
-    {
-       15, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-
-     -163,  182, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163,  182, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163
-    },
-
-    {
-       15, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164,  183, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164,  183, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164
-
-    },
-
-    {
-       15, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165,  184, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-      184, -165, -165, -165, -165, -165, -165
-    },
-
-    {
-       15, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166,  185, -166,   66, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166
-    },
-
-    {
-       15, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167,   66, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167
-    },
-
-    {
-       15, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168,  186, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-      186, -168, -168, -168, -168, -168, -168
-    },
-
-    {
-       15,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  149,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
-      169,  169,  169,  169,  169,  169,  169
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  187,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,  187,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  188,   72,   72,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  188,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,  189,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  189,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  190,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-      190,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174,  191, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-      191, -174, -174, -174, -174, -174, -174
-
-    },
-
-    {
-       15, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175,  192, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-      192, -175, -175, -175, -175, -175, -175
-    },
-
-    {
-       15, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176,  193, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-
-     -176, -176, -176,  193, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176
-    },
-
-    {
-       15, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177,  194, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177,  194, -177, -177, -177, -177
-    },
-
-    {
-       15, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178,  195, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-      195, -178, -178, -178, -178, -178, -178
-    },
-
-    {
-       15, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179,  196, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179,  196, -179, -179, -179, -179
-
-    },
-
-    {
-       15, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180,  197, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180,  197, -180, -180, -180, -180
-    },
-
-    {
-       15, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181,  198, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-
-     -181,  198, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181
-    },
-
-    {
-       15, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182,  199, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-      199, -182, -182, -182, -182, -182, -182
-    },
-
-    {
-       15, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183,  200, -183, -183, -183, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183,  200, -183, -183
-    },
-
-    {
-       15, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184,  201, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184,  201, -184, -184, -184, -184
-
-    },
-
-    {
-       15, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185,  202, -185,   66, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185
-    },
-
-    {
-       15, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186,  203, -186, -186, -186, -186, -186, -186,
-
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186,  203, -186, -186, -186, -186
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,  204,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  204,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-
-       72,   72,   72,   72,  205,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  205,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  206,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,  206,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  207,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  207,   72,   72,   72,   72
-    },
-
-    {
-       15, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191,  208, -191, -191, -191, -191, -191, -191,
-
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191,  208, -191, -191, -191, -191
-    },
-
-    {
-       15, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192,  209, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192,  209, -192, -192, -192, -192
-    },
-
-    {
-       15, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-
-     -193, -193, -193, -193, -193, -193, -193, -193,  210, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193,  210, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193
-    },
-
-    {
-       15, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194,  211, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194,  211, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194
-
-    },
-
-    {
-       15, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195,  212, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195,  212, -195, -195, -195, -195
-    },
-
-    {
-       15, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196,  213, -196, -196, -196, -196, -196, -196, -196, -196,
-
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-      213, -196, -196, -196, -196, -196, -196
-    },
-
-    {
-       15, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197,  214, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197,  214, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197
-    },
-
-    {
-       15, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198,  215, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-      215, -198, -198, -198, -198, -198, -198
-    },
-
-    {
-       15, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199,  216, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199,  216, -199, -199, -199, -199
-
-    },
-
-    {
-       15, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200,  217, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200,  217, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200
-    },
-
-    {
-       15, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201,  218, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-
-     -201, -201, -201,  218, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201
-    },
-
-    {
-       15, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202,  219, -202,   66, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
-     -202, -202, -202, -202, -202, -202, -202
-    },
-
-    {
-       15, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-
-     -203, -203, -203, -203,  220, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203,  220, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  221,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-      221,   72,   72,   72,   72,   72,   72
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,  222,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  222,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,  223,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-
-       72,   72,  223,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,  224,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  224,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-
-     -208, -208, -208, -208,  225, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208,  225, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208
-    },
-
-    {
-       15, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209,  226, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209,  226, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209, -209, -209, -209
-
-    },
-
-    {
-       15, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210,  227, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210,  227, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210
-    },
-
-    {
-       15, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211,  228, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-
-     -211,  228, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211
-    },
-
-    {
-       15, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212,  229, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212,  229, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212
-    },
-
-    {
-       15, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213,  230, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213,  230, -213, -213, -213, -213
-    },
-
-    {
-       15, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214,  231, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214,  231, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214, -214, -214, -214
-
-    },
-
-    {
-       15, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215,  232, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215,  232, -215, -215, -215, -215
-    },
-
-    {
-       15, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216,  233, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-
-     -216, -216, -216,  233, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216
-    },
-
-    {
-       15, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217,  234, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217,  234, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217
-    },
-
-    {
-       15, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-
-     -218,  235, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218,  235, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218
-    },
-
-    {
-       15, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219,   66, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219, -219, -219, -219
-
-    },
-
-    {
-       15, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220,  236, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220,  236, -220, -220, -220
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,  237,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,  237
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  238,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,  238,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,  239,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,  240,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,  241,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,  241,   72
-
-    },
-
-    {
-       15, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225,  242, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225,  242, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225, -225, -225, -225
-    },
-
-    {
-       15, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226,  243, -226, -226, -226, -226, -226,
-
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226,  243, -226, -226, -226
-    },
-
-    {
-       15, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227,  244, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-      244, -227, -227, -227, -227, -227, -227
-    },
-
-    {
-       15, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228,  245, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228,  245, -228, -228, -228, -228, -228
-    },
-
-    {
-       15, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229,  246, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229,  246, -229, -229, -229
-
-    },
-
-    {
-       15, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230,  247, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230,  247, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230, -230, -230, -230
-    },
-
-    {
-       15, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231,  248, -231, -231, -231, -231, -231, -231, -231,
-
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231,  248, -231, -231, -231, -231, -231
-    },
-
-    {
-       15, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232,  249, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232,  249, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232
-    },
-
-    {
-       15, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233,  250, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233,  250, -233, -233, -233
-    },
-
-    {
-       15, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234,  251, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234,  251, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234
-
-    },
-
-    {
-       15, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235,  252, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235,  252, -235, -235, -235, -235, -235
-    },
-
-    {
-       15, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236,  253, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-
-     -236, -236, -236, -236, -236, -236,  253, -236, -236, -236,
-     -236, -236, -236, -236, -236, -236, -236
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-      254,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-      254,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,   72,   72,   72,  255,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,  256,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  240,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257
-
-    },
-
-    {
-       15, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  258,   72,   72,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  258,   72,   72,   72,   72
-    },
-
-    {
-       15, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242,  259, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242,  259, -242, -242, -242, -242, -242
-    },
-
-    {
-       15, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-
-     -243, -243, -243, -243, -243, -243, -243,  260, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243,  260, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243
-    },
-
-    {
-       15, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244, -244, -244, -244,  261, -244, -244,
-     -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244, -244, -244,  261
-
-    },
-
-    {
-       15, -245, -245, -245,  262, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245,  263, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245, -245, -245, -245
-    },
-
-    {
-       15, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246,  264, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-
-     -246, -246, -246, -246, -246, -246,  264, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246
-    },
-
-    {
-       15, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247,  265, -247, -247, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247, -247,  265, -247
-    },
-
-    {
-       15, -248, -248, -248,  266, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248,  267, -248, -248, -248, -248,
-
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248
-    },
-
-    {
-       15, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249,  268, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249,  268, -249, -249, -249
-
-    },
-
-    {
-       15, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250,  269, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250,  269, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250
-    },
-
-    {
-       15, -251, -251, -251,  270, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251,  271, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-
-     -251, -251, -251, -251, -251, -251, -251, -251, -251, -251,
-     -251, -251, -251, -251, -251, -251, -251
-    },
-
-    {
-       15, -252, -252, -252,  272, -252, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252,  273, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252, -252, -252, -252, -252,
-     -252, -252, -252, -252, -252, -252, -252
-    },
-
-    {
-       15, -253, -253, -253, -253, -253, -253, -253, -253,  274,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253, -253, -253, -253,
-     -253, -253, -253, -253, -253, -253, -253
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,  275,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  275,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-
-    },
-
-    {
-       15,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  256,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  276,  276
-    },
-
-    {
-       15, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-
-     -256, -256, -256, -256, -256, -256, -256, -256, -256, -256,
-     -256, -256, -256, -256, -256, -256, -256
-    },
-
-    {
-       15,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  240,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
-      257,  257,  257,  257,  257,  257,  257
-    },
-
-    {
-       15,   72,   72,   72,  277,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,  278,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15, -259, -259, -259,  279, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259,  280, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259, -259, -259, -259,
-     -259, -259, -259, -259, -259, -259, -259
-
-    },
-
-    {
-       15, -260, -260, -260, -260, -260, -260, -260, -260,  281,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260, -260, -260, -260,
-     -260, -260, -260, -260, -260, -260, -260
-    },
-
-    {
-       15, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-      282, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-
-      282, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-     -261, -261, -261, -261, -261, -261, -261
-    },
-
-    {
-       15,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  263,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283
-    },
-
-    {
-       15, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263, -263, -263, -263,
-     -263, -263, -263, -263, -263, -263, -263
-    },
-
-    {
-       15, -264, -264, -264, -264, -264, -264, -264, -264,  284,
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264, -264, -264, -264,
-     -264, -264, -264, -264, -264, -264, -264
-
-    },
-
-    {
-       15, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265,  285, -265, -265, -265, -265, -265, -265,
-     -265, -265, -265, -265, -265, -265, -265, -265, -265, -265,
-     -265, -265,  285, -265, -265, -265, -265
-    },
-
-    {
-       15,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  267,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-
-      286,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  286,  286
-    },
-
-    {
-       15, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267, -267, -267, -267, -267, -267,
-     -267, -267, -267, -267, -267, -267, -267
-    },
-
-    {
-       15, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-
-     -268, -268, -268, -268, -268, -268, -268,  287, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268,  287, -268, -268, -268,
-     -268, -268, -268, -268, -268, -268, -268
-    },
-
-    {
-       15, -269, -269, -269, -269, -269, -269, -269, -269,  288,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269, -269, -269, -269,
-     -269, -269, -269, -269, -269, -269, -269
-
-    },
-
-    {
-       15,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  271,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289
-    },
-
-    {
-       15, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-
-     -271, -271, -271, -271, -271, -271, -271, -271, -271, -271,
-     -271, -271, -271, -271, -271, -271, -271
-    },
-
-    {
-       15,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  273,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290
-    },
-
-    {
-       15, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273, -273, -273, -273,
-     -273, -273, -273, -273, -273, -273, -273
-    },
-
-    {
-       15, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274,  291, -274,
-     -274, -274, -274, -274, -274, -274, -274, -274, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274,  291, -274, -274,
-     -274, -274, -274, -274, -274, -274, -274
-
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,  292,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,  292,   72,   72,   72,   72
-    },
-
-    {
-       15,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  256,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-
-      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
-      276,  276,  276,  276,  276,  276,  276
-    },
-
-    {
-       15,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  278,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  293,  293
-    },
-
-    {
-       15, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278, -278, -278, -278,
-     -278, -278, -278, -278, -278, -278, -278
-    },
-
-    {
-       15,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  280,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294
-
-    },
-
-    {
-       15, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280, -280, -280, -280,
-     -280, -280, -280, -280, -280, -280, -280
-    },
-
-    {
-       15, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281,  295, -281,
-     -281, -281, -281, -281, -281, -281, -281, -281, -281, -281,
-
-     -281, -281, -281, -281, -281, -281, -281,  295, -281, -281,
-     -281, -281, -281, -281, -281, -281, -281
-    },
-
-    {
-       15, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282,  296, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282,  296, -282,
-     -282, -282, -282, -282, -282, -282, -282, -282, -282, -282,
-     -282, -282, -282, -282, -282, -282, -282
-    },
-
-    {
-       15,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  263,  283,  283,  283,  283,
-
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283,  283,  283,  283,
-      283,  283,  283,  283,  283,  283,  283
-    },
-
-    {
-       15, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284,  297, -284,
-     -284, -284, -284, -284, -284, -284, -284, -284, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284,  297, -284, -284,
-     -284, -284, -284, -284, -284, -284, -284
-
-    },
-
-    {
-       15, -285, -285, -285,  298, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285,  299, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285, -285, -285, -285,
-     -285, -285, -285, -285, -285, -285, -285
-    },
-
-    {
-       15,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  267,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-
-      286,  286,  286,  286,  286,  286,  286,  286,  286,  286,
-      286,  286,  286,  286,  286,  286,  286
-    },
-
-    {
-       15, -287, -287, -287, -287, -287, -287, -287, -287,  300,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287, -287, -287, -287,
-     -287, -287, -287, -287, -287, -287, -287
-    },
-
-    {
-       15, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-
-     -288, -288, -288, -288, -288, -288, -288, -288,  301, -288,
-     -288, -288, -288, -288, -288, -288, -288, -288, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288,  301, -288, -288,
-     -288, -288, -288, -288, -288, -288, -288
-    },
-
-    {
-       15,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  271,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289,  289,  289,  289,
-      289,  289,  289,  289,  289,  289,  289
-
-    },
-
-    {
-       15,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  273,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290,  290,  290,  290,
-      290,  290,  290,  290,  290,  290,  290
-    },
-
-    {
-       15, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291,  302,
-     -291, -291, -291, -291, -291, -291, -291, -291, -291, -291,
-
-     -291, -291, -291, -291, -291, -291, -291, -291,  302, -291,
-     -291, -291, -291, -291, -291, -291, -291
-    },
-
-    {
-       15,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   73,   72,  303,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,  303,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  278,  293,  293,  293,  293,
-
-      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
-      293,  293,  293,  293,  293,  293,  293
-    },
-
-    {
-       15,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  280,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294,  294,  294,  294,
-      294,  294,  294,  294,  294,  294,  294
-
-    },
-
-    {
-       15, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295,  304,
-     -295, -295, -295, -295, -295, -295, -295, -295, -295, -295,
-     -295, -295, -295, -295, -295, -295, -295, -295,  304, -295,
-     -295, -295, -295, -295, -295, -295, -295
-    },
-
-    {
-       15, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296, -296,  305, -296, -296, -296, -296, -296, -296,
-
-     -296, -296, -296, -296, -296, -296, -296, -296, -296, -296,
-     -296, -296,  305, -296, -296, -296, -296
-    },
-
-    {
-       15, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297,  306,
-     -297, -297, -297, -297, -297, -297, -297, -297, -297, -297,
-     -297, -297, -297, -297, -297, -297, -297, -297,  306, -297,
-     -297, -297, -297, -297, -297, -297, -297
-    },
-
-    {
-       15,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  299,  307,  307,  307,  307,
-
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307
-    },
-
-    {
-       15, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299, -299, -299, -299,
-     -299, -299, -299, -299, -299, -299, -299
-
-    },
-
-    {
-       15, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300,  308, -300,
-     -300, -300, -300, -300, -300, -300, -300, -300, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300,  308, -300, -300,
-     -300, -300, -300, -300, -300, -300, -300
-    },
-
-    {
-       15, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301,  309,
-     -301, -301, -301, -301, -301, -301, -301, -301, -301, -301,
-
-     -301, -301, -301, -301, -301, -301, -301, -301,  309, -301,
-     -301, -301, -301, -301, -301, -301, -301
-    },
-
-    {
-       15, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302,  310, -302, -302, -302, -302, -302, -302,
-     -302, -302, -302, -302, -302, -302, -302, -302, -302, -302,
-     -302, -302,  310, -302, -302, -302, -302
-    },
-
-    {
-       15,   72,   72,   72,  311,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,  312,   72,   72,   72,   72,
-
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72,   72,   72,   72,
-       72,   72,   72,   72,   72,   72,   72
-    },
-
-    {
-       15, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-     -304, -304, -304,  313, -304, -304, -304, -304, -304, -304,
-     -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
-     -304, -304,  313, -304, -304, -304, -304
-
-    },
-
-    {
-       15, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-     -305, -305, -305, -305, -305, -305, -305,  314, -305, -305,
-     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-     -305, -305, -305, -305, -305, -305, -305, -305,  314, -305,
-     -305, -305, -305, -305, -305, -305, -305, -305, -305, -305,
-     -305, -305, -305, -305, -305, -305, -305
-    },
-
-    {
-       15, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306, -306,  315, -306, -306, -306, -306, -306, -306,
-
-     -306, -306, -306, -306, -306, -306, -306, -306, -306, -306,
-     -306, -306,  315, -306, -306, -306, -306
-    },
-
-    {
-       15,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  299,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307,  307,  307,  307,
-      307,  307,  307,  307,  307,  307,  307
-    },
-
-    {
-       15, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-
-     -308, -308, -308, -308, -308, -308, -308, -308, -308,  316,
-     -308, -308, -308, -308, -308, -308, -308, -308, -308, -308,
-     -308, -308, -308, -308, -308, -308, -308, -308,  316, -308,
-     -308, -308, -308, -308, -308, -308, -308
-    },
-
-    {
-       15, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309,  317, -309, -309, -309, -309, -309, -309,
-     -309, -309, -309, -309, -309, -309, -309, -309, -309, -309,
-     -309, -309,  317, -309, -309, -309, -309
-
-    },
-
-    {
-       15, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310,  318, -310, -310, -310, -310, -310, -310, -310, -310,
-     -310, -310, -310, -310, -310, -310, -310, -310, -310, -310,
-      318, -310, -310, -310, -310, -310, -310
-    },
-
-    {
-       15,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  312,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-
-      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  319,  319
-    },
-
-    {
-       15, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312, -312, -312, -312,
-     -312, -312, -312, -312, -312, -312, -312
-    },
-
-    {
-       15, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-
-     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313,  320, -313, -313, -313, -313, -313, -313, -313, -313,
-     -313, -313, -313, -313, -313, -313, -313, -313, -313, -313,
-      320, -313, -313, -313, -313, -313, -313
-    },
-
-    {
-       15, -314, -314, -314,  321, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314,  322, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314, -314, -314, -314, -314, -314,
-     -314, -314, -314, -314, -314, -314, -314
-
-    },
-
-    {
-       15, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315,  323, -315, -315, -315, -315, -315, -315, -315, -315,
-     -315, -315, -315, -315, -315, -315, -315, -315, -315, -315,
-      323, -315, -315, -315, -315, -315, -315
-    },
-
-    {
-       15, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316, -316,  324, -316, -316, -316, -316, -316, -316,
-
-     -316, -316, -316, -316, -316, -316, -316, -316, -316, -316,
-     -316, -316,  324, -316, -316, -316, -316
-    },
-
-    {
-       15, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317,  325, -317, -317, -317, -317, -317, -317, -317, -317,
-     -317, -317, -317, -317, -317, -317, -317, -317, -317, -317,
-      325, -317, -317, -317, -317, -317, -317
-    },
-
-    {
-       15, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318, -318, -318, -318,  326, -318, -318,
-
-     -318, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318, -318, -318, -318, -318,  326, -318,
-     -318, -318, -318, -318, -318, -318, -318, -318, -318, -318,
-     -318, -318, -318, -318, -318, -318, -318
-    },
-
-    {
-       15,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  312,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  319,  319,  319,  319,  319,
-      319,  319,  319,  319,  319,  319,  319
-
-    },
-
-    {
-       15, -320, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320, -320, -320, -320, -320, -320, -320,  327, -320, -320,
-     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320, -320, -320, -320, -320, -320, -320, -320,  327, -320,
-     -320, -320, -320, -320, -320, -320, -320, -320, -320, -320,
-     -320, -320, -320, -320, -320, -320, -320
-    },
-
-    {
-       15,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  322,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-
-      328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  328,  328
-    },
-
-    {
-       15, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322, -322, -322, -322,
-     -322, -322, -322, -322, -322, -322, -322
-    },
-
-    {
-       15, -323, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323, -323, -323, -323, -323, -323, -323,  329, -323, -323,
-
-     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323, -323, -323, -323, -323, -323, -323, -323,  329, -323,
-     -323, -323, -323, -323, -323, -323, -323, -323, -323, -323,
-     -323, -323, -323, -323, -323, -323, -323
-    },
-
-    {
-       15, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324,  330, -324, -324, -324, -324, -324, -324, -324, -324,
-     -324, -324, -324, -324, -324, -324, -324, -324, -324, -324,
-      330, -324, -324, -324, -324, -324, -324
-
-    },
-
-    {
-       15, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325,  331, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325,  331, -325,
-     -325, -325, -325, -325, -325, -325, -325, -325, -325, -325,
-     -325, -325, -325, -325, -325, -325, -325
-    },
-
-    {
-       15, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326,  332, -326,
-     -326, -326, -326, -326, -326, -326, -326, -326, -326, -326,
-
-     -326, -326, -326, -326, -326, -326, -326,  332, -326, -326,
-     -326, -326, -326, -326, -326, -326, -326
-    },
-
-    {
-       15, -327, -327, -327, -327, -327, -327, -327, -327, -327,
-     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
-     -327, -327, -327, -327, -327, -327, -327, -327,  333, -327,
-     -327, -327, -327, -327, -327, -327, -327, -327, -327, -327,
-     -327, -327, -327, -327, -327, -327, -327,  333, -327, -327,
-     -327, -327, -327, -327, -327, -327, -327
-    },
-
-    {
-       15,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  322,  328,  328,  328,  328,
-
-      328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  328,  328,  328,  328,  328,
-      328,  328,  328,  328,  328,  328,  328
-    },
-
-    {
-       15, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329,  334, -329,
-     -329, -329, -329, -329, -329, -329, -329, -329, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329,  334, -329, -329,
-     -329, -329, -329, -329, -329, -329, -329
-
-    },
-
-    {
-       15, -330, -330, -330, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330, -330, -330, -330, -330,  335, -330, -330,
-     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330, -330, -330, -330, -330, -330,  335, -330,
-     -330, -330, -330, -330, -330, -330, -330, -330, -330, -330,
-     -330, -330, -330, -330, -330, -330, -330
-    },
-
-    {
-       15, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-     -331, -331, -331, -331, -331, -331, -331, -331,  336, -331,
-     -331, -331, -331, -331, -331, -331, -331, -331, -331, -331,
-
-     -331, -331, -331, -331, -331, -331, -331,  336, -331, -331,
-     -331, -331, -331, -331, -331, -331, -331
-    },
-
-    {
-       15, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-     -332, -332,  337, -332, -332, -332, -332, -332, -332, -332,
-     -332, -332, -332, -332, -332, -332, -332, -332, -332, -332,
-     -332,  337, -332, -332, -332, -332, -332
-    },
-
-    {
-       15, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-
-     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333,  338, -333, -333, -333, -333, -333, -333, -333,
-     -333, -333, -333, -333, -333, -333, -333, -333, -333, -333,
-     -333,  338, -333, -333, -333, -333, -333
-    },
-
-    {
-       15, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334, -334,  339, -334, -334, -334, -334, -334, -334, -334,
-     -334, -334, -334, -334, -334, -334, -334, -334, -334, -334,
-     -334,  339, -334, -334, -334, -334, -334
-
-    },
-
-    {
-       15, -335, -335, -335, -335, -335, -335, -335, -335, -335,
-     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
-     -335, -335, -335, -335, -335, -335, -335, -335,  340, -335,
-     -335, -335, -335, -335, -335, -335, -335, -335, -335, -335,
-     -335, -335, -335, -335, -335, -335, -335,  340, -335, -335,
-     -335, -335, -335, -335, -335, -335, -335
-    },
-
-    {
-       15, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336, -336,  341, -336, -336, -336, -336, -336, -336, -336,
-
-     -336, -336, -336, -336, -336, -336, -336, -336, -336, -336,
-     -336,  341, -336, -336, -336, -336, -336
-    },
-
-    {
-       15, -337, -337, -337,  342, -337, -337, -337,  343, -337,
-     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337, -337, -337, -337, -337, -337,
-     -337, -337, -337, -337, -337, -337, -337
-    },
-
-    {
-       15, -338, -338, -338,  344, -338, -338, -338,  345, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338, -338, -338, -338,
-     -338, -338, -338, -338, -338, -338, -338
-    },
-
-    {
-       15, -339, -339, -339,  346, -339, -339, -339,  347, -339,
-     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339, -339, -339, -339, -339, -339,
-     -339, -339, -339, -339, -339, -339, -339
-
-    },
-
-    {
-       15, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340,  348, -340, -340, -340, -340, -340, -340, -340,
-     -340, -340, -340, -340, -340, -340, -340, -340, -340, -340,
-     -340,  348, -340, -340, -340, -340, -340
-    },
-
-    {
-       15, -341, -341, -341,  349, -341, -341, -341,  350, -341,
-     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-
-     -341, -341, -341, -341, -341, -341, -341, -341, -341, -341,
-     -341, -341, -341, -341, -341, -341, -341
-    },
-
-    {
-       15,  351,  351,  351,  351,  351,  351,  351,  352,  351,
-      351,  351,  351,  351,  351, -342,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351
-    },
-
-    {
-       15, -343, -343, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
-
-     -343, -343,  353, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343,  353, -343, -343, -343, -343, -343, -343, -343,
-     -343, -343, -343, -343, -343, -343, -343
-    },
-
-    {
-       15,  354,  354,  354,  354,  354,  354,  354,  355,  354,
-      354,  354,  354,  354,  354, -344,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354
-
-    },
-
-    {
-       15, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345,  356, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345,  356, -345, -345, -345, -345, -345, -345, -345,
-     -345, -345, -345, -345, -345, -345, -345
-    },
-
-    {
-       15,  357,  357,  357,  357,  357,  357,  357,  358,  357,
-      357,  357,  357,  357,  357, -346,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357
-    },
-
-    {
-       15, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347,  359, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347,  359, -347, -347, -347, -347, -347, -347, -347,
-     -347, -347, -347, -347, -347, -347, -347
-    },
-
-    {
-       15, -348, -348, -348, -348, -348, -348, -348,  360, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348, -348, -348, -348,
-     -348, -348, -348, -348, -348, -348, -348
-    },
-
-    {
-       15,  361,  361,  361,  361,  361,  361,  361,  362,  361,
-      361,  361,  361,  361,  361, -349,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361
-
-    },
-
-    {
-       15, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350,  363, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350,  363, -350, -350, -350, -350, -350, -350, -350,
-     -350, -350, -350, -350, -350, -350, -350
-    },
-
-    {
-       15,  351,  351,  351,  351,  351,  351,  351,  352,  351,
-      351,  351,  351,  351,  351, -351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351
-    },
-
-    {
-       15,  351,  351,  351,  351,  351,  351,  351,  352,  351,
-      351,  351,  351,  351,  351, -352,  351,  351,  351,  351,
-      351,  351,  364,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  364,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351
-    },
-
-    {
-       15, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353,  365, -353, -353, -353, -353, -353, -353,
-     -353, -353, -353, -353, -353, -353, -353, -353, -353, -353,
-     -353, -353,  365, -353, -353, -353, -353
-    },
-
-    {
-       15,  354,  354,  354,  354,  354,  354,  354,  355,  354,
-      354,  354,  354,  354,  354, -354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354
-
-    },
-
-    {
-       15,  354,  354,  354,  354,  354,  354,  354,  355,  354,
-      354,  354,  354,  354,  354, -355,  354,  354,  354,  354,
-      354,  354,  366,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  366,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354
-    },
-
-    {
-       15, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356, -356,  367, -356, -356, -356, -356, -356, -356,
-
-     -356, -356, -356, -356, -356, -356, -356, -356, -356, -356,
-     -356, -356,  367, -356, -356, -356, -356
-    },
-
-    {
-       15,  357,  357,  357,  357,  357,  357,  357,  358,  357,
-      357,  357,  357,  357,  357, -357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357
-    },
-
-    {
-       15,  357,  357,  357,  357,  357,  357,  357,  358,  357,
-      357,  357,  357,  357,  357, -358,  357,  357,  357,  357,
-
-      357,  357,  368,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  368,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357
-    },
-
-    {
-       15, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359,  369, -359, -359, -359, -359, -359, -359,
-     -359, -359, -359, -359, -359, -359, -359, -359, -359, -359,
-     -359, -359,  369, -359, -359, -359, -359
-
-    },
-
-    {
-       15, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360,  370, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360,  370, -360, -360, -360, -360, -360, -360, -360,
-     -360, -360, -360, -360, -360, -360, -360
-    },
-
-    {
-       15,  361,  361,  361,  361,  361,  361,  361,  362,  361,
-      361,  361,  361,  361,  361, -361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361
-    },
-
-    {
-       15,  361,  361,  361,  361,  361,  361,  361,  362,  361,
-      361,  361,  361,  361,  361, -362,  361,  361,  361,  361,
-      361,  361,  371,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  371,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361
-    },
-
-    {
-       15, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363,  372, -363, -363, -363, -363, -363, -363,
-     -363, -363, -363, -363, -363, -363, -363, -363, -363, -363,
-     -363, -363,  372, -363, -363, -363, -363
-    },
-
-    {
-       15,  351,  351,  351,  351,  351,  351,  351,  352,  351,
-      351,  351,  351,  351,  351, -364,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  373,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  373,  351,  351,  351,  351
-
-    },
-
-    {
-       15, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365,  374, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365, -365, -365, -365,
-     -365, -365, -365, -365, -365, -365, -365
-    },
-
-    {
-       15,  354,  354,  354,  354,  354,  354,  354,  355,  354,
-      354,  354,  354,  354,  354, -366,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  375,  354,  354,  354,  354,  354,  354,
-
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  375,  354,  354,  354,  354
-    },
-
-    {
-       15, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367,  376, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367, -367, -367, -367,
-     -367, -367, -367, -367, -367, -367, -367
-    },
-
-    {
-       15,  357,  357,  357,  357,  357,  357,  357,  358,  357,
-      357,  357,  357,  357,  357, -368,  357,  357,  357,  357,
-
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  377,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  377,  357,  357,  357,  357
-    },
-
-    {
-       15, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369,  378, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369, -369, -369, -369,
-     -369, -369, -369, -369, -369, -369, -369
-
-    },
-
-    {
-       15, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370,  379, -370, -370, -370, -370, -370, -370,
-     -370, -370, -370, -370, -370, -370, -370, -370, -370, -370,
-     -370, -370,  379, -370, -370, -370, -370
-    },
-
-    {
-       15,  361,  361,  361,  361,  361,  361,  361,  362,  361,
-      361,  361,  361,  361,  361, -371,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  380,  361,  361,  361,  361,  361,  361,
-
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  380,  361,  361,  361,  361
-    },
-
-    {
-       15, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372,  381, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372, -372, -372, -372,
-     -372, -372, -372, -372, -372, -372, -372
-    },
-
-    {
-       15,  351,  351,  351,  351,  351,  351,  351,  352,  351,
-      351,  351,  351,  382,  351, -373,  351,  351,  351,  351,
-
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351
-    },
-
-    {
-       15, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374, -374, -374, -374,
-     -374, -374, -374, -374, -374, -374, -374
-
-    },
-
-    {
-       15,  354,  354,  354,  354,  354,  354,  354,  355,  354,
-      354,  354,  354,  383,  354, -375,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354
-    },
-
-    {
-       15, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-
-     -376, -376, -376, -376, -376, -376, -376, -376, -376, -376,
-     -376, -376, -376, -376, -376, -376, -376
-    },
-
-    {
-       15,  357,  357,  357,  357,  357,  357,  357,  358,  357,
-      357,  357,  357,  384,  357, -377,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357
-    },
-
-    {
-       15, -378, -378, -378, -378, -378, -378, -378, -378, -378,
-     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
-
-     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
-     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
-     -378, -378, -378, -378, -378, -378, -378, -378, -378, -378,
-     -378, -378, -378, -378, -378, -378, -378
-    },
-
-    {
-       15, -379, -379, -379, -379, -379, -379, -379, -379, -379,
-     -379, -379, -379,  385, -379, -379, -379, -379, -379, -379,
-     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
-     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
-     -379, -379, -379, -379, -379, -379, -379, -379, -379, -379,
-     -379, -379, -379, -379, -379, -379, -379
-
-    },
-
-    {
-       15,  361,  361,  361,  361,  361,  361,  361,  362,  361,
-      361,  361,  361,  386,  361, -380,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361
-    },
-
-    {
-       15, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-
-     -381, -381, -381, -381, -381, -381, -381, -381, -381, -381,
-     -381, -381, -381, -381, -381, -381, -381
-    },
-
-    {
-       15,  351,  351,  351,  351,  351,  351,  351,  352,  351,
-      351,  351,  351,  351,  351, -382,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
-      351,  351,  351,  351,  351,  351,  351
-    },
-
-    {
-       15,  354,  354,  354,  354,  354,  354,  354,  355,  354,
-      354,  354,  354,  354,  354, -383,  354,  354,  354,  354,
-
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
-      354,  354,  354,  354,  354,  354,  354
-    },
-
-    {
-       15,  357,  357,  357,  357,  357,  357,  357,  358,  357,
-      357,  357,  357,  357,  357, -384,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
-      357,  357,  357,  357,  357,  357,  357
-
-    },
-
-    {
-       15, -385, -385, -385, -385, -385, -385, -385, -385, -385,
-     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
-     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
-     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
-     -385, -385, -385, -385, -385, -385, -385, -385, -385, -385,
-     -385, -385, -385, -385, -385, -385, -385
-    },
-
-    {
-       15,  361,  361,  361,  361,  361,  361,  361,  362,  361,
-      361,  361,  361,  361,  361, -386,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-
-      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
-      361,  361,  361,  361,  361,  361,  361
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 39
-#define YY_END_OF_BUFFER 40
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[387] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   40,   38,   36,   36,   37,   38,
-       36,    2,    2,    5,    5,   10,   10,   10,   15,   15,
-       15,   18,   18,   18,   23,   23,   23,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   35,    0,    0,    0,    0,
-        0,    0,   33,    0,    0,    0,    1,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   35,   24,    0,   32,    0,
-
-       34,    0,    0,    0,    0,    0,    0,    3,    0,    0,
-        6,    0,    0,    0,   11,    0,    0,    0,   16,    0,
-       19,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,   30,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   31,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   29,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   25,    0,    0,    0,    0,
-        0,    0,    7,    0,    0,    0,   12,    0,    0,    0,
-       22,    0,   20,    0,    0,    0,    0,   27,    0,    4,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   14,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   26,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    9,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,   28,    0,    8,    0,   13,    0,    0,
-       21,   28,    8,   13,   17,   21
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    5,    1,    6,    7,    1,    8,    1,    1,
-        1,    1,    1,    1,    9,    1,   10,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,   12,   13,   14,
-        1,   15,   16,    7,   17,   18,   19,   20,   21,   19,
-       22,   23,   24,   23,   25,   26,   27,   28,   29,   30,
-       23,   31,   32,   33,   34,   23,   35,   36,   37,   23,
-        7,    7,    7,    7,    1,    1,   38,   39,   19,   40,
-
-       41,   19,   42,   23,   43,   23,   44,   45,   46,   47,
-       48,   49,   23,   50,   51,   52,   53,   23,   54,   55,
-       56,   23,    7,    1,    7,    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
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_deswxml.cctmp"
-#line 4 "apertium_deswxml.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/${}]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-map<string, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution["'"] = L"'";
-}
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 4452 "apertium_deswxml.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-#define C4 4
-#define C5 5
-#define C6 6
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 272 "apertium_deswxml.cctmp"
-
-
-
-#line 4663 "apertium_deswxml.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 277 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 283 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 292 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 296 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 5:
-/* rule 5 can match eol */
-YY_RULE_SETUP
-#line 302 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 6:
-YY_RULE_SETUP
-#line 311 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 7:
-/* rule 7 can match eol */
-YY_RULE_SETUP
-#line 315 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 8:
-/* rule 8 can match eol */
-YY_RULE_SETUP
-#line 319 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 9:
-/* rule 9 can match eol */
-YY_RULE_SETUP
-#line 323 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 10:
-/* rule 10 can match eol */
-YY_RULE_SETUP
-#line 329 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 11:
-YY_RULE_SETUP
-#line 338 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 12:
-/* rule 12 can match eol */
-YY_RULE_SETUP
-#line 342 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 13:
-/* rule 13 can match eol */
-YY_RULE_SETUP
-#line 346 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 14:
-/* rule 14 can match eol */
-YY_RULE_SETUP
-#line 350 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 15:
-/* rule 15 can match eol */
-YY_RULE_SETUP
-#line 356 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 16:
-YY_RULE_SETUP
-#line 365 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 369 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 18:
-/* rule 18 can match eol */
-YY_RULE_SETUP
-#line 375 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 19:
-YY_RULE_SETUP
-#line 384 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 20:
-/* rule 20 can match eol */
-YY_RULE_SETUP
-#line 388 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 21:
-/* rule 21 can match eol */
-YY_RULE_SETUP
-#line 392 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 396 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 23:
-/* rule 23 can match eol */
-YY_RULE_SETUP
-#line 402 "apertium_deswxml.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 24:
-YY_RULE_SETUP
-#line 408 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 25:
-/* rule 25 can match eol */
-YY_RULE_SETUP
-#line 412 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 26:
-/* rule 26 can match eol */
-YY_RULE_SETUP
-#line 416 "apertium_deswxml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 27:
-/* rule 27 can match eol */
-YY_RULE_SETUP
-#line 421 "apertium_deswxml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C4);
-}
-	YY_BREAK
-case 28:
-/* rule 28 can match eol */
-YY_RULE_SETUP
-#line 426 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C5);
-}
-	YY_BREAK
-case 29:
-/* rule 29 can match eol */
-YY_RULE_SETUP
-#line 430 "apertium_deswxml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C6);
-}
-	YY_BREAK
-case 30:
-/* rule 30 can match eol */
-YY_RULE_SETUP
-#line 435 "apertium_deswxml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 31:
-/* rule 31 can match eol */
-YY_RULE_SETUP
-#line 439 "apertium_deswxml.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 32:
-/* rule 32 can match eol */
-YY_RULE_SETUP
-#line 443 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 33:
-/* rule 33 can match eol */
-YY_RULE_SETUP
-#line 446 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 34:
-/* rule 34 can match eol */
-YY_RULE_SETUP
-#line 449 "apertium_deswxml.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 453 "apertium_deswxml.cctmp"
-{
-  if(S1_substitution.find(yytext) != S1_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S1_substitution[yytext].c_str(), yyout);
-    offset+=S1_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 36:
-/* rule 36 can match eol */
-YY_RULE_SETUP
-#line 467 "apertium_deswxml.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 475 "apertium_deswxml.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 495 "apertium_deswxml.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-case YY_STATE_EOF(C4):
-case YY_STATE_EOF(C5):
-case YY_STATE_EOF(C6):
-#line 520 "apertium_deswxml.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 527 "apertium_deswxml.cctmp"
-ECHO;
-	YY_BREAK
-#line 5125 "apertium_deswxml.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 527 "apertium_deswxml.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  S1_init();
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_desxlsx.cc b/apertium/apertium_desxlsx.cc
deleted file mode 100644
index a5dd13d..0000000
--- a/apertium/apertium_desxlsx.cc
+++ /dev/null
@@ -1,3403 +0,0 @@
-#line 2 "apertium_desxlsx.cc"
-
-#line 4 "apertium_desxlsx.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][48] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        9,   10,   11,   12,   11,   10,   10,   13,   14,   10,
-       13,   10,   10,   15,   11,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10
-
-    },
-
-    {
-        9,   10,   11,   12,   11,   10,   10,   13,   14,   10,
-       13,   10,   10,   15,   11,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
-       10,   10,   10,   10,   10,   10,   10,   10
-    },
-
-    {
-        9,   16,   16,   16,   16,   16,   16,   16,   16,   17,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16
-
-    },
-
-    {
-        9,   16,   16,   16,   16,   16,   16,   16,   16,   17,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
-       16,   16,   16,   16,   16,   16,   16,   16
-    },
-
-    {
-        9,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   19,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18
-
-    },
-
-    {
-        9,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   19,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,   18
-    },
-
-    {
-        9,   20,   20,   20,   20,   20,   20,   20,   21,   20,
-       20,   20,   20,   22,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20
-
-    },
-
-    {
-        9,   20,   20,   20,   20,   20,   20,   20,   21,   20,
-       20,   20,   20,   22,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20,   20,   20,
-       20,   20,   20,   20,   20,   20,   20,   20
-    },
-
-    {
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9
-
-    },
-
-    {
-        9,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10
-    },
-
-    {
-        9,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11
-
-    },
-
-    {
-        9,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        9,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-
-    },
-
-    {
-        9,  -14,  -14,  -14,  -14,  -14,   23,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,   24,   24,   24,   24,
-       24,   24,   24,   25,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   25,   24,
-       24,   24,   24,   24,   24,   24,   24,   24
-    },
-
-    {
-        9,  -15,  -15,  -15,  -15,   26,  -15,  -15,  -15,  -15,
-       27,  -15,  -15,  -15,  -15,   28,   29,   29,   29,   30,
-       29,   29,   29,   29,   29,   29,   29,   29,   29,   31,
-       29,   29,   29,   29,   29,   30,   29,   29,   29,   29,
-       29,   29,   29,   29,   31,   29,   29,   29
-
-    },
-
-    {
-        9,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    {
-        9,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,   32,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17
-
-    },
-
-    {
-        9,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18
-    },
-
-    {
-        9,  -19,  -19,  -19,  -19,   33,  -19,  -19,  -19,  -19,
-       34,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19
-
-    },
-
-    {
-        9,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20
-    },
-
-    {
-        9,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,   35,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,   35,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21
-
-    },
-
-    {
-        9,  -22,  -22,  -22,  -22,   36,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22
-    },
-
-    {
-        9,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,   37,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,   38,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,   38
-
-    },
-
-    {
-        9,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,   39,  -24,  -24,  -24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24
-    },
-
-    {
-        9,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,   39,  -25,  -25,  -25,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       40,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   40,   24,   24
-
-    },
-
-    {
-        9,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,   41,
-      -26,  -26,  -26,  -26,  -26,  -26,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42
-    },
-
-    {
-        9,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,   43,   43,   43,   43,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   44,
-       43,   43,   43,   43,   43,   43,   43,   43,   43,   43,
-       43,   43,   43,   43,   44,   43,   43,   43
-
-    },
-
-    {
-        9,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42,   42,   42,
-       42,   42,   42,   42,   42,   42,   42,   42
-    },
-
-    {
-        9,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   46,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45
-
-    },
-
-    {
-        9,   45,   45,   45,   47,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   48,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45
-    },
-
-    {
-        9,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   46,   45,   45,   45,   45,   45,
-       45,   45,   49,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   49,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45
-
-    },
-
-    {
-        9,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,   50,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32
-    },
-
-    {
-        9,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,   51,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33
-
-    },
-
-    {
-        9,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,   52,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,   52,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34
-    },
-
-    {
-        9,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-       53,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,   53,  -35,  -35
-
-    },
-
-    {
-        9,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,   54,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36
-    },
-
-    {
-        9,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,   55,   39,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37
-
-    },
-
-    {
-        9,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,   56,  -38,  -38,  -38,  -38,   56,   56,   56,   56,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,   56,   56,   56,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38
-    },
-
-    {
-        9,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39
-
-    },
-
-    {
-        9,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,   57,  -40,  -40,  -40,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24
-    },
-
-    {
-        9,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,   58,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41
-
-    },
-
-    {
-        9,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   60,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59
-    },
-
-    {
-        9,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   62,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61
-
-    },
-
-    {
-        9,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   62,   61,   61,   61,   61,   61,
-       61,   61,   63,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   63,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61
-    },
-
-    {
-        9,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   46,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45
-
-    },
-
-    {
-        9,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46
-    },
-
-    {
-        9,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   48,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64
-
-    },
-
-    {
-        9,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48
-    },
-
-    {
-        9,   45,   45,   45,   65,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   66,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45
-
-    },
-
-    {
-        9,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50
-    },
-
-    {
-        9,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,   67,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51
-
-    },
-
-    {
-        9,  -52,  -52,  -52,   68,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,   69,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52
-    },
-
-    {
-        9,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,   70,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53
-
-    },
-
-    {
-        9,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,   71,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54
-    },
-
-    {
-        9,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,   72,   39,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55
-
-    },
-
-    {
-        9,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,   73,   39,  -56,  -56,  -56,   73,   73,   73,   73,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,   73,   73,   73,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56
-    },
-
-    {
-        9,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,   74,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,   74,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57
-
-    },
-
-    {
-        9,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58
-    },
-
-    {
-        9,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   60,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59,   59,   59,
-       59,   59,   59,   59,   59,   59,   59,   59
-
-    },
-
-    {
-        9,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60
-    },
-
-    {
-        9,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   62,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61
-
-    },
-
-    {
-        9,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62
-    },
-
-    {
-        9,   61,   61,   61,   75,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   76,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61,   61,   61,
-       61,   61,   61,   61,   61,   61,   61,   61
-
-    },
-
-    {
-        9,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   48,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64,   64,   64,
-       64,   64,   64,   64,   64,   64,   64,   64
-    },
-
-    {
-        9,   77,   77,   77,   77,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   66,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   77,   77,   77,   77
-
-    },
-
-    {
-        9,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66
-    },
-
-    {
-        9,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67
-
-    },
-
-    {
-        9,   78,   78,   78,   78,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   69,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   78,   78,   78,   78
-    },
-
-    {
-        9,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69
-
-    },
-
-    {
-        9,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-       79,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70
-    },
-
-    {
-        9,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71
-
-    },
-
-    {
-        9,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,   80,   39,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72
-    },
-
-    {
-        9,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,   81,   39,  -73,  -73,  -73,   81,   81,   81,   81,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,   81,   81,   81,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73
-
-    },
-
-    {
-        9,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,   82,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,   82,  -74,  -74,  -74,  -74,  -74
-    },
-
-    {
-        9,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   76,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83
-
-    },
-
-    {
-        9,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76
-    },
-
-    {
-        9,   77,   77,   77,   77,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   66,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
-       77,   77,   77,   77,   77,   77,   77,   77
-
-    },
-
-    {
-        9,   78,   78,   78,   78,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   69,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   78,   78,   78,   78,   78,   78,
-       78,   78,   78,   78,   78,   78,   78,   78
-    },
-
-    {
-        9,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,   84,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,   84,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79
-
-    },
-
-    {
-        9,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,   85,   39,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80
-    },
-
-    {
-        9,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,   86,   39,  -81,  -81,  -81,   86,   86,   86,   86,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,   86,   86,   86,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81
-
-    },
-
-    {
-        9,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,   87,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,   87,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82
-    },
-
-    {
-        9,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   76,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83,   83,   83,
-       83,   83,   83,   83,   83,   83,   83,   83
-
-    },
-
-    {
-        9,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,   88,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,   88,  -84,  -84,  -84,  -84,  -84
-    },
-
-    {
-        9,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,   89,   39,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85
-
-    },
-
-    {
-        9,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,   39,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86
-    },
-
-    {
-        9,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,   90,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,   90,  -87,  -87,  -87,  -87
-
-    },
-
-    {
-        9,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,   91,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,   91,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88
-    },
-
-    {
-        9,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,   92,   39,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89
-
-    },
-
-    {
-        9,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-       93,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,  -90,   93,  -90,  -90
-    },
-
-    {
-        9,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,   94,  -91,
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,   94,  -91,  -91,  -91,  -91
-
-    },
-
-    {
-        9,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,   95,   39,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92
-    },
-
-    {
-        9,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,   96,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,   96,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93
-
-    },
-
-    {
-        9,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-       97,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,   97,  -94,  -94
-    },
-
-    {
-        9,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,   39,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95
-
-    },
-
-    {
-        9,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,   98,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,   98,  -96
-    },
-
-    {
-        9,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,   99,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,   99,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97
-
-    },
-
-    {
-        9,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  100,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  100,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98
-    },
-
-    {
-        9,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  101,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  101,  -99
-
-    },
-
-    {
-        9, -100, -100, -100, -100, -100, -100, -100, -100,  102,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100
-    },
-
-    {
-        9, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101,  103, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101,  103,
-     -101, -101, -101, -101, -101, -101, -101, -101
-
-    },
-
-    {
-        9, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102,  104, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-      104, -102, -102, -102, -102, -102, -102, -102
-    },
-
-    {
-        9, -103, -103, -103, -103, -103, -103, -103, -103,  105,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103
-
-    },
-
-    {
-        9, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104,  106, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104,  106, -104, -104, -104, -104, -104, -104
-    },
-
-    {
-        9, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105,  107, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-      107, -105, -105, -105, -105, -105, -105, -105
-
-    },
-
-    {
-        9, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-      108, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106,  108, -106, -106
-    },
-
-    {
-        9, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107,  109, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107,  109, -107, -107, -107, -107, -107, -107
-
-    },
-
-    {
-        9, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108,  110, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108,  110, -108, -108, -108, -108
-    },
-
-    {
-        9, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-      111, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109,  111, -109, -109
-
-    },
-
-    {
-        9, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110,  112, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110,  112, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110
-    },
-
-    {
-        9, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111,  113, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111,  113, -111, -111, -111, -111
-
-    },
-
-    {
-        9, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112,  114, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-      114, -112, -112, -112, -112, -112, -112, -112
-    },
-
-    {
-        9, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113,  115, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113,  115, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113
-
-    },
-
-    {
-        9, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114,  116,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114,  116, -114, -114, -114
-    },
-
-    {
-        9, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115,  117, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-      117, -115, -115, -115, -115, -115, -115, -115
-
-    },
-
-    {
-        9, -116, -116, -116,  118, -116, -116, -116,  119, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116
-    },
-
-    {
-        9, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117,  120,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117,  120, -117, -117, -117
-
-    },
-
-    {
-        9,  121,  121,  121,  121,  121,  121,  121,  122,  121,
-      121,  121,  121,  121, -118,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121
-    },
-
-    {
-        9, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-      123, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119,  123, -119, -119, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119
-
-    },
-
-    {
-        9, -120, -120, -120, -120, -120, -120, -120,  124, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120
-    },
-
-    {
-        9,  121,  121,  121,  121,  121,  121,  121,  122,  121,
-      121,  121,  121,  121, -121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121
-
-    },
-
-    {
-        9,  121,  121,  121,  121,  121,  121,  121,  122,  121,
-      121,  121,  121,  121, -122,  121,  121,  121,  121,  121,
-      125,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  125,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121
-    },
-
-    {
-        9, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-      126, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123,  126, -123, -123
-
-    },
-
-    {
-        9, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-      127, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124,  127, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124
-    },
-
-    {
-        9,  121,  121,  121,  121,  121,  121,  121,  122,  121,
-      121,  121,  121,  121, -125,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      128,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  128,  121,  121
-
-    },
-
-    {
-        9, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126,  129, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126
-    },
-
-    {
-        9, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-      130, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127, -127,  130, -127, -127
-
-    },
-
-    {
-        9,  121,  121,  121,  121,  121,  121,  121,  122,  121,
-      121,  121,  131,  121, -128,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121
-    },
-
-    {
-        9, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129
-
-    },
-
-    {
-        9, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130,  132, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130
-    },
-
-    {
-        9,  121,  121,  121,  121,  121,  121,  121,  122,  121,
-      121,  121,  121,  121, -131,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
-      121,  121,  121,  121,  121,  121,  121,  121
-
-    },
-
-    {
-        9, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 21
-#define YY_END_OF_BUFFER 22
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[133] =
-    {   0,
-        0,    0,    0,    0,    0,    0,    0,    0,   22,   20,
-       18,   18,   19,   20,   18,    2,    2,    5,    5,    8,
-        8,    8,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   17,    0,
-        0,    0,    0,    0,    0,   15,    0,   10,    0,    1,
-        0,    0,    0,    0,    0,    0,   17,    9,    0,   13,
-        0,   16,    0,    0,    0,   11,    3,    0,    4,    0,
-        6,    0,    0,    0,    0,   12,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,   14,    0,
-       14,    7
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    4,    5,    1,    6,    7,    1,    8,    1,    1,
-        1,    1,    1,    1,    9,    1,   10,   11,   11,   11,
-       11,   11,   11,   11,   11,   11,   11,    1,   12,   13,
-        1,   14,   15,    7,   16,   17,   17,   17,   18,   19,
-       20,   21,   22,   21,   21,   23,   24,   25,   26,   27,
-       21,   28,   29,   30,   31,   21,   21,   32,   21,   21,
-        7,    7,    7,    7,    1,    1,   33,   17,   17,   17,
-
-       34,   35,   36,   21,   37,   21,   21,   38,   39,   40,
-       41,   42,   21,   43,   44,   45,   46,   21,   21,   47,
-       21,   21,    7,    1,    7,    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
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_desxlsx.cctmp"
-#line 4 "apertium_desxlsx.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/${}]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-map<string, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution["'"] = L"'";
-}
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-
-#line 1840 "apertium_desxlsx.cc"
-
-#define INITIAL 0
-#define C1 1
-#define C2 2
-#define C3 3
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 272 "apertium_desxlsx.cctmp"
-
-
-
-#line 2048 "apertium_desxlsx.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 277 "apertium_desxlsx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 283 "apertium_desxlsx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 3:
-YY_RULE_SETUP
-#line 292 "apertium_desxlsx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 296 "apertium_desxlsx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 5:
-/* rule 5 can match eol */
-YY_RULE_SETUP
-#line 302 "apertium_desxlsx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-
-case 6:
-YY_RULE_SETUP
-#line 311 "apertium_desxlsx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 315 "apertium_desxlsx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-  yy_pop_state();
-}
-	YY_BREAK
-case 8:
-/* rule 8 can match eol */
-YY_RULE_SETUP
-#line 321 "apertium_desxlsx.cctmp"
-{
-  last = "buffer";
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-
-case 9:
-YY_RULE_SETUP
-#line 327 "apertium_desxlsx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C1);
-}
-	YY_BREAK
-case 10:
-/* rule 10 can match eol */
-YY_RULE_SETUP
-#line 331 "apertium_desxlsx.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-  yy_push_state(C2);
-}
-	YY_BREAK
-case 11:
-/* rule 11 can match eol */
-YY_RULE_SETUP
-#line 336 "apertium_desxlsx.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 12:
-/* rule 12 can match eol */
-YY_RULE_SETUP
-#line 340 "apertium_desxlsx.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 13:
-/* rule 13 can match eol */
-YY_RULE_SETUP
-#line 344 "apertium_desxlsx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 14:
-/* rule 14 can match eol */
-YY_RULE_SETUP
-#line 347 "apertium_desxlsx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-  yy_push_state(C3);
-}
-	YY_BREAK
-case 15:
-/* rule 15 can match eol */
-YY_RULE_SETUP
-#line 351 "apertium_desxlsx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 16:
-/* rule 16 can match eol */
-YY_RULE_SETUP
-#line 354 "apertium_desxlsx.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 358 "apertium_desxlsx.cctmp"
-{
-  if(S1_substitution.find(yytext) != S1_substitution.end())
-  {
-    printBuffer();
-    fputws_unlocked(S1_substitution[yytext].c_str(), yyout);
-    offset+=S1_substitution[yytext].size();
-    hasWrite_dot = hasWrite_white = true;
-  }
-  else
-  {
-    last="buffer";
-    bufferAppend(buffer, yytext);
-  }
-}
-	YY_BREAK
-case 18:
-/* rule 18 can match eol */
-YY_RULE_SETUP
-#line 372 "apertium_desxlsx.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 380 "apertium_desxlsx.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 400 "apertium_desxlsx.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(C1):
-case YY_STATE_EOF(C2):
-case YY_STATE_EOF(C3):
-#line 425 "apertium_desxlsx.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 432 "apertium_desxlsx.cctmp"
-ECHO;
-	YY_BREAK
-#line 2337 "apertium_desxlsx.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 432 "apertium_desxlsx.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  S1_init();
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_desxpresstag.cc b/apertium/apertium_desxpresstag.cc
deleted file mode 100644
index d2dba49..0000000
--- a/apertium/apertium_desxpresstag.cc
+++ /dev/null
@@ -1,2277 +0,0 @@
-#line 2 "apertium_desxpresstag.cc"
-
-#line 4 "apertium_desxpresstag.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][13] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0
-    },
-
-    {
-        3,    4,    5,    6,    7,    4,    4,    8,    4,    5,
-        9,    7,    7
-    },
-
-    {
-        3,    4,    5,    6,    7,    4,    4,    8,    4,    5,
-        9,    7,    7
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,
-       -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4,
-       -4,   -4,   -4
-
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,   -5,
-       -5,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,   -6,
-       -6,   -6,   -6
-    },
-
-    {
-        3,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7
-    },
-
-    {
-        3,   10,   10,   10,   10,   11,   10,   10,   10,   -8,
-       10,   10,   10
-    },
-
-    {
-        3,   12,   12,   12,   12,   12,   13,   -9,   14,   12,
-       12,   12,   12
-
-    },
-
-    {
-        3,   10,   10,   10,   10,   15,   10,   10,   10,   16,
-       10,   10,   10
-    },
-
-    {
-        3,   11,   11,   11,   11,   11,   11,   11,   11,   16,
-       11,   11,   11
-    },
-
-    {
-        3,   12,   12,   12,   12,   12,   17,  -12,   18,   12,
-       12,   12,   12
-    },
-
-    {
-        3,   13,   13,   13,   13,   13,   13,  -13,   19,   13,
-       13,   13,   13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   20,  -14,   14,   14,
-       14,   14,   14
-
-    },
-
-    {
-        3,   11,   11,   11,   11,   11,   11,   11,   11,   21,
-       11,   11,   11
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16
-    },
-
-    {
-        3,   13,   13,   13,   13,   13,   13,  -17,   19,   13,
-       13,   13,   13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   20,  -18,   14,   14,
-       14,   22,   14
-    },
-
-    {
-        3,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,   23,  -19
-
-    },
-
-    {
-        3,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20
-    },
-
-    {
-        3,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21
-    },
-
-    {
-        3,   24,   24,   24,   24,   24,   25,   26,   24,   24,
-       24,   24,   14
-    },
-
-    {
-        3,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,  -23
-    },
-
-    {
-        3,   24,   24,   24,   24,   24,   25,   26,   24,   24,
-       24,   24,   27
-
-    },
-
-    {
-        3,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   28
-    },
-
-    {
-        3,   26,   26,   26,   26,   26,   26,   26,   26,   26,
-       26,   26,   28
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   20,  -27,   14,   14,
-       14,   14,   14
-    },
-
-    {
-        3,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 9
-#define YY_END_OF_BUFFER 10
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[29] =
-    {   0,
-        0,    0,   10,    8,    6,    6,    7,    6,    7,    0,
-        0,    0,    0,    0,    0,    2,    3,    4,    4,    3,
-        1,    0,    0,    0,    3,    0,    5,    5
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    2,    1,    1,    1,    4,    1,    1,    1,    1,
-        1,    2,    1,    1,    5,    1,    4,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    6,    1,    7,
-        8,    9,    1,   10,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-       11,    4,   12,    4,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    4,    1,    4,    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
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_desxpresstag.cctmp"
-#line 4 "apertium_desxpresstag.cctmp"
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-wstring buffer;
-string symbuf;
-bool isDot, hasWrite_dot, hasWrite_white;
-bool eosIncond;
-FILE *formatfile;
-string last;
-int current;
-long int offset;
-
-
-vector<long int> offsets;
-vector<wstring> tags;
-vector<int> orders;
-
-regex_t escape_chars;
-regex_t names_regexp;
-
-void bufferAppend(wstring &buf, string const &str)
-{
-  symbuf.append(str);
-
-  for(size_t i = 0, limit = symbuf.size(); i < limit;)
-  {
-    wchar_t symbol;
-    int gap = mbtowc(&symbol, symbuf.c_str() + i, MB_CUR_MAX);
-    if(gap == -1)
-    {
-      if(i + MB_CUR_MAX < limit)
-      {
-        buf += L'?';
-        gap = 1;
-      }
-      else
-      {
-        symbuf = symbuf.substr(i);
-        return;
-      }
-    }
-    else
-    {
-      buf += symbol;
-    }
-
-    i += gap;
-  }
-
-  symbuf = "";
-  return;
-}
-
-
-void init_escape()
-{
-  if(regcomp(&escape_chars, "[][^@\\\\/${}]", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for escape characters" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-void init_tagNames()
-{
-  if(regcomp(&names_regexp, "[a-zA-Z]+", REG_EXTENDED))
-  {
-    cerr << "ERROR: Illegal regular expression for tag-names" << endl;
-    exit(EXIT_FAILURE);
-  }
-}
-
-string backslash(string const &str)
-{
-  string new_str;
-
-  for(unsigned int i = 0; i < str.size(); i++)
-  {
-    if(str[i] == '\\')
-    {
-      new_str += str[i];
-    }
-    new_str += str[i];
-  }
-
-  return new_str;
-}
-
-
-wstring escape(string const &str)
-{
-  regmatch_t pmatch;
-
-  char const *mystring = str.c_str();
-  int base = 0;
-  wstring result;
-
-  while(!regexec(&escape_chars, mystring + base, 1, &pmatch, 0))
-  {
-    bufferAppend(result, str.substr(base, pmatch.rm_so));
-    result += L'\\';
-    wchar_t micaracter;
-    int pos = mbtowc(&micaracter, str.c_str() + base + pmatch.rm_so, MB_CUR_MAX);
-    if(pos == -1)
-    {
-      wcerr << L"Uno" << endl;
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-
-    result += micaracter;
-    base += pmatch.rm_eo;
-  }
-
-  bufferAppend(result, str.substr(base));
-  return result;
-}
-
-wstring escape(wstring const &str)
-{
-  string dest;
-
-  for(size_t i = 0, limit = str.size(); i < limit; i++)
-  {
-#ifdef __GNUC__
-    char symbol[MB_CUR_MAX+1];
-#else
-    std::string _symbol(MB_CUR_MAX+1, 0);
-    char *symbol = &_symbol[0];
-#endif
-    int pos = wctomb(symbol, str[i]);
-    if(pos == -1)
-    {
-      symbol[0]='?';
-      pos = 1;
-    }
-    symbol[pos] = 0;
-    dest.append(symbol);
-  }
-  return escape(dest);
-}
-
-string get_tagName(string tag){
-  regmatch_t pmatch;
-
-  char const *mystring = tag.c_str();
-  string result;
-  if(!regexec(&names_regexp, mystring, 1, &pmatch, 0))
-  {
-    result=tag.substr(pmatch.rm_so, pmatch.rm_eo - pmatch.rm_so);
-    return result;
-  }
-
-  return "";
-}
-
-
-
-
-void preDot()
-{
-  if(eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-  }
-}
-
-void printBuffer()
-{
-  if(isDot && !eosIncond)
-  {
-    fputws_unlocked(L".[]", yyout);
-    isDot = false;
-  }
-  if(buffer.size() > 8192)
-  {
-    string filename = tmpnam(NULL);
-    FILE *largeblock = fopen(filename.c_str(), "w");
-    fputws_unlocked(buffer.c_str(), largeblock);
-    fclose(largeblock);
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    fputwc_unlocked(L'@', yyout);
-    wchar_t cad[filename.size()];
-    size_t pos = mbstowcs(cad, filename.c_str(), filename.size());
-    if(pos == (size_t) -1)
-    {
-      wcerr << L"Tres" << endl;
-
-      wcerr << L"Encoding error." << endl;
-      exit(EXIT_FAILURE);
-    }
-    cad[pos] = 0;
-    fputws_unlocked(cad, yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() > 1)
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-    fputwc_unlocked(L']', yyout);
-  }
-  else if(buffer.size() == 1 && buffer[0] != L' ')
-  {
-    preDot();
-    fputwc_unlocked(L'[', yyout);
-    wstring const tmp = escape(buffer);
-    if(tmp[0] == L'@')
-    {
-      fputwc_unlocked(L'\\', yyout);
-    }
-    fputws_unlocked(tmp.c_str(), yyout);
-
-    fputwc_unlocked(L']', yyout);
-  }
-  else
-  {
-    fputws_unlocked(buffer.c_str(), yyout);
-  }
-
-  buffer = L"";
-}
-  
-#line 841 "apertium_desxpresstag.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 266 "apertium_desxpresstag.cctmp"
-
-
-#line 1045 "apertium_desxpresstag.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-/* rule 1 can match eol */
-YY_RULE_SETUP
-#line 268 "apertium_desxpresstag.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 272 "apertium_desxpresstag.cctmp"
-{
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 3:
-/* rule 3 can match eol */
-YY_RULE_SETUP
-#line 275 "apertium_desxpresstag.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 4:
-/* rule 4 can match eol */
-YY_RULE_SETUP
-#line 279 "apertium_desxpresstag.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 5:
-/* rule 5 can match eol */
-YY_RULE_SETUP
-#line 283 "apertium_desxpresstag.cctmp"
-{
-  isDot = true;
-  bufferAppend(buffer, yytext);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 287 "apertium_desxpresstag.cctmp"
-{
-  if (last == "open_tag")
-    bufferAppend(tags.back(), yytext);
-  else
-    bufferAppend(buffer, yytext);
-
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 295 "apertium_desxpresstag.cctmp"
-{
-  printBuffer();
-  fputwc_unlocked(L'\\', yyout);
-  offset++;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, yytext, MB_CUR_MAX);
-  if(pos == -1)
-  {
-      wcerr << L"Cuatro" << endl;
-
-    wcerr << L"Encoding error." << endl;
-    exit(EXIT_FAILURE);
-  }
-
-  fputwc_unlocked(symbol, yyout);
-  offset++;
-  hasWrite_dot = hasWrite_white = true;
-
-}
-	YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 315 "apertium_desxpresstag.cctmp"
-{
-  printBuffer();
-  symbuf += yytext;
-  wchar_t symbol;
-  int pos = mbtowc(&symbol, symbuf.c_str(), MB_CUR_MAX);
-  if(pos == -1)
-  {
-    if(symbuf.size() > (size_t) MB_CUR_MAX)
-    {
-      // unknown character
-      symbuf = "";
-      fputwc_unlocked(L'?', yyout);
-      offset++;
-      hasWrite_dot = hasWrite_white = true;
-    }
-  }
-  else
-  {
-    symbuf = "";
-    fputwc_unlocked(symbol, yyout);
-    offset++;
-    hasWrite_dot = hasWrite_white = true;
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 340 "apertium_desxpresstag.cctmp"
-{
-  isDot = true;
-
-  preDot();
-  printBuffer();
-  return 0;
-}
-	YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 347 "apertium_desxpresstag.cctmp"
-ECHO;
-	YY_BREAK
-#line 1212 "apertium_desxpresstag.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 347 "apertium_desxpresstag.cctmp"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  
-  cerr << "xpresstag format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-  eosIncond = false;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    eosIncond = true;
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-  
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-
-
-  last = "";
-  buffer = L"";
-  isDot = hasWrite_dot = hasWrite_white = false;
-  current=0;
-  offset = 0;
-  init_escape();
-  init_tagNames();
-  yylex();
-
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_gen_wlist_lextor_translation.cc b/apertium/apertium_gen_wlist_lextor_translation.cc
new file mode 100644
index 0000000..49b2c81
--- /dev/null
+++ b/apertium/apertium_gen_wlist_lextor_translation.cc
@@ -0,0 +1,187 @@
+/*
+ * Copyright (C) 2006 Universitat d'Alacant / Universidad de Alicante
+ * 
+ * author: Felipe S�nchez-Mart�nez
+ *
+ * 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 2 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <iostream>
+#include <fstream>
+#include <getopt.h>
+#include <string>
+
+#include <lttoolbox/fst_processor.h>
+
+#include <apertium/lextor_word.h>
+#include <apertium/utf_converter.h>
+#include <apertium/string_utils.h>
+
+using namespace Apertium;
+using namespace std;
+
+
+void help(char *name) {
+  wcerr<<L"USAGE:\n";
+  wcerr<<name<<L" --mono dic.bin --bil bildic.bin --wlist wlistfile\n\n";
+  wcerr<<L"ARGUMENTS: \n"
+      <<L"   --mono|-m: Specifies the monolingual lexical selection dictionary to use.\n"
+      <<L"   --bil|-b: Specifies the bilingual lexical selection dictionary to use.\n"
+      <<L"   --wlist|-w: Specifies the list of words to translate.\n"
+      <<L"   --help|-h: Show this help\n"
+      <<L"   --version|-v: Show version information\n\n"
+      <<L"Write to standard output all possible translations of words found in wlistfile\n";
+}
+
+int main(int argc, char* argv[]) {
+  int c;
+  
+#if HAVE_GETOPT_LONG
+  int option_index=0;
+#endif
+  string monodic_file="";
+  string bildic_file="";
+  string wlist_file="";
+
+  while (true) {
+#if HAVE_GETOPT_LONG
+    static struct option long_options[] =
+      {
+	{"mono",    required_argument, 0, 'm'},
+	{"bil",     required_argument, 0, 'b'},
+	{"wlist",   required_argument, 0, 'w'},
+	{"help",        no_argument,   0, 'h'},
+	{"version",     no_argument,   0, 'v'},
+	{0, 0, 0, 0}
+      };
+
+    c=getopt_long(argc, argv, "m:b:w:hv",long_options, &option_index);
+#else
+    c=getopt(argc, argv, "m:b:w:hv");
+#endif
+    if (c==-1)
+      break;
+      
+    switch (c) {
+    case 'm':
+      monodic_file=optarg;
+      break;
+    case 'b':
+      bildic_file=optarg;
+      break;
+    case 'w':
+      wlist_file=optarg;
+      break;
+    case 'h': 
+      help(argv[0]);
+      exit(EXIT_SUCCESS);
+      break;
+    case 'v':
+      wcerr<<L"APERTIUM"<<L"\n"; //"APERTIUM" era PACKAGE_STRING
+      wcerr<<L"LICENSE:\n\n"
+	  <<L"   Copyright (C) 2006 Universitat d'Alacant / Universidad de Alicante\n\n"
+	  <<L"   This program is free software; you can redistribute it and/or\n"
+	  <<L"   modify it under the terms of the GNU General Public License as\n"
+	  <<L"   published by the Free Software Foundation; either version 2 of the\n"
+	  <<L"   License, or (at your option) any later version.\n"
+	  <<L"   This program is distributed in the hope that it will be useful, but\n"
+	  <<L"   WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+	  <<L"   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
+	  <<L"   General Public License for more details.\n"
+	  <<L"\n"
+	  <<L"   You should have received a copy of the GNU General Public License\n"
+	  <<L"   along with this program; if not, write to the Free Software\n"
+	  <<L"   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA\n"
+	  <<L"   02111-1307, USA.\n";
+      exit(EXIT_SUCCESS);
+      break;    
+    default:
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+      break;
+    }
+  }
+
+  if(monodic_file=="") {
+    wcerr<<L"Error: no monolingual dictionary file was given\n";
+    help(argv[0]);
+    exit(EXIT_FAILURE);
+  }
+
+  if (bildic_file=="") {
+    wcerr<<L"Error: no bilingual dictionary file was given\n";
+    help(argv[0]);
+    exit(EXIT_FAILURE);
+  }
+
+  if (wlist_file=="") {
+    wcerr<<L"Error: no word list file was given\n";
+    help(argv[0]);
+    exit(EXIT_FAILURE);
+  }
+
+  wifstream fwlist;
+  FILE *fmonodic, *fbildic;
+
+  fmonodic=fopen(monodic_file.c_str(), "rb");
+  if (!fmonodic) {
+    wcerr<<L"Error: Cannot open file '"
+         <<UtfConverter::fromUtf8(monodic_file)<<L"'\n";
+    exit(EXIT_FAILURE);
+  }
+
+  fbildic=fopen(bildic_file.c_str(), "rb");
+  if (!fbildic) {
+    wcerr<<L"Error: Cannot open file '"
+         <<UtfConverter::fromUtf8(bildic_file)<<L"'\n";
+    exit(EXIT_FAILURE);
+  }
+
+  fwlist.open(wlist_file.c_str(), ios::in);
+  if (fwlist.fail()) {
+    wcerr<<L"Error: Cannot open file '"
+         <<UtfConverter::fromUtf8(wlist_file)<<L"'\n";
+    exit(EXIT_FAILURE);
+  }
+
+  FSTProcessor fstp_monodic, fstp_bildic;
+
+  fstp_monodic.load(fmonodic);
+  fstp_monodic.initBiltrans();
+  fclose(fmonodic);
+
+  fstp_bildic.load(fbildic);
+  fstp_bildic.initBiltrans();
+  fclose(fbildic);
+
+  wstring strword=L"";
+  while (!fwlist.eof()) {
+    getline(fwlist, strword);
+    if (!fwlist.eof()) {
+      LexTorWord word(strword, &fstp_monodic);
+      wcerr<<strword<<L" =>\n";
+      for (int i=0; i<word.n_lexical_choices(); i++) {
+	wcerr<<L"\t"<<word.translate(fstp_bildic,i)<<L" ("<<word.get_lexical_choice(i)<<L")\n";
+	wcout<<word.translate(fstp_bildic,i)<<L"\n";
+      }
+      if (word.n_lexical_choices()<=1) {
+        wcerr<<L"Warning: word '"<<strword<<L"' is supossed to be polysemous, but it has "<<word.n_lexical_choices()<<L" different translations\n";
+      }
+    }
+  }
+
+  fwlist.close();
+}
diff --git a/apertium/apertium_lextor.cc b/apertium/apertium_lextor.cc
new file mode 100644
index 0000000..9247ba9
--- /dev/null
+++ b/apertium/apertium_lextor.cc
@@ -0,0 +1,656 @@
+/*
+ * Copyright (C) 2006 Universitat d'Alacant / Universidad de Alicante
+ * 
+ * author: Felipe S�nchez-Mart�nez
+ *
+ * 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 2 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <iostream>
+#include <fstream>
+#include <getopt.h>
+
+#include <lttoolbox/fst_processor.h>
+
+#include <apertium/lextor.h>
+#include <apertium/lextor_word.h>
+#include <apertium/lextor_data.h>
+#include <apertium/utf_converter.h>
+#include <clocale>
+#include <cstdlib>
+#include <apertium/string_utils.h>
+
+using namespace Apertium;
+
+#define MODE_TRAINWRD 0
+#define MODE_TRAINLCH 1
+#define MODE_LEXTOR 2
+#define MODE_LEXTORTL 3
+
+using namespace std;
+
+
+void help(char *name) {
+  cerr<<"USAGE:\n";
+  cerr<<name<<" --trainwrd stopwords words n left right corpus model [--weightexp w]\nOR\n";
+  cerr<<name<<" --trainlch stopwords lexchoices n left right corpus wordmodel dic bildic model [--weightexp w]\nOR\n";
+  cerr<<name<<" --lextor model dic left right [--debug] [--weightexp w]\n\n";
+  //cerr<<name<<" --lextortl stopwords words tlmodel dic bildic left right [--debug] [--weightexp w]\n\n"; 
+  cerr<<"ARGUMENTS: \n"
+      <<"   --trainwrd|-t: Train word co-occurrences model.\n"
+      <<"   Required parameters:\n"
+      <<"      stopwords: file containing a list of stop words. Stop words are ignored\n"
+      <<"      words: file containing a list of words. For each word a co-occurrence model is built\n"
+      <<"      n: number of words per co-occurrence model (for each model, the n most frequent words)\n"
+      <<"      left: left-side context to take into account (number of words)\n"
+      <<"      right: right-side context to take into account (number of words)\n"
+      <<"      corpus: file containing the training corpus\n"
+      <<"      model: output file on which the co-occurrence models are saved\n\n"
+
+      <<"   --trainlch|-r: Train lexical choices co-occurrences model using a target-language co-occurrence model.\n"
+      <<"   Required parameters:\n"
+      <<"      stopwords: file containing a list of stop words. Stop words are ignored\n"
+      <<"      lexchoices: file containing a list of lexical choices. For each lexical choice a co-occurrence model is built\n"
+      <<"      n: number of words per co-occurrence model (for each model, the n most frequent words)\n"
+      <<"      left: left-side context to take into account (number of words)\n"
+      <<"      right: right-side context to take into account (number of words)\n"
+      <<"      corpus: file containing the training corpus\n"
+      <<"      wordmodel: target-language word co-occurrence model (previously trained by means of the --trainwrd option)\n"
+      <<"      dic: lexical-selection dictionary (binary format)\n"
+      <<"      bildic: bilingual dictionary (binary format)\n"
+      <<"      model: output file on which the co-occurrence models are saved\n\n"
+
+      <<"   --lextor|-l: Perform the lexical selection on the input stream.\n"
+      <<"   Required parameters:\n"
+      <<"      model: file containing the model to be used for the lexical selection\n"
+      <<"      dic: lexical-selection dictionary (binary format)\n"
+      <<"      left: left-side context to take into account (number of words)\n"
+      <<"      right: right-side context to take into account (number of words)\n\n"
+
+    //      <<"   --lextortl|-e: Perform the lexical selection on the input stream by using a tl model.\n"
+    //      <<"   Required parameters:\n"
+    //      <<"      stopwords: file containing a list of stop words in the source language. Stop words are ignored\n"
+    //      <<"      words: file containing the list of polysemous words in the source language\n"
+    //      <<"      tlmodel: file containing the target-language model to be used for the lexical selection\n"
+    //      <<"      dic: lexical-selection dictionary (binary format)\n"
+    //      <<"      bildic: bilingual dictionary (binary format)\n"
+    //      <<"      left: left-side context to take into account (number of words)\n"
+    //      <<"      right: right-side context to take into account (number of words)\n\n"
+
+      <<"   --weightexp|-w: Specify a weight value to change the influence of surrounding words while training or\n"
+      <<"     performing the lexica selection. It must be positive.\n\n"
+
+      <<"   --debug|-d: Show debug information while operating\n"
+      <<"   --help|-h: Show this help\n"
+      <<"   --version|-v: Show version information\n\n";
+  cerr<<"Reads from standard input and writes to standard output\n";
+}
+
+int main(int argc, char* argv[]) {
+  int c;
+#if HAVE_GETOPT_LONG
+  int option_index=0;
+#endif
+  int mode=-1;
+
+  //Parameters for the "trainwrd" or the "trainlch" mode option
+  string stopwords_file="";
+  string words_file="";
+  string corpus_file="";
+  int nwords_model=0;
+  int nwords_left=-1;
+  int nwords_right=-1;
+
+  string model_file="";
+
+  string lexchoices_file="";
+  string wordmodel_file="";
+  string bildic_file="";
+
+  //Parameters for the "lextor" option
+  string dic_file="";
+
+  double weight_exponent=0.0;
+
+  LexTor::debug=false;
+
+  //cerr<<"LOCALE: "<<setlocale(LC_ALL,"")<<"\n";
+
+  while (true) {
+#if HAVE_GETOPT_LONG
+    static struct option long_options[] =
+      {
+	{"trainwrd",  required_argument, 0, 't'},
+	{"trainlch",  required_argument, 0, 'r'},
+	{"lextor",    required_argument, 0, 'l'},
+	//	{"lextortl",  required_argument, 0, 'e'},
+        {"weightexp", required_argument, 0, 'w'},
+	{"debug",        no_argument,    0, 'd'},
+	{"help",         no_argument,    0, 'h'},
+	{"version",      no_argument,    0, 'v'},
+	{0, 0, 0, 0}
+      };
+
+    c=getopt_long(argc, argv, "t:r:l:e:w:dhv",long_options, &option_index);
+#else
+    c=getopt(argc, argv, "t:r:l:e:w:dhv");
+#endif
+    if (c==-1)
+      break;
+      
+    switch (c) {
+    case 't':
+      mode=MODE_TRAINWRD;
+      stopwords_file=optarg;
+      words_file=argv[optind++];
+      nwords_model=atoi(argv[optind++]);
+      nwords_left=atoi(argv[optind++]);
+      nwords_right=atoi(argv[optind++]);
+      corpus_file=argv[optind++];
+      model_file=argv[optind++];
+      break;
+    case 'r':
+      //--trainlch stopwords lexchoices n left right corpus wordmodel dic bildic model
+      mode=MODE_TRAINLCH;
+      stopwords_file=optarg;
+      lexchoices_file=argv[optind++];
+      nwords_model=atoi(argv[optind++]);
+      nwords_left=atoi(argv[optind++]);
+      nwords_right=atoi(argv[optind++]);
+      corpus_file=argv[optind++];
+      wordmodel_file=argv[optind++];
+      dic_file=argv[optind++];
+      bildic_file=argv[optind++];
+      model_file=argv[optind++];
+      break;
+    case 'l':
+      mode=MODE_LEXTOR;
+      model_file=optarg;
+      dic_file=argv[optind++];
+      nwords_left=atoi(argv[optind++]);
+      nwords_right=atoi(argv[optind++]);
+      break;
+    case 'e':
+      mode=MODE_LEXTORTL;
+      stopwords_file=optarg;
+      words_file=argv[optind++];
+      model_file=argv[optind++];
+      dic_file=argv[optind++];
+      bildic_file=argv[optind++];
+      nwords_left=atoi(argv[optind++]);
+      nwords_right=atoi(argv[optind++]);
+      break;
+    case 'w':
+      weight_exponent=atof(optarg);
+      break;
+    case 'd':
+      LexTor::debug=true;
+      break;
+    case 'h': 
+      help(argv[0]);
+      exit(EXIT_SUCCESS);
+      break;
+    case 'v':
+      wcerr<<L"APERTIUM"<<L"\n"; //"APERTIUM" era PACKAGE_STRING
+      wcerr<<L"LICENSE:\n\n"
+	  <<L"   Copyright (C) 2006 Universitat d'Alacant / Universidad de Alicante\n\n"
+	  <<L"   This program is free software; you can redistribute it and/or\n"
+	  <<L"   modify it under the terms of the GNU General Public License as\n"
+	  <<L"   published by the Free Software Foundation; either version 2 of the\n"
+	  <<L"   License, or (at your option) any later version.\n"
+	  <<L"   This program is distributed in the hope that it will be useful, but\n"
+	  <<L"   WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+	  <<L"   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
+	  <<L"   General Public License for more details.\n"
+	  <<L"\n"
+	  <<L"   You should have received a copy of the GNU General Public License\n"
+	  <<L"   along with this program; if not, write to the Free Software\n"
+	  <<L"   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA\n"
+	  <<L"   02111-1307, USA.\n";
+      exit(EXIT_SUCCESS);
+      break;    
+    default:
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+      break;
+    }
+  }
+
+  if (weight_exponent<0) {
+    wcerr<<L"Error: the weight exponent provided is less than zero. It must be positive\n";
+    help(argv[0]);
+    exit(EXIT_FAILURE);
+  }
+
+  //When reading from the input stream '*all* characters must be
+  //processed, including ' ','\n', .....
+  wcin.unsetf(ios::skipws);
+
+  if (mode==MODE_TRAINWRD) {
+    if(stopwords_file=="") {
+      wcerr<<L"Error: no stopwords file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (words_file=="") {
+      wcerr<<L"Error: no words file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_model==0) {
+      wcerr<<L"Error: the number of word per co-occurrence model must be greater than 0\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_left<0) {
+      wcerr<<L"Error: no left-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_right<0) {
+      wcerr<<L"Error: no right-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (corpus_file=="") {
+      wcerr<<L"Error: No training corpus file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (model_file=="") {
+      wcerr<<L"Error: No output file to save the co-occurrence models was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+
+    wifstream fstopwords, fwords, fcorpus;
+
+    fstopwords.open(stopwords_file.c_str(), ios::in);
+    if (fstopwords.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(stopwords_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fwords.open(words_file.c_str(), ios::in);
+    if (fwords.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(words_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fcorpus.open(corpus_file.c_str(), ios::in);
+    if(fcorpus.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(corpus_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    FILE *fmodel = fopen(model_file.c_str(), "wb");
+    if(!fmodel)
+    {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(model_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+    
+    LexTorData lextor_data;
+
+    lextor_data.read_stopwords(fstopwords);
+    lextor_data.read_words(fwords);
+    lextor_data.set_nwords_per_set(nwords_model);
+
+    fstopwords.close();
+    fwords.close();
+
+    LexTor lexical_selector;
+    lexical_selector.set_lextor_data(&lextor_data);
+
+    //Whe reading from the input corpus '*all* characters must be
+    //processed, including ' ','\n', .....
+    fcorpus.unsetf(ios::skipws);
+
+    //Train
+    lexical_selector.trainwrd(fcorpus, nwords_left, nwords_right, weight_exponent);
+    fcorpus.close();
+
+    //Write parameters
+    lextor_data.write(fmodel);
+    fclose(fmodel);
+  } 
+
+  else if (mode==MODE_TRAINLCH) {
+    if(stopwords_file=="") {
+      wcerr<<L"Error: no stopwords file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (lexchoices_file=="") {
+      wcerr<<L"Error: no lexical choices file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_model==0) {
+      wcerr<<L"Error: the number of word per co-occurrence model must be greater than 0\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_left<0) {
+      wcerr<<L"Error: no left-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_right<0) {
+      wcerr<<L"Error: no rigth-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (corpus_file=="") {
+      wcerr<<L"Error: No training corpus file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if(wordmodel_file=="") {
+      wcerr<<L"Error: No target-language word co-occurrence model was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (dic_file=="") {
+      wcerr<<L"Error: No lexical-selection dictionary was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (bildic_file=="") {
+      cerr<<"Error: No bilingual dictionary was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (model_file=="") {
+      wcerr<<L"Error: No output file to save the co-occurrence models was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+
+    wifstream fstopwords, flexchoices, fcorpus;
+    FILE *fdic=NULL, *fbildic=NULL, *fwordmodel=NULL;
+
+    fstopwords.open(stopwords_file.c_str(), ios::in);
+    if (fstopwords.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(stopwords_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    flexchoices.open(lexchoices_file.c_str(), ios::in);
+    if (flexchoices.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(lexchoices_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fcorpus.open(corpus_file.c_str(), ios::in);
+    if(fcorpus.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(corpus_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fwordmodel = fopen(wordmodel_file.c_str(), "rb");
+    if(!fwordmodel) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(wordmodel_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fdic=fopen(dic_file.c_str(), "rb");
+    if(!fdic) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(dic_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fbildic=fopen(bildic_file.c_str(), "rb");
+    if(!fbildic) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(bildic_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    FILE *fmodel = fopen(model_file.c_str(), "wb");
+    if(!fmodel) {
+      wcerr<<L"Error: Cannot open file '"
+          <<UtfConverter::fromUtf8(model_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    LexTorData lextor_data;
+
+    lextor_data.read_stopwords(fstopwords);
+    lextor_data.read_words(flexchoices);
+    lextor_data.set_nwords_per_set(nwords_model);
+
+    fstopwords.close();
+    flexchoices.close();
+
+    LexTor lexical_selector;
+    lexical_selector.set_lextor_data(&lextor_data);
+
+    LexTorData wordmodel;
+    wordmodel.read(fwordmodel);
+    fclose(fwordmodel);
+
+    FSTProcessor fstpdic;
+    fstpdic.load(fdic);
+    fstpdic.initBiltrans();
+    fclose(fdic);
+
+    lextor_data.read_lexical_choices(fstpdic);
+
+    FSTProcessor fstpbildic;
+    fstpbildic.load(fbildic);
+    fstpbildic.initBiltrans();
+    fclose(fbildic);
+
+
+    //Whe reading from the input corpus '*all* characters must be
+    //processed, including ' ','\n', .....
+    fcorpus.unsetf(ios::skipws);
+
+    //Train
+    lexical_selector.trainlch(fcorpus, nwords_left, nwords_right, wordmodel, fstpdic, fstpbildic, weight_exponent);
+
+    fcorpus.close();
+
+    //Write parameters
+    lextor_data.write(fmodel);
+    fclose(fmodel);
+  }
+
+  else if (mode==MODE_LEXTOR) {
+    if(model_file=="") {
+      wcerr<<L"Error: no model file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (dic_file=="") {
+      wcerr<<L"Error: no dic file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_left<0) {
+      wcerr<<L"Error: no left-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_right<0) {
+      wcerr<<L"Error: no rigth-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+
+    FILE *fdic=NULL;
+    fdic=fopen(dic_file.c_str(), "rb");
+    if (!fdic) {
+      wcerr<<L"Error: Cannot open dictionary file '"
+           <<UtfConverter::fromUtf8(dic_file)<<L"' for lexical selection\n";
+      exit(EXIT_FAILURE);
+    }
+    FSTProcessor fstp;
+    fstp.load(fdic);
+    fstp.initBiltrans();
+    fclose(fdic);
+
+    FILE *fmodel = fopen(model_file.c_str(), "rb");
+    if(!fmodel) {
+      wcerr<<L"Error: Cannot open file '"
+	   <<UtfConverter::fromUtf8(model_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    //Whe reading from the input stream '*all* characters must be
+    //processed, including ' ','\n', .....
+    wcin.unsetf(ios::skipws);
+
+    LexTorData lextor_model;
+    lextor_model.read(fmodel);
+    fclose(fmodel);
+
+    LexTor lexical_selector;
+    lexical_selector.set_lextor_data(&lextor_model);
+
+    lexical_selector.lexical_selector(wcin, fstp, nwords_left, nwords_right, weight_exponent);
+  } 
+
+  else if (mode==MODE_LEXTORTL) {
+    if(stopwords_file=="") {
+      wcerr<<L"Error: no stopwords file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if(words_file=="") {
+      wcerr<<L"Error: no words file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if(model_file=="") {
+      wcerr<<L"Error: no target-language model file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (dic_file=="") {
+      wcerr<<L"Error: No lexical-selection dictionary was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (bildic_file=="") {
+      wcerr<<L"Error: No bilingual dictionary was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_left<0) {
+      wcerr<<L"Error: no left-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_right<0) {
+      wcerr<<L"Error: no rigth-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+
+    wifstream fstopwords, fwords;
+    FILE *fdic=NULL, *fbildic=NULL, *fmodel = NULL;
+
+    fstopwords.open(stopwords_file.c_str(), ios::in);
+    if (fstopwords.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(stopwords_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fwords.open(words_file.c_str(), ios::in);
+    if (fwords.fail()) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(words_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fmodel = fopen(model_file.c_str(), "rb");
+    if(!fmodel) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(model_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fdic=fopen(dic_file.c_str(), "rb");
+    if(!fdic) {
+      wcerr<<L"Error: Cannot open file '"
+           <<UtfConverter::fromUtf8(dic_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fbildic=fopen(bildic_file.c_str(), "rb");
+    if(!fbildic) {
+      wcerr<<L"Error: Cannot open file '"
+	   <<UtfConverter::fromUtf8(bildic_file)<<L"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    LexTorData lextor_data;
+
+    lextor_data.read_stopwords(fstopwords);
+    fstopwords.close();
+
+    lextor_data.read_words(fwords);
+    fwords.close();
+
+    LexTor lexical_selector;
+    lexical_selector.set_lextor_data(&lextor_data);
+
+    LexTorData tlmodel;
+    tlmodel.read(fmodel);
+    fclose(fmodel);
+
+    FSTProcessor fstpdic;
+    fstpdic.load(fdic);
+    fstpdic.initBiltrans();
+    fclose(fdic);
+
+    FSTProcessor fstpbildic;
+    fstpbildic.load(fbildic);
+    fstpbildic.initBiltrans();
+    fclose(fbildic);
+
+
+    lextor_data.read_lexical_choices(fstpdic);
+
+    //Whe reading from the input stream '*all* characters must be
+    //processed, including ' ','\n', .....
+    wcin.unsetf(ios::skipws);
+
+
+    lexical_selector.set_tlmodel(&tlmodel);
+    lexical_selector.set_bildic(&fstpbildic);
+
+    lexical_selector.lexical_selector(wcin, fstpdic, nwords_left, nwords_right, weight_exponent);
+  } 
+
+  else {
+    wcerr<<L"Error: No operation mode was provided\n";
+    help(argv[0]);
+    exit(EXIT_FAILURE);
+  }
+}
diff --git a/apertium/apertium_lextor_eval.cc b/apertium/apertium_lextor_eval.cc
new file mode 100644
index 0000000..62a249b
--- /dev/null
+++ b/apertium/apertium_lextor_eval.cc
@@ -0,0 +1,387 @@
+/*
+ * Copyright (C) 2006 Universitat d'Alacant / Universidad de Alicante
+ * 
+ * author: Felipe S�nchez-Mart�nez
+ *
+ * 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 2 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <iostream>
+#include <fstream>
+#include <getopt.h>
+
+#include <lttoolbox/fst_processor.h>
+
+#include <apertium/lextor.h>
+#include <apertium/lextor_word.h>
+#include <apertium/lextor_data.h>
+#include <apertium/lextor_eval.h>
+#include <clocale>
+#include <apertium/string_utils.h>
+
+using namespace Apertium;
+#define MODE_LEXTOR 1
+#define MODE_LEXTORTL 2
+
+using namespace std;
+
+
+void help(char *name) {
+  cerr<<"USAGE:\n";
+  cerr<<name<<" --angle ang --reference reftext --parameters|-p model dic left right [--debug]\n\n";
+  cerr<<"ARGUMENTS: \n"
+      <<"  --angle|-a: To specify the angle threshold to use............\n"
+      <<"   --reference|-r: To specify the reference corpus used for evaluation (one word per\n"
+      <<"               line with the correct translation sense for those words with more than one)\n"
+      <<"   --parameters|-p: to specify the parameters used for the lexical selection task:\n"
+      <<"   Required parameters:\n"
+      <<"      model: file containing the model to be used for the lexical selection\n"
+      <<"      dic: lexical-selection dictionary (binary format)\n"
+      <<"      left: left-side context to take into account (number of words)\n"
+      <<"      right: right-side context to take into account (number of words)\n"
+      <<"   --weightexp|-w: Specify a weight value to change the influence of surrounding words while\n"
+      <<"     performing the lexical selection. It must be positive.\n"
+      <<"   --help|-h: Show this help\n"
+      <<"   --version|-v: Show version information\n\n";
+
+  cerr<<"NOTE: It reads from the standard input the corpus to work with. That corpus must be\n"
+      <<"      in the intermediate format used by Apertium.\n";
+}
+
+int main(int argc, char* argv[]) {
+  int c;
+  int option_index=0;
+
+  int mode=MODE_LEXTOR;
+
+  string model_file="";
+  string dic_file="";
+  int nwords_left=-1;
+  int nwords_right=-1;
+
+  //string in_file;
+  string ref_file;
+
+  double weight_exponent=0.0;
+
+  LexTor::angleth=0.0;
+
+
+  //For mode LEXTORTL
+  string stopwords_file;
+  string words_file;
+  string bildic_file;
+
+  //cerr<<"LOCALE: "<<setlocale(LC_ALL,"")<<"\n";
+  cerr<<"Command line: ";
+  for(int i=0; i<argc; i++)
+    cerr<<argv[i]<<" ";
+  cerr<<"\n";
+
+  while (true) {
+#if HAVE_GETOPT_LONG
+    static struct option long_options[] =
+      {
+	//{"input",       required_argument, 0, 'i'},
+	{"reference",   required_argument, 0, 'r'},
+	{"parameters",  required_argument, 0, 'p'},
+        {"weightexp",   required_argument, 0, 'w'},
+	{"angle",       required_argument, 0, 'a'},
+	{"lextortl",    required_argument, 0, 'e'},
+	{"debug",       no_argument,    0, 'd'},
+	{"help",        no_argument,    0, 'h'},
+	{"version",     no_argument,    0, 'v'},
+	{0, 0, 0, 0}
+      };
+
+    c=getopt_long(argc, argv, "r:p:w:a:e:dhv",long_options, &option_index);
+#else
+    c=getopt(argc, argv, "r:p:w:a:e:dhv");
+#endif
+    if (c==-1)
+      break;
+      
+    switch (c) {
+      //case 'i':
+      //in_file=optarg;
+      //break;
+    case 'r':
+      ref_file=optarg;
+      break;
+    case 'p':
+      mode=MODE_LEXTOR;
+      model_file=optarg;
+      dic_file=argv[optind++];
+      nwords_left=atoi(argv[optind++]);
+      nwords_right=atoi(argv[optind++]);
+      break;
+    case 'e':
+      mode=MODE_LEXTORTL;
+      stopwords_file=optarg;
+      words_file=argv[optind++];
+      model_file=argv[optind++];
+      dic_file=argv[optind++];
+      bildic_file=argv[optind++];
+      nwords_left=atoi(argv[optind++]);
+      nwords_right=atoi(argv[optind++]);
+      break;
+    case 'w':
+      weight_exponent=atof(optarg);
+      break;
+    case 'a':
+      LexTor::angleth=atof(optarg);
+      break;
+    case 'd':
+      LexTor::debug=true;
+      break;
+    case 'h': 
+      help(argv[0]);
+      exit(EXIT_SUCCESS);
+      break;
+    case 'v':
+      cerr<<"APERTIUM"<<"\n"; //"APERTIUM" era PACKAGE_STRING
+      cerr<<"LICENSE:\n\n"
+	  <<"   Copyright (C) 2006 Universitat d'Alacant / Universidad de Alicante\n\n"
+	  <<"   This program is free software; you can redistribute it and/or\n"
+	  <<"   modify it under the terms of the GNU General Public License as\n"
+	  <<"   published by the Free Software Foundation; either version 2 of the\n"
+	  <<"   License, or (at your option) any later version.\n"
+	  <<"   This program is distributed in the hope that it will be useful, but\n"
+	  <<"   WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+	  <<"   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n"
+	  <<"   General Public License for more details.\n"
+	  <<"\n"
+	  <<"   You should have received a copy of the GNU General Public License\n"
+	  <<"   along with this program; if not, write to the Free Software\n"
+	  <<"   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA\n"
+	  <<"   02111-1307, USA.\n";
+      exit(EXIT_SUCCESS);
+      break;    
+    default:
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+      break;
+    }
+  }
+
+  cerr<<"TH ANGLE: "<<LexTor::angleth<<"\n";
+
+  if (ref_file=="") {
+    cerr<<"Error: No reference corpus was given\n";
+    help(argv[0]);
+    exit(EXIT_FAILURE);
+  }
+  ifstream fref;
+
+  fref.open(ref_file.c_str(), ios::in);
+  if (fref.fail()) {
+    cerr<<"Error: Cannot open file '"<<ref_file<<"'\n";
+    exit(EXIT_FAILURE);
+  }
+
+  if (mode==MODE_LEXTOR) {
+    if (nwords_left<0) {
+      cerr<<"Error: no left-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_right<0) {
+      cerr<<"Error: no right-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    //if (in_file=="") {
+    //  cerr<<"Error: No input corpus was given\n";
+    //  help(argv[0]);
+    //  exit(EXIT_FAILURE);
+    //}
+ 
+    if (model_file=="") {
+      cerr<<"Error: No model file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (dic_file=="") {
+      cerr<<"Error: No dictionary file (bin format) was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+
+    if (weight_exponent<0) {
+      cerr<<"Error: the weight exponent provided is less than zero. It must be positive\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+
+    ifstream fin, fmodel;
+
+    //fin.open(in_file.c_str(), ios::in);
+    //if (fin.fail()) {
+    //  cerr<<"Error: Cannot open file '"<<in_file<<"'\n";
+    //  exit(EXIT_FAILURE);
+    //}
+
+    fmodel.open(model_file.c_str(), ios::in);
+    if(fmodel.fail()) {
+      cerr<<"Error: Cannot open file '"<<model_file<<"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    FILE *fdic=NULL;
+    fdic=fopen(dic_file.c_str(), "rb");
+    if (!fdic) {
+      cerr<<"Error: Cannot open file '"<<dic_file<<"'\n";
+      exit(EXIT_FAILURE);
+    }
+    FSTProcessor fstp;
+    fstp.load(fdic);
+    fstp.initBiltrans();
+    fclose(fdic);
+
+
+    //When reading from the input stream '*all* characters must be
+    //processed, including ' ','\n', .....
+    cin.unsetf(ios::skipws);
+
+
+    LexTorData lextor_model;
+    lextor_model.read(fmodel);
+    fmodel.close();
+
+    LexTor lexical_selector;
+    lexical_selector.set_lextor_data(&lextor_model);
+
+    LexTorEval lteval(&fref);
+    lexical_selector.lexical_selector(cin, fstp, nwords_left, nwords_right, weight_exponent, &lteval);
+    lteval.print_evaluation();
+
+    fref.close();
+  }
+
+  else if (mode==MODE_LEXTORTL) {
+    if(stopwords_file=="") {
+      cerr<<"Error: no stopwords file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if(words_file=="") {
+      cerr<<"Error: no words file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if(model_file=="") {
+      cerr<<"Error: no target-language model file was given\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (dic_file=="") {
+      cerr<<"Error: No lexical-selection dictionary was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (bildic_file=="") {
+      cerr<<"Error: No bilingual dictionary was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_left<0) {
+      cerr<<"Error: no left-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+    if (nwords_right<0) {
+      cerr<<"Error: no right-side context number of words was provided\n";
+      help(argv[0]);
+      exit(EXIT_FAILURE);
+    }
+
+    ifstream fstopwords, fwords, fmodel;
+    FILE *fdic=NULL, *fbildic=NULL;
+
+    fstopwords.open(stopwords_file.c_str(), ios::in);
+    if (fstopwords.fail()) {
+      cerr<<"Error: Cannot open file '"<<stopwords_file<<"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fwords.open(words_file.c_str(), ios::in);
+    if (fwords.fail()) {
+      cerr<<"Error: Cannot open file '"<<words_file<<"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fmodel.open(model_file.c_str(), ios::in);
+    if(fmodel.fail()) {
+      cerr<<"Error: Cannot open file '"<<model_file<<"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fdic=fopen(dic_file.c_str(), "rb");
+    if(!fdic) {
+      cerr<<"Error: Cannot open file '"<<dic_file<<"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    fbildic=fopen(bildic_file.c_str(), "rb");
+    if(!fbildic) {
+      cerr<<"Error: Cannot open file '"<<bildic_file<<"'\n";
+      exit(EXIT_FAILURE);
+    }
+
+    LexTorData lextor_data;
+
+    lextor_data.read_stopwords(fstopwords);
+    fstopwords.close();
+
+    lextor_data.read_words(fwords);
+    fwords.close();
+
+    LexTor lexical_selector;
+    lexical_selector.set_lextor_data(&lextor_data);
+
+    LexTorData tlmodel;
+    tlmodel.read(fmodel);
+    fmodel.close();
+
+    FSTProcessor fstpdic;
+    fstpdic.load(fdic);
+    fstpdic.initBiltrans();
+    fclose(fdic);
+
+    FSTProcessor fstpbildic;
+    fstpbildic.load(fbildic);
+    fstpbildic.initBiltrans();
+    fclose(fbildic);
+
+
+    lextor_data.read_lexical_choices(fstpdic);
+
+    //Whe reading from the input stream '*all* characters must be
+    //processed, including ' ','\n', .....
+    cin.unsetf(ios::skipws);
+
+
+    lexical_selector.set_tlmodel(&tlmodel);
+    lexical_selector.set_bildic(&fstpbildic);
+
+
+    LexTorEval lteval(&fref);
+    lexical_selector.lexical_selector(cin, fstpdic, nwords_left, nwords_right, weight_exponent, &lteval);
+    lteval.print_evaluation();
+
+    fref.close();
+  } 
+}
diff --git a/apertium/apertium_postlatex.cc b/apertium/apertium_postlatex.cc
deleted file mode 100644
index b86bf27..0000000
--- a/apertium/apertium_postlatex.cc
+++ /dev/null
@@ -1,4621 +0,0 @@
-#line 2 "apertium_postlatex.cc"
-
-#line 4 "apertium_postlatex.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][54] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0
-    },
-
-    {
-        7,    8,    9,   10,    8,    8,    8,   11,    8,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    8,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    9,    8,
-
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,   12,   13,   14
-    },
-
-    {
-        7,    8,    9,   10,    8,    8,    8,   11,    8,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    8,    9,
-        9,    9,    9,    9,    9,    9,    9,    9,    9,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,   12,   13,   14
-    },
-
-    {
-        7,   15,   15,   15,   15,   15,   15,   16,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15
-    },
-
-    {
-        7,   15,   15,   15,   15,   15,   15,   16,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15
-
-    },
-
-    {
-        7,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17
-    },
-
-    {
-        7,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-
-       17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
-       17,   17,   17,   17
-    },
-
-    {
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7
-    },
-
-    {
-        7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8
-    },
-
-    {
-        7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9
-
-    },
-
-    {
-        7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,   18,  -10,  -10,  -10,  -10,  -10,  -10,  -10,   19,
-       20,   21,  -10,  -10,  -10,   22,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10
-    },
-
-    {
-        7,  -11,  -11,  -11,   23,   24,  -11,  -11,  -11,   25,
-       26,   27,   24,   28,   24,   24,   29,   24,   24,   30,
-       31,   24,   24,   32,   33,   24,   24,   34,  -11,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -11,
-
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11
-    },
-
-    {
-        7,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,   35,  -12,  -12,  -12,
-       36,  -12,  -12,  -12
-    },
-
-    {
-        7,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-       37,   38,  -13,  -13,   39,   40,  -13,   41,   42,   43,
-      -13,  -13,  -13,  -13
-    },
-
-    {
-        7,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,   44,
-      -14,  -14,   45,   46,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14
-
-    },
-
-    {
-        7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15
-    },
-
-    {
-        7,  -16,  -16,  -16,   47,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16
-    },
-
-    {
-        7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17
-    },
-
-    {
-        7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-       48,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18
-    },
-
-    {
-        7,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,   49,  -19,   50,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19
-
-    },
-
-    {
-        7,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,   51,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20
-    },
-
-    {
-        7,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,   52,  -21,  -21,
-
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21
-    },
-
-    {
-        7,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,   53,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22
-    },
-
-    {
-        7,  -23,  -23,  -23,  -23,   54,  -23,  -23,  -23,   54,
-       54,   55,   54,   54,   54,   54,   54,   54,   54,   54,
-
-       56,   54,   54,   57,   54,   54,   54,   58,  -23,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23
-    },
-
-    {
-        7,  -24,  -24,  -24,   59,   24,  -24,  -24,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24
-
-    },
-
-    {
-        7,  -25,  -25,  -25,   59,   24,  -25,  -25,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       62,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25
-    },
-
-    {
-        7,  -26,  -26,  -26,   59,   24,  -26,  -26,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   63,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -26,
-
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26
-    },
-
-    {
-        7,  -27,  -27,  -27,   59,   24,  -27,  -27,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   64,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27
-    },
-
-    {
-        7,  -28,  -28,  -28,   59,   24,  -28,  -28,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   65,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -28,
-      -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28
-    },
-
-    {
-        7,  -29,  -29,  -29,   59,   24,  -29,  -29,   60,   66,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29
-
-    },
-
-    {
-        7,  -30,  -30,  -30,   59,   24,  -30,  -30,   60,   24,
-       24,   24,   24,   67,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30
-    },
-
-    {
-        7,  -31,  -31,  -31,   59,   24,  -31,  -31,   60,   68,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -31,
-
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31
-    },
-
-    {
-        7,  -32,  -32,  -32,   59,   24,  -32,  -32,   60,   69,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32
-    },
-
-    {
-        7,  -33,  -33,  -33,   59,   24,  -33,  -33,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   70,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33
-    },
-
-    {
-        7,  -34,  -34,  -34,   59,   24,  -34,  -34,   60,   24,
-       24,   24,   24,   71,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34
-
-    },
-
-    {
-        7,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35
-    },
-
-    {
-        7,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36
-    },
-
-    {
-        7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37
-    },
-
-    {
-        7,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38
-    },
-
-    {
-        7,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39
-
-    },
-
-    {
-        7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40
-    },
-
-    {
-        7,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41
-    },
-
-    {
-        7,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42
-    },
-
-    {
-        7,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43
-    },
-
-    {
-        7,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,  -44,
-      -44,  -44,  -44,  -44
-
-    },
-
-    {
-        7,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45
-    },
-
-    {
-        7,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46
-    },
-
-    {
-        7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-       72,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47
-    },
-
-    {
-        7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-
-      -48,  -48,  -48,  -48,  -48,   73,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48
-    },
-
-    {
-        7,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,   74,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49
-
-    },
-
-    {
-        7,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,   75,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,  -50,
-      -50,  -50,  -50,  -50
-    },
-
-    {
-        7,  -51,  -51,  -51,  -51,  -51,   76,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-
-      -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51
-    },
-
-    {
-        7,  -52,  -52,  -52,  -52,  -52,   77,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52
-    },
-
-    {
-        7,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,   78,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53
-    },
-
-    {
-        7,  -54,  -54,  -54,  -54,   54,  -54,  -54,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -54,
-      -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,  -54,
-      -54,  -54,  -54,  -54
-
-    },
-
-    {
-        7,  -55,  -55,  -55,  -55,   54,  -55,  -55,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   81,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -55,
-      -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,  -55,
-      -55,  -55,  -55,  -55
-    },
-
-    {
-        7,  -56,  -56,  -56,  -56,   54,  -56,  -56,   79,   82,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -56,
-
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56
-    },
-
-    {
-        7,  -57,  -57,  -57,  -57,   54,  -57,  -57,   79,   83,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57
-    },
-
-    {
-        7,  -58,  -58,  -58,  -58,   54,  -58,  -58,   79,   54,
-       54,   54,   54,   84,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58
-    },
-
-    {
-        7,  -59,  -59,  -59,  -59,  -59,  -59,  -59,   85,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59
-
-    },
-
-    {
-        7,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60
-    },
-
-    {
-        7,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,   86,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61
-    },
-
-    {
-        7,  -62,  -62,  -62,   59,   24,  -62,  -62,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   87,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62
-    },
-
-    {
-        7,  -63,  -63,  -63,   88,   24,  -63,  -63,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63
-    },
-
-    {
-        7,  -64,  -64,  -64,   59,   24,  -64,  -64,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       89,   90,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64
-
-    },
-
-    {
-        7,  -65,  -65,  -65,   59,   24,  -65,  -65,   60,   24,
-       24,   91,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65
-    },
-
-    {
-        7,  -66,  -66,  -66,   59,   24,  -66,  -66,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   92,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -66,
-
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66
-    },
-
-    {
-        7,  -67,  -67,  -67,   59,   24,  -67,  -67,   60,   24,
-       24,   24,   24,   24,   93,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67
-    },
-
-    {
-        7,  -68,  -68,  -68,   59,   24,  -68,  -68,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   94,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -68,
-      -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,  -68,
-      -68,  -68,  -68,  -68
-    },
-
-    {
-        7,  -69,  -69,  -69,   59,   24,  -69,  -69,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   95,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69
-
-    },
-
-    {
-        7,  -70,  -70,  -70,   59,   24,  -70,  -70,   60,   24,
-       24,   24,   24,   24,   24,   96,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -70,
-      -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,  -70,
-      -70,  -70,  -70,  -70
-    },
-
-    {
-        7,  -71,  -71,  -71,   59,   24,  -71,  -71,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   97,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -71,
-
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71
-    },
-
-    {
-        7,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,   98,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72
-    },
-
-    {
-        7,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-
-      -73,  -73,  -73,   99,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73
-    },
-
-    {
-        7,  -74,  -74,  -74,  -74,  -74,  100,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74
-
-    },
-
-    {
-        7,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  101,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75
-    },
-
-    {
-        7,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-
-      -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,  -76,
-      -76,  -76,  -76,  -76
-    },
-
-    {
-        7,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77
-    },
-
-    {
-        7,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  102,  -78,  -78,
-      -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78
-    },
-
-    {
-        7,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79
-
-    },
-
-    {
-        7,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  103,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80
-    },
-
-    {
-        7,  -81,  -81,  -81,  -81,   54,  -81,  -81,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-      104,  105,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -81,
-
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81
-    },
-
-    {
-        7,  -82,  -82,  -82,  -82,   54,  -82,  -82,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,  106,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82
-    },
-
-    {
-        7,  -83,  -83,  -83,  -83,   54,  -83,  -83,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,  107,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83
-    },
-
-    {
-        7,  -84,  -84,  -84,  -84,   54,  -84,  -84,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,  108,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84
-
-    },
-
-    {
-        7,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85
-    },
-
-    {
-        7,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  109,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86
-    },
-
-    {
-        7,  -87,  -87,  -87,  110,   24,  -87,  -87,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87
-    },
-
-    {
-        7,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  111,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88
-    },
-
-    {
-        7,  -89,  -89,  -89,   59,   24,  -89,  -89,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-      112,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -89,
-      -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,  -89,
-      -89,  -89,  -89,  -89
-
-    },
-
-    {
-        7,  -90,  -90,  -90,   59,   24,  -90,  -90,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,  113,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -90,
-      -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90
-    },
-
-    {
-        7,  -91,  -91,  -91,   59,   24,  -91,  -91,   60,  114,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -91,
-
-      -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91
-    },
-
-    {
-        7,  -92,  -92,  -92,   59,   24,  -92,  -92,   60,   24,
-       24,   24,   24,   24,   24,   24,  115,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92
-    },
-
-    {
-        7,  -93,  -93,  -93,   59,   24,  -93,  -93,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,  116,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93
-    },
-
-    {
-        7,  -94,  -94,  -94,   59,   24,  -94,  -94,   60,   24,
-       24,   24,   24,   24,   24,   24,  117,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94
-
-    },
-
-    {
-        7,  -95,  -95,  -95,   59,   24,  -95,  -95,   60,  118,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95
-    },
-
-    {
-        7,  -96,  -96,  -96,   59,   24,  -96,  -96,   60,   24,
-       24,   24,   24,   24,   24,   24,  119,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -96,
-
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96
-    },
-
-    {
-        7,  -97,  -97,  -97,   59,   24,  -97,  -97,   60,   24,
-      120,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97
-    },
-
-    {
-        7,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-
-      -98,  -98,  -98,  -98,  -98,  -98,  121,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98
-    },
-
-    {
-        7,  -99,  -99,  -99,  -99,  -99,  122,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99
-
-    },
-
-    {
-        7, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100
-    },
-
-    {
-        7, -101, -101, -101, -101, -101,  123, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101
-    },
-
-    {
-        7, -102, -102, -102, -102, -102,  124, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102
-    },
-
-    {
-        7, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-
-     -103, -103, -103, -103, -103, -103,  125, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103
-    },
-
-    {
-        7, -104, -104, -104, -104,   54, -104, -104,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-      126,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104
-
-    },
-
-    {
-        7, -105, -105, -105, -105,   54, -105, -105,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,  127,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105
-    },
-
-    {
-        7, -106, -106, -106, -106,   54, -106, -106,   79,   54,
-       54,   54,   54,   54,   54,   54,  128,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -106,
-
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106
-    },
-
-    {
-        7, -107, -107, -107, -107,   54, -107, -107,   79,  129,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107
-    },
-
-    {
-        7, -108, -108, -108, -108,   54, -108, -108,   79,   54,
-      130,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108
-    },
-
-    {
-        7, -109, -109, -109, -109, -109, -109, -109, -109,  131,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109
-
-    },
-
-    {
-        7, -110, -110, -110, -110, -110, -110, -110,  132, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110
-    },
-
-    {
-        7, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111
-    },
-
-    {
-        7, -112, -112, -112,   59,   24, -112, -112,   60,   24,
-       24,   24,   24,  133,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112
-    },
-
-    {
-        7, -113, -113, -113,   59,   24, -113, -113,   60,   24,
-       24,   24,   24,  134,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113
-    },
-
-    {
-        7, -114, -114, -114,   59,   24, -114, -114,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,  135,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114
-
-    },
-
-    {
-        7, -115, -115, -115,  136,   24, -115, -115,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,  137,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115
-    },
-
-    {
-        7, -116, -116, -116,   59,   24, -116, -116,   60,   24,
-       24,   24,   24,  138,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -116,
-
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116
-    },
-
-    {
-        7, -117, -117, -117,   59,   24, -117, -117,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,  139,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -117,
-     -117, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117
-    },
-
-    {
-        7, -118, -118, -118,   59,   24, -118, -118,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-      140,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -118,
-     -118, -118, -118, -118, -118, -118, -118, -118, -118, -118,
-     -118, -118, -118, -118
-    },
-
-    {
-        7, -119, -119, -119,   59,   24, -119, -119,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,  141,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -119,
-     -119, -119, -119, -119, -119, -119, -119, -119, -119, -119,
-     -119, -119, -119, -119
-
-    },
-
-    {
-        7, -120, -120, -120,   59,   24, -120, -120,  142,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -120,
-     -120, -120, -120, -120, -120, -120, -120, -120, -120, -120,
-     -120, -120, -120, -120
-    },
-
-    {
-        7, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121,  143, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121, -121
-    },
-
-    {
-        7, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122, -122, -122, -122, -122, -122, -122,
-     -122, -122, -122, -122
-    },
-
-    {
-        7, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123, -123, -123, -123, -123, -123, -123,
-     -123, -123, -123, -123
-    },
-
-    {
-        7, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124
-
-    },
-
-    {
-        7, -125, -125, -125, -125, -125, -125, -125, -125,  144,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125
-    },
-
-    {
-        7, -126, -126, -126, -126,   54, -126, -126,   79,   54,
-       54,   54,   54,  145,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -126,
-
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126
-    },
-
-    {
-        7, -127, -127, -127, -127,   54, -127, -127,   79,   54,
-       54,   54,   54,  146,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -127,
-     -127, -127, -127, -127, -127, -127, -127, -127, -127, -127,
-     -127, -127, -127, -127
-    },
-
-    {
-        7, -128, -128, -128, -128,   54, -128, -128,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,   54,   54,   54,   54,  147,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -128,
-     -128, -128, -128, -128, -128, -128, -128, -128, -128, -128,
-     -128, -128, -128, -128
-    },
-
-    {
-        7, -129, -129, -129, -129,   54, -129, -129,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-      148,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129, -129
-
-    },
-
-    {
-        7, -130, -130, -130, -130,   54, -130, -130,  149,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -130,
-     -130, -130, -130, -130, -130, -130, -130, -130, -130, -130,
-     -130, -130, -130, -130
-    },
-
-    {
-        7, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131,  150, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131
-    },
-
-    {
-        7, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132
-    },
-
-    {
-        7, -133, -133, -133,   59,   24, -133, -133,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,  151,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -133,
-     -133, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133
-    },
-
-    {
-        7, -134, -134, -134,   59,   24, -134, -134,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,  152,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134
-
-    },
-
-    {
-        7, -135, -135, -135,   59,   24, -135, -135,   60,   24,
-       24,   24,   24,  153,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135
-    },
-
-    {
-        7, -136, -136, -136, -136, -136, -136, -136,  154, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136
-    },
-
-    {
-        7, -137, -137, -137, -137,  155, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137,   86, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137
-    },
-
-    {
-        7, -138, -138, -138,   59,   24, -138, -138,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,  156,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138
-    },
-
-    {
-        7, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-      157, -139,  158, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139,  159, -139,   86, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139
-
-    },
-
-    {
-        7, -140, -140, -140,   59,   24, -140, -140,  160,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -140,
-     -140, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140
-    },
-
-    {
-        7, -141, -141, -141,   59,   24, -141, -141,   60,   24,
-       24,   24,   24,  161,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -141,
-
-     -141, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141
-    },
-
-    {
-        7, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142
-    },
-
-    {
-        7, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-
-     -143, -143, -143, -143, -143, -143, -143, -143,  162, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143
-    },
-
-    {
-        7, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144,  163, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144, -144, -144, -144, -144, -144, -144,
-     -144, -144, -144, -144
-
-    },
-
-    {
-        7, -145, -145, -145, -145,   54, -145, -145,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,  164,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145
-    },
-
-    {
-        7, -146, -146, -146, -146,   54, -146, -146,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,  165,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -146,
-
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146
-    },
-
-    {
-        7, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-      166, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147,  167, -147,  103, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147
-    },
-
-    {
-        7, -148, -148, -148, -148,   54, -148, -148,  168,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148
-    },
-
-    {
-        7, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149
-
-    },
-
-    {
-        7, -150, -150, -150,  169, -150, -150, -150,  170, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150
-    },
-
-    {
-        7, -151, -151, -151,   59,   24, -151, -151,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,  171,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -151,
-
-     -151, -151, -151, -151, -151, -151, -151, -151, -151, -151,
-     -151, -151, -151, -151
-    },
-
-    {
-        7, -152, -152, -152,   59,   24, -152, -152,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,  172,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -152,
-     -152, -152, -152, -152, -152, -152, -152, -152, -152, -152,
-     -152, -152, -152, -152
-    },
-
-    {
-        7, -153, -153, -153,   59,   24, -153, -153,   60,   24,
-       24,   24,  173,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -153,
-     -153, -153, -153, -153, -153, -153, -153, -153, -153, -153,
-     -153, -153, -153, -153
-    },
-
-    {
-        7, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154, -154, -154, -154, -154, -154, -154,
-     -154, -154, -154, -154
-
-    },
-
-    {
-        7, -155, -155, -155,  174,  155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155
-    },
-
-    {
-        7, -156, -156, -156,   59,   24, -156, -156,   60,   24,
-       24,  175,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -156,
-
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156
-    },
-
-    {
-        7, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157,  176, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157
-    },
-
-    {
-        7, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-
-     -158, -158,  177, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158, -158, -158, -158, -158, -158, -158,
-     -158, -158, -158, -158
-    },
-
-    {
-        7, -159, -159, -159, -159, -159, -159, -159, -159,  178,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159, -159, -159, -159, -159, -159, -159,
-     -159, -159, -159, -159
-
-    },
-
-    {
-        7,  179,  179,  179,  179,  179,  179, -160,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179
-    },
-
-    {
-        7, -161, -161, -161,   59,   24, -161, -161,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,  180,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -161,
-
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161
-    },
-
-    {
-        7, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162,  181, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162, -162, -162, -162, -162, -162, -162,
-     -162, -162, -162, -162
-    },
-
-    {
-        7, -163, -163, -163, -163, -163, -163, -163,  182, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163, -163, -163, -163, -163, -163, -163,
-     -163, -163, -163, -163
-    },
-
-    {
-        7, -164, -164, -164, -164,   54, -164, -164,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,  183,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164
-
-    },
-
-    {
-        7, -165, -165, -165, -165,   54, -165, -165,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,  184,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165
-    },
-
-    {
-        7, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166,  185, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166
-    },
-
-    {
-        7, -167, -167, -167, -167, -167, -167, -167, -167,  186,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167, -167, -167, -167, -167, -167, -167,
-     -167, -167, -167, -167
-    },
-
-    {
-        7, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168, -168, -168, -168, -168, -168, -168,
-     -168, -168, -168, -168
-    },
-
-    {
-        7, -169, -169, -169, -169, -169, -169, -169,  187, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
-     -169, -169, -169, -169
-
-    },
-
-    {
-        7, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170, -170, -170, -170, -170, -170, -170,
-     -170, -170, -170, -170
-    },
-
-    {
-        7, -171, -171, -171,   59,   24, -171, -171,  188,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -171,
-
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171
-    },
-
-    {
-        7, -172, -172, -172,   59,   24, -172, -172,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,  189,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172
-    },
-
-    {
-        7, -173, -173, -173,   59,   24, -173, -173,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,  190,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173
-    },
-
-    {
-        7, -174, -174, -174, -174, -174, -174, -174,  191, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174, -174, -174, -174, -174, -174, -174,
-     -174, -174, -174, -174
-
-    },
-
-    {
-        7, -175, -175, -175,   59,   24, -175, -175,   60,  192,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175
-    },
-
-    {
-        7, -176, -176, -176, -176, -176, -176, -176, -176,  193,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176
-    },
-
-    {
-        7, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177,  194,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177, -177, -177, -177, -177, -177, -177,
-     -177, -177, -177, -177
-    },
-
-    {
-        7, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-
-     -178, -178, -178, -178,  195, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178
-    },
-
-    {
-        7,  179,  179,  179,  179,  179,  179, -179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179,  179,  179,  179,  179,  179,  179,
-      179,  179,  179,  179
-
-    },
-
-    {
-        7, -180, -180, -180,   59,   24, -180, -180,   60,   24,
-       24,  196,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -180,
-     -180, -180, -180, -180, -180, -180, -180, -180, -180, -180,
-     -180, -180, -180, -180
-    },
-
-    {
-        7, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181,  197, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181
-    },
-
-    {
-        7, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182, -182, -182, -182, -182, -182, -182,
-     -182, -182, -182, -182
-    },
-
-    {
-        7, -183, -183, -183, -183,   54, -183, -183,  198,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -183,
-     -183, -183, -183, -183, -183, -183, -183, -183, -183, -183,
-     -183, -183, -183, -183
-    },
-
-    {
-        7, -184, -184, -184, -184,   54, -184, -184,   79,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,  199,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184
-
-    },
-
-    {
-        7, -185, -185, -185, -185, -185, -185, -185, -185,  200,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185
-    },
-
-    {
-        7, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186,  201, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186
-    },
-
-    {
-        7, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187, -187, -187, -187, -187, -187, -187,
-     -187, -187, -187, -187
-    },
-
-    {
-        7,  202,  202,  202,  202,  202,  202, -188,  202,  202,
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-      202,  202,  202,  202
-    },
-
-    {
-        7, -189, -189, -189,   59,   24, -189, -189,  203,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189
-
-    },
-
-    {
-        7, -190, -190, -190,   59,   24, -190, -190,   60,   24,
-       24,   24,   24,  204,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190
-    },
-
-    {
-        7, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191
-    },
-
-    {
-        7, -192, -192, -192,   59,   24, -192, -192,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,  205,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -192,
-     -192, -192, -192, -192, -192, -192, -192, -192, -192, -192,
-     -192, -192, -192, -192
-    },
-
-    {
-        7, -193, -193, -193, -193, -193, -193, -193,  206, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193, -193, -193, -193, -193, -193, -193,
-     -193, -193, -193, -193
-    },
-
-    {
-        7, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194,  207,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194
-
-    },
-
-    {
-        7, -195, -195, -195, -195, -195, -195, -195,  208, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195, -195, -195, -195, -195, -195, -195,
-     -195, -195, -195, -195
-    },
-
-    {
-        7, -196, -196, -196,   59,   24, -196, -196,   60,  209,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -196,
-
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196
-    },
-
-    {
-        7, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197,  210,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197, -197, -197, -197, -197, -197, -197,
-     -197, -197, -197, -197
-    },
-
-    {
-        7, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198, -198, -198, -198, -198, -198, -198,
-     -198, -198, -198, -198
-    },
-
-    {
-        7, -199, -199, -199, -199,   54, -199, -199,  211,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   80,   54,
-       54,   54,   54,   54,   54,   54,   54,   54,   54, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199
-
-    },
-
-    {
-        7, -200, -200, -200, -200, -200, -200, -200,  212, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200, -200, -200, -200, -200, -200, -200,
-     -200, -200, -200, -200
-    },
-
-    {
-        7, -201, -201, -201, -201, -201, -201, -201,  213, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201
-    },
-
-    {
-        7,  202,  202,  202,  202,  202,  202, -202,  202,  202,
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
-      202,  202,  202,  202
-    },
-
-    {
-        7, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203, -203, -203, -203, -203, -203, -203,
-     -203, -203, -203, -203
-    },
-
-    {
-        7, -204, -204, -204,   59,   24, -204, -204,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,  214,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204
-
-    },
-
-    {
-        7, -205, -205, -205,   59,   24, -205, -205,   60,   24,
-       24,   24,   24,  215,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -205,
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205, -205, -205
-    },
-
-    {
-        7, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-
-     -206, -206, -206, -206, -206, -206, -206, -206, -206, -206,
-     -206, -206, -206, -206
-    },
-
-    {
-        7, -207, -207, -207, -207, -207, -207, -207, -207,  216,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207
-    },
-
-    {
-        7, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208, -208, -208, -208, -208, -208, -208,
-     -208, -208, -208, -208
-    },
-
-    {
-        7, -209, -209, -209,   59,   24, -209, -209,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,  217,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -209,
-     -209, -209, -209, -209, -209, -209, -209, -209, -209, -209,
-     -209, -209, -209, -209
-
-    },
-
-    {
-        7, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210,  218,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210
-    },
-
-    {
-        7, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-
-     -211, -211, -211, -211, -211, -211, -211, -211, -211, -211,
-     -211, -211, -211, -211
-    },
-
-    {
-        7, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212
-    },
-
-    {
-        7, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213
-    },
-
-    {
-        7, -214, -214, -214,   59,   24, -214, -214,   60,   24,
-       24,  219,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -214,
-     -214, -214, -214, -214, -214, -214, -214, -214, -214, -214,
-     -214, -214, -214, -214
-
-    },
-
-    {
-        7, -215, -215, -215,   59,   24, -215, -215,   60,   24,
-       24,   24,  220,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -215,
-     -215, -215, -215, -215, -215, -215, -215, -215, -215, -215,
-     -215, -215, -215, -215
-    },
-
-    {
-        7, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216,  221, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-
-     -216, -216, -216, -216, -216, -216, -216, -216, -216, -216,
-     -216, -216, -216, -216
-    },
-
-    {
-        7, -217, -217, -217,   59,   24, -217, -217,   60,   24,
-       24,   24,   24,  222,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217
-    },
-
-    {
-        7, -218, -218, -218, -218, -218, -218, -218, -218,  223,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218
-    },
-
-    {
-        7, -219, -219, -219,   59,   24, -219, -219,   60,   24,
-       24,   24,   24,  224,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -219,
-     -219, -219, -219, -219, -219, -219, -219, -219, -219, -219,
-     -219, -219, -219, -219
-
-    },
-
-    {
-        7, -220, -220, -220,   59,   24, -220, -220,   60,   24,
-      225,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -220,
-     -220, -220, -220, -220, -220, -220, -220, -220, -220, -220,
-     -220, -220, -220, -220
-    },
-
-    {
-        7, -221, -221, -221, -221, -221, -221, -221,  226, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221,  227, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221
-    },
-
-    {
-        7, -222, -222, -222,   59,   24, -222, -222,   60,   24,
-       24,   24,  228,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -222,
-     -222, -222, -222, -222, -222, -222, -222, -222, -222, -222,
-     -222, -222, -222, -222
-    },
-
-    {
-        7, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-
-     -223, -223, -223, -223,  229, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223, -223, -223, -223, -223, -223, -223,
-     -223, -223, -223, -223
-    },
-
-    {
-        7, -224, -224, -224,   59,   24, -224, -224,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,  230,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224
-
-    },
-
-    {
-        7, -225, -225, -225,   59,   24, -225, -225,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,  231,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -225,
-     -225, -225, -225, -225, -225, -225, -225, -225, -225, -225,
-     -225, -225, -225, -225
-    },
-
-    {
-        7, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226
-    },
-
-    {
-        7, -227, -227, -227, -227, -227, -227, -227,  232, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227
-    },
-
-    {
-        7, -228, -228, -228,   59,   24, -228, -228,   60,   24,
-      233,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228
-    },
-
-    {
-        7, -229, -229, -229, -229, -229, -229, -229,  234, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229,  235, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229, -229, -229, -229, -229, -229, -229,
-     -229, -229, -229, -229
-
-    },
-
-    {
-        7, -230, -230, -230,   59,   24, -230, -230,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,  236,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -230,
-     -230, -230, -230, -230, -230, -230, -230, -230, -230, -230,
-     -230, -230, -230, -230
-    },
-
-    {
-        7, -231, -231, -231,   59,   24, -231, -231,   60,  237,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -231,
-
-     -231, -231, -231, -231, -231, -231, -231, -231, -231, -231,
-     -231, -231, -231, -231
-    },
-
-    {
-        7, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232, -232, -232, -232, -232, -232, -232,
-     -232, -232, -232, -232
-    },
-
-    {
-        7, -233, -233, -233,   59,   24, -233, -233,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,  238,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -233,
-     -233, -233, -233, -233, -233, -233, -233, -233, -233, -233,
-     -233, -233, -233, -233
-    },
-
-    {
-        7, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234, -234, -234, -234, -234, -234, -234,
-     -234, -234, -234, -234
-
-    },
-
-    {
-        7, -235, -235, -235, -235, -235, -235, -235,  239, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235, -235, -235, -235, -235, -235, -235,
-     -235, -235, -235, -235
-    },
-
-    {
-        7, -236, -236, -236,  240,   24, -236, -236,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -236,
-
-     -236, -236, -236, -236, -236, -236, -236, -236, -236, -236,
-     -236, -236, -236, -236
-    },
-
-    {
-        7, -237, -237, -237,   59,   24, -237, -237,   60,   24,
-       24,  241,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -237,
-     -237, -237, -237, -237, -237, -237, -237, -237, -237, -237,
-     -237, -237, -237, -237
-    },
-
-    {
-        7, -238, -238, -238,   59,   24, -238, -238,   60,  242,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -238,
-     -238, -238, -238, -238, -238, -238, -238, -238, -238, -238,
-     -238, -238, -238, -238
-    },
-
-    {
-        7, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239, -239, -239, -239, -239, -239, -239,
-     -239, -239, -239, -239
-
-    },
-
-    {
-        7, -240, -240, -240, -240, -240, -240, -240,  243, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240, -240, -240, -240, -240, -240, -240,
-     -240, -240, -240, -240
-    },
-
-    {
-        7, -241, -241, -241,   59,   24, -241, -241,   60,   24,
-       24,   24,   24,  244,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -241,
-
-     -241, -241, -241, -241, -241, -241, -241, -241, -241, -241,
-     -241, -241, -241, -241
-    },
-
-    {
-        7, -242, -242, -242,   59,   24, -242, -242,   60,   24,
-       24,  245,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -242,
-     -242, -242, -242, -242, -242, -242, -242, -242, -242, -242,
-     -242, -242, -242, -242
-    },
-
-    {
-        7, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243, -243, -243, -243, -243, -243, -243,
-     -243, -243, -243, -243
-    },
-
-    {
-        7, -244, -244, -244,  246,   24, -244, -244,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -244,
-     -244, -244, -244, -244, -244, -244, -244, -244, -244, -244,
-     -244, -244, -244, -244
-
-    },
-
-    {
-        7, -245, -245, -245,   59,   24, -245, -245,   60,   24,
-       24,   24,   24,  247,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -245,
-     -245, -245, -245, -245, -245, -245, -245, -245, -245, -245,
-     -245, -245, -245, -245
-    },
-
-    {
-        7, -246, -246, -246, -246, -246, -246, -246,  248, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-
-     -246, -246, -246, -246, -246, -246, -246, -246, -246, -246,
-     -246, -246, -246, -246
-    },
-
-    {
-        7, -247, -247, -247,  249,   24, -247, -247,   60,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   61,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24, -247,
-     -247, -247, -247, -247, -247, -247, -247, -247, -247, -247,
-     -247, -247, -247, -247
-    },
-
-    {
-        7, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248, -248, -248, -248, -248, -248, -248,
-     -248, -248, -248, -248
-    },
-
-    {
-        7, -249, -249, -249, -249, -249, -249, -249,  250, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249, -249, -249, -249, -249, -249, -249,
-     -249, -249, -249, -249
-
-    },
-
-    {
-        7, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250, -250, -250, -250, -250, -250, -250,
-     -250, -250, -250, -250
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 51
-#define YY_END_OF_BUFFER 52
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[251] =
-    {   0,
-        0,    0,    0,    0,    0,    0,   52,   48,   49,   48,
-       48,   48,   48,   48,   50,   50,   51,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,   11,   10,   36,   34,   38,   39,
-       35,   33,   37,   30,   32,   31,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,   40,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    4,    3,    0,   44,    0,
-        0,    0,    0,    0,   46,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    5,
-
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-       23,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   22,    2,    1,    0,    0,    0,    0,    0,    0,
-        0,    6,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   28,    0,    0,    0,    0,    0,    0,   29,    0,
-        0,    0,    0,   42,    0,    0,    0,    0,    0,   26,
-        0,    0,    0,    0,    0,    0,    0,   27,    0,   43,
-        0,    0,    0,    0,    0,    0,    0,    0,   26,    0,
-        0,   45,    0,    0,    0,    0,   47,   24,    0,    0,
-       41,    0,    0,    0,    0,    0,    0,   25,    0,    0,
-
-        0,   24,   20,    0,    0,   18,    0,   16,    0,    0,
-       21,   19,   17,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   14,    0,    0,    0,    0,
-        0,   12,    0,   15,    0,    0,    0,    0,   13,    0,
-        0,    0,    9,    0,    0,    0,    0,    7,    0,    8
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,
-        1,    1,    1,    1,    1,    1,    4,    5,    5,    5,
-        5,    5,    5,    5,    5,    5,    5,    1,    6,    7,
-        1,    8,    1,    1,    9,   10,   11,   12,   13,   14,
-       15,   16,   17,   18,   18,   19,   20,   21,   22,   23,
-       18,   24,   25,   26,   18,   27,   18,   18,   18,   18,
-        1,    1,    1,    1,   28,    1,   29,   18,   18,   18,
-
-       18,   18,   30,   18,   18,   18,   18,   31,   32,   18,
-       33,   34,   35,   18,   36,   37,   38,   18,   18,   18,
-       18,   18,    1,    1,    1,    1,    1,    1,    1,   39,
-        1,    1,   40,   41,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,   42,   43,    1,    1,    1,
-        1,   44,    1,    1,    1,    1,    1,    1,   45,    1,
-       46,    1,    1,    1,   47,   48,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,   49,    1,    1,    1,    1,    1,    1,
-       50,    1,    1,   51,   52,    1,   53,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium-postlatex.l"
-#line 4 "apertium-postlatex.l"
-
-
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-#include <apertium/latex_accentsmap.h>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-AccentsMap accentsMap(true);
-wstring closesym = L"";
-string memconv = "";
-
-wstring convertir(string const &multibyte, int const length)
-{
-  memconv.append(multibyte.c_str(), length);
-  int tam = memconv.size();
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    delete[] retval;
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    delete[] retval;
-    return ret;
-  }
-}
-
-
-
-
-
-
-#line 2936 "apertium_postlatex.cc"
-
-#define INITIAL 0
-#define mathenv 1
-#define readbrackets 2
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 78 "apertium-postlatex.l"
-
-
-
-
-#line 3144 "apertium_postlatex.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 82 "apertium-postlatex.l"
-{
-	fputws(L"\"",yyout);
-}
-	YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 85 "apertium-postlatex.l"
-{
-	fputws(L"\'",yyout);
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 88 "apertium-postlatex.l"
-{
-	fputws(L"<",yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 91 "apertium-postlatex.l"
-{
-	fputws(L">",yyout);
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 94 "apertium-postlatex.l"
-{
-	fputws(L"\\&",yyout);
-}
-	YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 97 "apertium-postlatex.l"
-{
-	fputws(L"&",yyout);
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 101 "apertium-postlatex.l"
-{
-        fputws(L"\\{", yyout);
-}
-	YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 105 "apertium-postlatex.l"
-{
-        fputws(L"\\}", yyout);
-}
-	YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 109 "apertium-postlatex.l"
-{
-        fputws(L"\\%", yyout);
-}
-	YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 113 "apertium-postlatex.l"
-{
-	fputws(L"?`",yyout);
-}
-	YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 117 "apertium-postlatex.l"
-{
-	fputws(L"!`",yyout);
-}
-	YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 123 "apertium-postlatex.l"
-{
-	BEGIN(mathenv);
-	fputws(L"$$",yyout);
-}
-	YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 128 "apertium-postlatex.l"
-{
-	fputws(L"$$",yyout);
-	BEGIN(0);
-}
-	YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 134 "apertium-postlatex.l"
-{
-	BEGIN(mathenv);
-	fputws(L"$",yyout);
-}
-	YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 139 "apertium-postlatex.l"
-{
-	fputws(L"$",yyout);
-	BEGIN(0);
-}
-	YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 144 "apertium-postlatex.l"
-{
-	fputws(L"\\(",yyout);
-}
-	YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 148 "apertium-postlatex.l"
-{
-	fputws(L"\\)",yyout);
-}
-	YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 152 "apertium-postlatex.l"
-{
-	fputws(L"\\[",yyout);
-}
-	YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 156 "apertium-postlatex.l"
-{
-	fputws(L"\\]",yyout);
-}
-	YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 161 "apertium-postlatex.l"
-{
-	fputws(L"{",yyout);
-}
-	YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 165 "apertium-postlatex.l"
-{
-	fputws(L"}",yyout);
-}
-	YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 169 "apertium-postlatex.l"
-{
-	fputws(L"~",yyout);
-}
-	YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 175 "apertium-postlatex.l"
-{
-	fputws(L"\\\\",yyout);
-}
-	YY_BREAK
-case 24:
-/* rule 24 can match eol */
-YY_RULE_SETUP
-#line 179 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\%")+convertir(yytext+9,yyleng-9)).c_str(),yyout);
-}
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 183 "apertium-postlatex.l"
-{
-}
-	YY_BREAK
-case 26:
-/* rule 26 can match eol */
-YY_RULE_SETUP
-#line 187 "apertium-postlatex.l"
-{
-	fputws((wstring(L"[")+convertir(yytext+7,yyleng-7)).c_str(),yyout);
-}
-	YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 190 "apertium-postlatex.l"
-{
-	fputws(L"]", yyout);
-}
-	YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 194 "apertium-postlatex.l"
-{
-        fputws(L"\\verb", yyout);
-}
-	YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 198 "apertium-postlatex.l"
-{
-        ;
-}
-	YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 204 "apertium-postlatex.l"
-{
-	fputws(L"\\l", yyout);
-}
-	YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 209 "apertium-postlatex.l"
-{
-	fputws(L"{\\oe}",yyout);
-}
-	YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 213 "apertium-postlatex.l"
-{
-	fputws(L"{\\OE}",yyout);
-}
-	YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 217 "apertium-postlatex.l"
-{
-	fputws(L"{\\ae}",yyout);
-}
-	YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 221 "apertium-postlatex.l"
-{
-	fputws(L"{\\AE}",yyout);
-}
-	YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 225 "apertium-postlatex.l"
-{
-	fputws(L"{\\aa}",yyout);
-}
-	YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 229 "apertium-postlatex.l"
-{
-	fputws(L"{\\AA}",yyout);
-}
-	YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 233 "apertium-postlatex.l"
-{
-	fputws(L"{\\o}",yyout);
-}
-	YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 237 "apertium-postlatex.l"
-{
-	fputws(L"{\\O}",yyout);
-}
-	YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 241 "apertium-postlatex.l"
-{
-	fputws(L"{\\ss}",yyout);
-}
-	YY_BREAK
-case 40:
-YY_RULE_SETUP
-#line 245 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\\begin{")+convertir(yytext+1,yyleng-2)+wstring(L"}")).c_str(),yyout);
-}
-	YY_BREAK
-case 41:
-YY_RULE_SETUP
-#line 249 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\\#")+convertir(yytext+6,yyleng-8)).c_str(),yyout);
-}
-	YY_BREAK
-case 42:
-YY_RULE_SETUP
-#line 253 "apertium-postlatex.l"
-{
-        fputws(L"\\#", yyout);
-}
-	YY_BREAK
-case 43:
-YY_RULE_SETUP
-#line 257 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\\begin{")+convertir(yytext+1,yyleng-7)+wstring(L"*}")).c_str(),yyout);
-}
-	YY_BREAK
-case 44:
-YY_RULE_SETUP
-#line 261 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\\end{")+convertir(yytext+2,yyleng-3)+wstring(L"}")).c_str(),yyout);
-}
-	YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 265 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\\end{")+convertir(yytext+2,yyleng-8)+wstring(L"*}")).c_str(),yyout);
-}
-	YY_BREAK
-case 46:
-YY_RULE_SETUP
-#line 269 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\\")+convertir(yytext+1,yyleng-3)).c_str(),yyout);
-}
-	YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 273 "apertium-postlatex.l"
-{
-	fputws((wstring(L"\\")+convertir(yytext+1,yyleng-8)+wstring(L"*")).c_str(),yyout);
-}
-	YY_BREAK
-/*NO ENTIENDO ESTA REGLA
- \#	{
-        fputws(L"\\#", yyout);
- }*/
-case 48:
-YY_RULE_SETUP
-#line 282 "apertium-postlatex.l"
-{
-	wstring wt = convertir(yytext,yyleng);
-	wstring wa = accentsMap.get(wt);
-	if( wa == L"" )
-		fputws(wt.c_str(),yyout);
- 	else
-		fputws(wstring(L"\\"+wa.substr(0,1)+L"{"+wa.substr(1)+L"}").c_str(),yyout);
-}
-	YY_BREAK
-case 49:
-/* rule 49 can match eol */
-YY_RULE_SETUP
-#line 292 "apertium-postlatex.l"
-{
-	fputws(convertir(yytext,yyleng).c_str(),yyout);
-}
-	YY_BREAK
-case 50:
-/* rule 50 can match eol */
-YY_RULE_SETUP
-#line 296 "apertium-postlatex.l"
-{
-	fputws(convertir(yytext,yyleng).c_str(),yyout);
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(mathenv):
-case YY_STATE_EOF(readbrackets):
-#line 301 "apertium-postlatex.l"
-{
-	return 0;
-}
-	YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 304 "apertium-postlatex.l"
-ECHO;
-	YY_BREAK
-#line 3568 "apertium_postlatex.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 304 "apertium-postlatex.l"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-
-  cerr << "LaTeX format postprocessor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  yylex();
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_postlatex_raw.cc b/apertium/apertium_postlatex_raw.cc
deleted file mode 100644
index 903d899..0000000
--- a/apertium/apertium_postlatex_raw.cc
+++ /dev/null
@@ -1,4063 +0,0 @@
-#line 2 "apertium_postlatex_raw.cc"
-
-#line 4 "apertium_postlatex_raw.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][42] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0
-    },
-
-    {
-        7,    8,    8,    9,   10,    8,    8,    8,   11,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,   12
-
-    },
-
-    {
-        7,    8,    8,    9,   10,    8,    8,    8,   11,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,   12
-    },
-
-    {
-        7,   13,   13,   13,   13,   13,   13,   13,   14,   13,
-       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13
-
-    },
-
-    {
-        7,   13,   13,   13,   13,   13,   13,   13,   14,   13,
-       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
-       13,   13
-    },
-
-    {
-        7,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15
-
-    },
-
-    {
-        7,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15,   15,   15,   15,   15,   15,   15,   15,   15,
-       15,   15
-    },
-
-    {
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7
-
-    },
-
-    {
-        7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8
-    },
-
-    {
-        7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9
-
-    },
-
-    {
-        7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,   16,  -10,  -10,  -10,  -10,  -10,  -10,  -10,   17,
-       18,   19,  -10,  -10,  -10,   20,  -10,  -10,  -10,  -10,
-      -10,  -10
-    },
-
-    {
-        7,  -11,  -11,  -11,  -11,   21,   22,  -11,  -11,  -11,
-       23,   24,   25,   22,   26,   22,   22,   22,   22,   27,
-       28,   22,   22,   29,   30,   22,   22,   31,  -11,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -11,
-      -11,  -11
-
-    },
-
-    {
-        7,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,   32,
-       33,  -12
-    },
-
-    {
-        7,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13,
-      -13,  -13
-
-    },
-
-    {
-        7,  -14,  -14,  -14,  -14,   34,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14
-    },
-
-    {
-        7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15
-
-    },
-
-    {
-        7,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,   35,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16
-    },
-
-    {
-        7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,   36,  -17,   37,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17
-
-    },
-
-    {
-        7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,   38,  -18,  -18,
-      -18,  -18
-    },
-
-    {
-        7,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,  -19,
-      -19,  -19,  -19,  -19,  -19,  -19,  -19,   39,  -19,  -19,
-      -19,  -19
-
-    },
-
-    {
-        7,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,
-      -20,  -20,  -20,  -20,  -20,  -20,  -20,  -20,   40,  -20,
-      -20,  -20
-    },
-
-    {
-        7,  -21,  -21,  -21,  -21,  -21,   41,  -21,  -21,  -21,
-       41,   41,   42,   41,   41,   41,   41,   41,   41,   41,
-       43,   41,   41,   44,   41,   41,   41,   45,  -21,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -21,
-      -21,  -21
-
-    },
-
-    {
-        7,  -22,  -22,  -22,  -22,   46,   22,  -22,  -22,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -22,
-      -22,  -22
-    },
-
-    {
-        7,  -23,  -23,  -23,  -23,   46,   22,  -23,  -23,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       49,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -23,
-      -23,  -23
-
-    },
-
-    {
-        7,  -24,  -24,  -24,  -24,   46,   22,  -24,  -24,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   50,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -24,
-      -24,  -24
-    },
-
-    {
-        7,  -25,  -25,  -25,  -25,   46,   22,  -25,  -25,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   51,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -25,
-      -25,  -25
-
-    },
-
-    {
-        7,  -26,  -26,  -26,  -26,   46,   22,  -26,  -26,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   52,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -26,
-      -26,  -26
-    },
-
-    {
-        7,  -27,  -27,  -27,  -27,   46,   22,  -27,  -27,   47,
-       22,   22,   22,   22,   53,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -27,
-      -27,  -27
-
-    },
-
-    {
-        7,  -28,  -28,  -28,  -28,   46,   22,  -28,  -28,   47,
-       54,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -28,
-      -28,  -28
-    },
-
-    {
-        7,  -29,  -29,  -29,  -29,   46,   22,  -29,  -29,   47,
-       55,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -29,
-      -29,  -29
-
-    },
-
-    {
-        7,  -30,  -30,  -30,  -30,   46,   22,  -30,  -30,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   56,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -30,
-      -30,  -30
-    },
-
-    {
-        7,  -31,  -31,  -31,  -31,   46,   22,  -31,  -31,   47,
-       22,   22,   22,   22,   57,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -31,
-      -31,  -31
-
-    },
-
-    {
-        7,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32
-    },
-
-    {
-        7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33
-
-    },
-
-    {
-        7,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-       58,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,  -34,
-      -34,  -34
-    },
-
-    {
-        7,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,   59,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35
-
-    },
-
-    {
-        7,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36,  -36,  -36,   60,  -36,  -36,  -36,  -36,  -36,
-      -36,  -36
-    },
-
-    {
-        7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,   61,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37
-
-    },
-
-    {
-        7,  -38,  -38,  -38,  -38,  -38,  -38,   62,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,  -38,
-      -38,  -38
-    },
-
-    {
-        7,  -39,  -39,  -39,  -39,  -39,  -39,   63,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39
-
-    },
-
-    {
-        7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,   64,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40
-    },
-
-    {
-        7,  -41,  -41,  -41,  -41,  -41,   41,  -41,  -41,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -41,
-      -41,  -41
-
-    },
-
-    {
-        7,  -42,  -42,  -42,  -42,  -42,   41,  -42,  -42,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   67,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -42,
-      -42,  -42
-    },
-
-    {
-        7,  -43,  -43,  -43,  -43,  -43,   41,  -43,  -43,   65,
-       68,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -43,
-      -43,  -43
-
-    },
-
-    {
-        7,  -44,  -44,  -44,  -44,  -44,   41,  -44,  -44,   65,
-       69,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -44,
-      -44,  -44
-    },
-
-    {
-        7,  -45,  -45,  -45,  -45,  -45,   41,  -45,  -45,   65,
-       41,   41,   41,   41,   70,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -45,
-      -45,  -45
-
-    },
-
-    {
-        7,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,   71,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,  -46,
-      -46,  -46
-    },
-
-    {
-        7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47
-
-    },
-
-    {
-        7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,   72,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48
-    },
-
-    {
-        7,  -49,  -49,  -49,  -49,   46,   22,  -49,  -49,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   73,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -49,
-      -49,  -49
-
-    },
-
-    {
-        7,  -50,  -50,  -50,  -50,   74,   22,  -50,  -50,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -50,
-      -50,  -50
-    },
-
-    {
-        7,  -51,  -51,  -51,  -51,   46,   22,  -51,  -51,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       75,   76,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -51,
-      -51,  -51
-
-    },
-
-    {
-        7,  -52,  -52,  -52,  -52,   46,   22,  -52,  -52,   47,
-       22,   22,   77,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -52,
-      -52,  -52
-    },
-
-    {
-        7,  -53,  -53,  -53,  -53,   46,   22,  -53,  -53,   47,
-       22,   22,   22,   22,   22,   78,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -53,
-      -53,  -53
-
-    },
-
-    {
-        7,  -54,  -54,  -54,  -54,   46,   22,  -54,  -54,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   79,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -54,
-      -54,  -54
-    },
-
-    {
-        7,  -55,  -55,  -55,  -55,   46,   22,  -55,  -55,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   80,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -55,
-      -55,  -55
-
-    },
-
-    {
-        7,  -56,  -56,  -56,  -56,   46,   22,  -56,  -56,   47,
-       22,   22,   22,   22,   22,   22,   81,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -56,
-      -56,  -56
-    },
-
-    {
-        7,  -57,  -57,  -57,  -57,   46,   22,  -57,  -57,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   82,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -57,
-      -57,  -57
-
-    },
-
-    {
-        7,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-       83,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58
-    },
-
-    {
-        7,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,   84,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59
-
-    },
-
-    {
-        7,  -60,  -60,  -60,  -60,  -60,  -60,   85,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60
-    },
-
-    {
-        7,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,   86,  -61,  -61,  -61,
-      -61,  -61
-
-    },
-
-    {
-        7,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62
-    },
-
-    {
-        7,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63
-
-    },
-
-    {
-        7,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,   87,  -64,  -64,
-      -64,  -64
-    },
-
-    {
-        7,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65
-
-    },
-
-    {
-        7,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,   88,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66
-    },
-
-    {
-        7,  -67,  -67,  -67,  -67,  -67,   41,  -67,  -67,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       89,   90,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -67,
-      -67,  -67
-
-    },
-
-    {
-        7,  -68,  -68,  -68,  -68,  -68,   41,  -68,  -68,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   91,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -68,
-      -68,  -68
-    },
-
-    {
-        7,  -69,  -69,  -69,  -69,  -69,   41,  -69,  -69,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   92,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -69,
-      -69,  -69
-
-    },
-
-    {
-        7,  -70,  -70,  -70,  -70,  -70,   41,  -70,  -70,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   93,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -70,
-      -70,  -70
-    },
-
-    {
-        7,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71
-
-    },
-
-    {
-        7,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,   94,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72
-    },
-
-    {
-        7,  -73,  -73,  -73,  -73,   95,   22,  -73,  -73,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -73,
-      -73,  -73
-
-    },
-
-    {
-        7,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,   96,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74
-    },
-
-    {
-        7,  -75,  -75,  -75,  -75,   46,   22,  -75,  -75,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       97,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -75,
-      -75,  -75
-
-    },
-
-    {
-        7,  -76,  -76,  -76,  -76,   46,   22,  -76,  -76,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   98,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -76,
-      -76,  -76
-    },
-
-    {
-        7,  -77,  -77,  -77,  -77,   46,   22,  -77,  -77,   47,
-       99,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -77,
-      -77,  -77
-
-    },
-
-    {
-        7,  -78,  -78,  -78,  -78,   46,   22,  -78,  -78,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,  100,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -78,
-      -78,  -78
-    },
-
-    {
-        7,  -79,  -79,  -79,  -79,   46,   22,  -79,  -79,   47,
-       22,   22,   22,   22,   22,   22,   22,  101,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -79,
-      -79,  -79
-
-    },
-
-    {
-        7,  -80,  -80,  -80,  -80,   46,   22,  -80,  -80,   47,
-      102,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -80,
-      -80,  -80
-    },
-
-    {
-        7,  -81,  -81,  -81,  -81,   46,   22,  -81,  -81,   47,
-       22,   22,   22,   22,   22,   22,   22,  103,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -81,
-      -81,  -81
-
-    },
-
-    {
-        7,  -82,  -82,  -82,  -82,   46,   22,  -82,  -82,   47,
-       22,  104,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -82,
-      -82,  -82
-    },
-
-    {
-        7,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  105,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83
-
-    },
-
-    {
-        7,  -84,  -84,  -84,  -84,  -84,  -84,  106,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84
-    },
-
-    {
-        7,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85
-
-    },
-
-    {
-        7,  -86,  -86,  -86,  -86,  -86,  -86,  107,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86
-    },
-
-    {
-        7,  -87,  -87,  -87,  -87,  -87,  -87,  108,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87
-
-    },
-
-    {
-        7,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  109,  -88,  -88,  -88,
-      -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,  -88,
-      -88,  -88
-    },
-
-    {
-        7,  -89,  -89,  -89,  -89,  -89,   41,  -89,  -89,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-      110,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -89,
-      -89,  -89
-
-    },
-
-    {
-        7,  -90,  -90,  -90,  -90,  -90,   41,  -90,  -90,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,  111,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -90,
-      -90,  -90
-    },
-
-    {
-        7,  -91,  -91,  -91,  -91,  -91,   41,  -91,  -91,   65,
-       41,   41,   41,   41,   41,   41,   41,  112,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -91,
-      -91,  -91
-
-    },
-
-    {
-        7,  -92,  -92,  -92,  -92,  -92,   41,  -92,  -92,   65,
-      113,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -92,
-      -92,  -92
-    },
-
-    {
-        7,  -93,  -93,  -93,  -93,  -93,   41,  -93,  -93,   65,
-       41,  114,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,  -93,
-      -93,  -93
-
-    },
-
-    {
-        7,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      115,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94
-    },
-
-    {
-        7,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  116,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95
-
-    },
-
-    {
-        7,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96
-    },
-
-    {
-        7,  -97,  -97,  -97,  -97,   46,   22,  -97,  -97,   47,
-       22,   22,   22,   22,  117,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -97,
-      -97,  -97
-
-    },
-
-    {
-        7,  -98,  -98,  -98,  -98,   46,   22,  -98,  -98,   47,
-       22,   22,   22,   22,  118,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -98,
-      -98,  -98
-    },
-
-    {
-        7,  -99,  -99,  -99,  -99,   46,   22,  -99,  -99,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,  119,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,  -99,
-      -99,  -99
-
-    },
-
-    {
-        7, -100, -100, -100, -100,   46,   22, -100, -100,   47,
-       22,   22,   22,   22,  120,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -100,
-     -100, -100
-    },
-
-    {
-        7, -101, -101, -101, -101,   46,   22, -101, -101,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,  121,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -101,
-     -101, -101
-
-    },
-
-    {
-        7, -102, -102, -102, -102,   46,   22, -102, -102,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-      122,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -102,
-     -102, -102
-    },
-
-    {
-        7, -103, -103, -103, -103,   46,   22, -103, -103,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,  123,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -103,
-     -103, -103
-
-    },
-
-    {
-        7, -104, -104, -104, -104,   46,   22, -104, -104,  124,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -104,
-     -104, -104
-    },
-
-    {
-        7, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105,  125, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105
-
-    },
-
-    {
-        7, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106
-    },
-
-    {
-        7, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107, -107, -107, -107, -107, -107, -107, -107, -107,
-     -107, -107
-
-    },
-
-    {
-        7, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108
-    },
-
-    {
-        7, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-      126, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109
-
-    },
-
-    {
-        7, -110, -110, -110, -110, -110,   41, -110, -110,   65,
-       41,   41,   41,   41,  127,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -110,
-     -110, -110
-    },
-
-    {
-        7, -111, -111, -111, -111, -111,   41, -111, -111,   65,
-       41,   41,   41,   41,  128,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -111,
-     -111, -111
-
-    },
-
-    {
-        7, -112, -112, -112, -112, -112,   41, -112, -112,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,  129,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -112,
-     -112, -112
-    },
-
-    {
-        7, -113, -113, -113, -113, -113,   41, -113, -113,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-      130,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -113,
-     -113, -113
-
-    },
-
-    {
-        7, -114, -114, -114, -114, -114,   41, -114, -114,  131,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -114,
-     -114, -114
-    },
-
-    {
-        7, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115,  132, -115, -115, -115, -115, -115,
-     -115, -115, -115, -115, -115, -115, -115, -115, -115, -115,
-     -115, -115
-
-    },
-
-    {
-        7, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116
-    },
-
-    {
-        7, -117, -117, -117, -117,   46,   22, -117, -117,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,  133,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -117,
-     -117, -117
-
-    },
-
-    {
-        7, -118, -118, -118, -118,   46,   22, -118, -118,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,  134,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -118,
-     -118, -118
-    },
-
-    {
-        7, -119, -119, -119, -119,   46,   22, -119, -119,   47,
-       22,   22,   22,   22,  135,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -119,
-     -119, -119
-
-    },
-
-    {
-        7, -120, -120, -120, -120,   46,   22, -120, -120,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,  136,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -120,
-     -120, -120
-    },
-
-    {
-        7, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121,  137, -121,  138, -121, -121, -121, -121, -121, -121,
-     -121, -121, -121,  139, -121,   72, -121, -121, -121, -121,
-     -121, -121, -121, -121, -121, -121, -121, -121, -121, -121,
-     -121, -121
-
-    },
-
-    {
-        7, -122, -122, -122, -122,   46,   22, -122, -122,  140,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -122,
-     -122, -122
-    },
-
-    {
-        7, -123, -123, -123, -123,   46,   22, -123, -123,   47,
-       22,   22,   22,   22,  141,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -123,
-     -123, -123
-
-    },
-
-    {
-        7, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124
-    },
-
-    {
-        7, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125,  142, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125
-
-    },
-
-    {
-        7, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126,  143, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126
-    },
-
-    {
-        7, -127, -127, -127, -127, -127,   41, -127, -127,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,  144,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -127,
-     -127, -127
-
-    },
-
-    {
-        7, -128, -128, -128, -128, -128,   41, -128, -128,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,  145,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -128,
-     -128, -128
-    },
-
-    {
-        7, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129,  146, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129, -129,  147, -129,   88, -129, -129, -129, -129,
-     -129, -129, -129, -129, -129, -129, -129, -129, -129, -129,
-     -129, -129
-
-    },
-
-    {
-        7, -130, -130, -130, -130, -130,   41, -130, -130,  148,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -130,
-     -130, -130
-    },
-
-    {
-        7, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131, -131, -131, -131, -131, -131, -131, -131, -131,
-     -131, -131
-
-    },
-
-    {
-        7, -132, -132, -132, -132,  149, -132, -132, -132,  150,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132, -132, -132, -132, -132, -132, -132, -132, -132,
-     -132, -132
-    },
-
-    {
-        7, -133, -133, -133, -133,   46,   22, -133, -133,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,  151,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -133,
-     -133, -133
-
-    },
-
-    {
-        7, -134, -134, -134, -134,   46,   22, -134, -134,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,  152,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -134,
-     -134, -134
-    },
-
-    {
-        7, -135, -135, -135, -135,   46,   22, -135, -135,   47,
-       22,   22,   22,  153,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -135,
-     -135, -135
-
-    },
-
-    {
-        7, -136, -136, -136, -136,   46,   22, -136, -136,   47,
-       22,   22,  154,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -136,
-     -136, -136
-    },
-
-    {
-        7, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137,  155, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137
-
-    },
-
-    {
-        7, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138,  156, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138
-    },
-
-    {
-        7, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-      157, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139
-
-    },
-
-    {
-        7,  158,  158,  158,  158,  158,  158,  158, -140,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158
-    },
-
-    {
-        7, -141, -141, -141, -141,   46,   22, -141, -141,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,  159,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -141,
-     -141, -141
-
-    },
-
-    {
-        7, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142,  160, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142
-    },
-
-    {
-        7, -143, -143, -143, -143, -143, -143, -143, -143,  161,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143, -143, -143, -143, -143, -143, -143, -143, -143,
-     -143, -143
-
-    },
-
-    {
-        7, -144, -144, -144, -144, -144,   41, -144, -144,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,  162,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -144,
-     -144, -144
-    },
-
-    {
-        7, -145, -145, -145, -145, -145,   41, -145, -145,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,  163,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -145,
-     -145, -145
-
-    },
-
-    {
-        7, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146,  164, -146, -146, -146, -146, -146,
-     -146, -146, -146, -146, -146, -146, -146, -146, -146, -146,
-     -146, -146
-    },
-
-    {
-        7, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-      165, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147, -147, -147, -147, -147, -147, -147, -147, -147,
-     -147, -147
-
-    },
-
-    {
-        7, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148, -148, -148, -148, -148, -148, -148, -148, -148,
-     -148, -148
-    },
-
-    {
-        7, -149, -149, -149, -149, -149, -149, -149, -149,  166,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149, -149, -149, -149, -149, -149, -149, -149, -149,
-     -149, -149
-
-    },
-
-    {
-        7, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150, -150, -150, -150, -150, -150, -150, -150, -150,
-     -150, -150
-    },
-
-    {
-        7, -151, -151, -151, -151,   46,   22, -151, -151,  167,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -151,
-     -151, -151
-
-    },
-
-    {
-        7, -152, -152, -152, -152,   46,   22, -152, -152,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,  168,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -152,
-     -152, -152
-    },
-
-    {
-        7, -153, -153, -153, -153,   46,   22, -153, -153,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,  169,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -153,
-     -153, -153
-
-    },
-
-    {
-        7, -154, -154, -154, -154,   46,   22, -154, -154,   47,
-      170,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -154,
-     -154, -154
-    },
-
-    {
-        7, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-      171, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155, -155, -155, -155, -155, -155, -155, -155, -155,
-     -155, -155
-
-    },
-
-    {
-        7, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156,  172,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156, -156, -156, -156, -156, -156, -156, -156, -156,
-     -156, -156
-    },
-
-    {
-        7, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157,  173, -157, -157, -157, -157, -157,
-     -157, -157, -157, -157, -157, -157, -157, -157, -157, -157,
-     -157, -157
-
-    },
-
-    {
-        7,  158,  158,  158,  158,  158,  158,  158, -158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158,  158,  158,  158,  158,  158,  158,  158,  158,
-      158,  158
-    },
-
-    {
-        7, -159, -159, -159, -159,   46,   22, -159, -159,   47,
-       22,   22,  174,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -159,
-     -159, -159
-
-    },
-
-    {
-        7, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160,  175, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160, -160, -160, -160, -160, -160, -160, -160, -160,
-     -160, -160
-    },
-
-    {
-        7, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161, -161, -161, -161, -161, -161, -161, -161, -161,
-     -161, -161
-
-    },
-
-    {
-        7, -162, -162, -162, -162, -162,   41, -162, -162,  176,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -162,
-     -162, -162
-    },
-
-    {
-        7, -163, -163, -163, -163, -163,   41, -163, -163,   65,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,  177,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -163,
-     -163, -163
-
-    },
-
-    {
-        7, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-      178, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164, -164, -164, -164, -164, -164, -164, -164, -164,
-     -164, -164
-    },
-
-    {
-        7, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165,  179, -165, -165, -165, -165, -165,
-     -165, -165, -165, -165, -165, -165, -165, -165, -165, -165,
-     -165, -165
-
-    },
-
-    {
-        7, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166, -166, -166, -166, -166, -166, -166, -166, -166,
-     -166, -166
-    },
-
-    {
-        7,  180,  180,  180,  180,  180,  180,  180, -167,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180
-
-    },
-
-    {
-        7, -168, -168, -168, -168,   46,   22, -168, -168,  181,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -168,
-     -168, -168
-    },
-
-    {
-        7, -169, -169, -169, -169,   46,   22, -169, -169,   47,
-       22,   22,   22,   22,  182,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -169,
-     -169, -169
-
-    },
-
-    {
-        7, -170, -170, -170, -170,   46,   22, -170, -170,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,  183,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -170,
-     -170, -170
-    },
-
-    {
-        7, -171, -171, -171, -171, -171, -171, -171, -171,  184,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171, -171, -171, -171, -171, -171, -171, -171, -171,
-     -171, -171
-
-    },
-
-    {
-        7, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172,  185,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172, -172, -172, -172, -172, -172, -172, -172, -172,
-     -172, -172
-    },
-
-    {
-        7, -173, -173, -173, -173, -173, -173, -173, -173,  186,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173, -173, -173, -173, -173, -173, -173, -173, -173,
-     -173, -173
-
-    },
-
-    {
-        7, -174, -174, -174, -174,   46,   22, -174, -174,   47,
-      187,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -174,
-     -174, -174
-    },
-
-    {
-        7, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175,  188,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175, -175, -175, -175, -175, -175, -175, -175, -175,
-     -175, -175
-
-    },
-
-    {
-        7, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176, -176, -176, -176, -176, -176, -176, -176, -176,
-     -176, -176
-    },
-
-    {
-        7, -177, -177, -177, -177, -177,   41, -177, -177,  189,
-       41,   41,   41,   41,   41,   41,   41,   41,   41,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   66,   41,
-       41,   41,   41,   41,   41,   41,   41,   41,   41, -177,
-     -177, -177
-
-    },
-
-    {
-        7, -178, -178, -178, -178, -178, -178, -178, -178,  190,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178, -178, -178, -178, -178, -178, -178, -178, -178,
-     -178, -178
-    },
-
-    {
-        7, -179, -179, -179, -179, -179, -179, -179, -179,  191,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179, -179, -179, -179, -179, -179, -179, -179, -179,
-     -179, -179
-
-    },
-
-    {
-        7,  180,  180,  180,  180,  180,  180,  180, -180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180,  180,  180,  180,  180,  180,  180,  180,  180,
-      180,  180
-    },
-
-    {
-        7, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181, -181, -181, -181, -181, -181, -181, -181, -181,
-     -181, -181
-
-    },
-
-    {
-        7, -182, -182, -182, -182,   46,   22, -182, -182,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,  192,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -182,
-     -182, -182
-    },
-
-    {
-        7, -183, -183, -183, -183,   46,   22, -183, -183,   47,
-       22,   22,   22,   22,  193,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -183,
-     -183, -183
-
-    },
-
-    {
-        7, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184, -184, -184, -184, -184, -184, -184, -184, -184,
-     -184, -184
-    },
-
-    {
-        7, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-      194, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185, -185, -185, -185, -185, -185, -185, -185, -185,
-     -185, -185
-
-    },
-
-    {
-        7, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186, -186, -186, -186, -186, -186, -186, -186, -186,
-     -186, -186
-    },
-
-    {
-        7, -187, -187, -187, -187,   46,   22, -187, -187,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,  195,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -187,
-     -187, -187
-
-    },
-
-    {
-        7, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-     -188, -188, -188, -188, -188, -188, -188, -188, -188,  196,
-     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-     -188, -188, -188, -188, -188, -188, -188, -188, -188, -188,
-     -188, -188
-    },
-
-    {
-        7, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189, -189, -189, -189, -189, -189, -189, -189, -189,
-     -189, -189
-
-    },
-
-    {
-        7, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190, -190, -190, -190, -190, -190, -190, -190, -190,
-     -190, -190
-    },
-
-    {
-        7, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191, -191, -191, -191, -191, -191, -191, -191, -191,
-     -191, -191
-
-    },
-
-    {
-        7, -192, -192, -192, -192,   46,   22, -192, -192,   47,
-       22,   22,  197,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -192,
-     -192, -192
-    },
-
-    {
-        7, -193, -193, -193, -193,   46,   22, -193, -193,   47,
-       22,   22,   22,  198,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -193,
-     -193, -193
-
-    },
-
-    {
-        7, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194,  199, -194, -194, -194, -194, -194,
-     -194, -194, -194, -194, -194, -194, -194, -194, -194, -194,
-     -194, -194
-    },
-
-    {
-        7, -195, -195, -195, -195,   46,   22, -195, -195,   47,
-       22,   22,   22,   22,  200,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -195,
-     -195, -195
-
-    },
-
-    {
-        7, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-      201, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196, -196, -196, -196, -196, -196, -196, -196, -196,
-     -196, -196
-    },
-
-    {
-        7, -197, -197, -197, -197,   46,   22, -197, -197,   47,
-       22,   22,   22,   22,  202,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -197,
-     -197, -197
-
-    },
-
-    {
-        7, -198, -198, -198, -198,   46,   22, -198, -198,   47,
-       22,  203,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -198,
-     -198, -198
-    },
-
-    {
-        7, -199, -199, -199, -199, -199, -199, -199, -199,  204,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199,  205, -199, -199, -199, -199,
-     -199, -199, -199, -199, -199, -199, -199, -199, -199, -199,
-     -199, -199
-
-    },
-
-    {
-        7, -200, -200, -200, -200,   46,   22, -200, -200,   47,
-       22,   22,   22,  206,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -200,
-     -200, -200
-    },
-
-    {
-        7, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201,  207, -201, -201, -201, -201, -201,
-     -201, -201, -201, -201, -201, -201, -201, -201, -201, -201,
-     -201, -201
-
-    },
-
-    {
-        7, -202, -202, -202, -202,   46,   22, -202, -202,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,  208,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -202,
-     -202, -202
-    },
-
-    {
-        7, -203, -203, -203, -203,   46,   22, -203, -203,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,  209,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -203,
-     -203, -203
-
-    },
-
-    {
-        7, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204, -204, -204, -204, -204, -204, -204, -204, -204,
-     -204, -204
-    },
-
-    {
-        7, -205, -205, -205, -205, -205, -205, -205, -205,  210,
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205, -205, -205, -205, -205, -205, -205, -205, -205,
-     -205, -205
-
-    },
-
-    {
-        7, -206, -206, -206, -206,   46,   22, -206, -206,   47,
-       22,  211,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -206,
-     -206, -206
-    },
-
-    {
-        7, -207, -207, -207, -207, -207, -207, -207, -207,  212,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207,  213, -207, -207, -207, -207,
-     -207, -207, -207, -207, -207, -207, -207, -207, -207, -207,
-     -207, -207
-
-    },
-
-    {
-        7, -208, -208, -208, -208,   46,   22, -208, -208,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,  214,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -208,
-     -208, -208
-    },
-
-    {
-        7, -209, -209, -209, -209,   46,   22, -209, -209,   47,
-      215,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -209,
-     -209, -209
-
-    },
-
-    {
-        7, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210, -210, -210, -210, -210, -210, -210, -210, -210,
-     -210, -210
-    },
-
-    {
-        7, -211, -211, -211, -211,   46,   22, -211, -211,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,  216,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -211,
-     -211, -211
-
-    },
-
-    {
-        7, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212, -212, -212, -212, -212, -212, -212, -212, -212,
-     -212, -212
-    },
-
-    {
-        7, -213, -213, -213, -213, -213, -213, -213, -213,  217,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213, -213, -213, -213, -213, -213, -213, -213, -213,
-     -213, -213
-
-    },
-
-    {
-        7, -214, -214, -214, -214,  218,   22, -214, -214,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -214,
-     -214, -214
-    },
-
-    {
-        7, -215, -215, -215, -215,   46,   22, -215, -215,   47,
-       22,   22,  219,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -215,
-     -215, -215
-
-    },
-
-    {
-        7, -216, -216, -216, -216,   46,   22, -216, -216,   47,
-      220,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -216,
-     -216, -216
-    },
-
-    {
-        7, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217, -217, -217, -217, -217, -217, -217, -217, -217,
-     -217, -217
-
-    },
-
-    {
-        7, -218, -218, -218, -218, -218, -218, -218, -218,  221,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218, -218, -218, -218, -218, -218, -218, -218, -218,
-     -218, -218
-    },
-
-    {
-        7, -219, -219, -219, -219,   46,   22, -219, -219,   47,
-       22,   22,   22,   22,  222,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -219,
-     -219, -219
-
-    },
-
-    {
-        7, -220, -220, -220, -220,   46,   22, -220, -220,   47,
-       22,   22,  223,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -220,
-     -220, -220
-    },
-
-    {
-        7, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221, -221, -221, -221, -221, -221, -221, -221, -221,
-     -221, -221
-
-    },
-
-    {
-        7, -222, -222, -222, -222,  224,   22, -222, -222,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -222,
-     -222, -222
-    },
-
-    {
-        7, -223, -223, -223, -223,   46,   22, -223, -223,   47,
-       22,   22,   22,   22,  225,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -223,
-     -223, -223
-
-    },
-
-    {
-        7, -224, -224, -224, -224, -224, -224, -224, -224,  226,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224, -224, -224, -224, -224, -224, -224, -224, -224,
-     -224, -224
-    },
-
-    {
-        7, -225, -225, -225, -225,  227,   22, -225, -225,   47,
-       22,   22,   22,   22,   22,   22,   22,   22,   22,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   48,   22,
-       22,   22,   22,   22,   22,   22,   22,   22,   22, -225,
-     -225, -225
-
-    },
-
-    {
-        7, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226, -226, -226, -226, -226, -226, -226, -226, -226,
-     -226, -226
-    },
-
-    {
-        7, -227, -227, -227, -227, -227, -227, -227, -227,  228,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227, -227, -227, -227, -227, -227, -227, -227, -227,
-     -227, -227
-
-    },
-
-    {
-        7, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228, -228, -228, -228, -228, -228, -228, -228, -228,
-     -228, -228
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 39
-#define YY_END_OF_BUFFER 40
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[229] =
-    {   0,
-        0,    0,    0,    0,    0,    0,   40,   37,   36,   37,
-       37,   37,   38,   38,   39,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,   11,   10,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,   30,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    4,    3,    0,   32,    0,    0,    0,    0,    0,
-       34,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    5,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,   23,    0,    0,    0,    0,
-
-        0,    0,    0,    0,    0,   22,    2,    1,    0,    0,
-        0,    0,    0,    0,    0,    6,    0,    0,    0,    0,
-        0,    0,    0,   28,    0,    0,    0,    0,    0,    0,
-       29,    0,    0,    0,    0,    0,    0,    0,    0,   26,
-        0,    0,    0,    0,    0,    0,    0,   27,    0,   31,
-        0,    0,    0,    0,    0,    0,    0,   26,    0,    0,
-       33,    0,    0,    0,    0,   35,   24,    0,    0,    0,
-        0,    0,    0,    0,    0,   25,    0,    0,    0,   24,
-       20,    0,    0,   18,    0,   16,    0,    0,   21,   19,
-       17,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-
-        0,    0,    0,   14,    0,    0,    0,    0,    0,   12,
-        0,   15,    0,    0,    0,    0,   13,    0,    0,    0,
-        9,    0,    0,    0,    0,    7,    0,    8
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    4,    1,    1,
-        1,    1,    1,    1,    1,    1,    5,    6,    6,    6,
-        6,    6,    6,    6,    6,    6,    6,    1,    7,    8,
-        1,    9,    1,    1,   10,   11,   12,   13,   14,   15,
-       16,   17,   18,    6,    6,   19,   20,   21,   22,   23,
-        6,   24,   25,   26,    6,   27,    6,    6,    6,    6,
-        1,    1,    1,    1,   28,    1,   29,    6,    6,    6,
-
-        6,    6,   30,    6,    6,    6,    6,   31,   32,    6,
-       33,   34,   35,    6,   36,   37,   38,    6,    6,    6,
-        6,    6,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-       39,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-       40,    1,    1,   41,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium-postlatex-raw.l"
-#line 4 "apertium-postlatex-raw.l"
-
-
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-#include <apertium/latex_accentsmap.h>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-AccentsMap accentsMap(true);
-wstring closesym = L"";
-string memconv = "";
-
-wstring convertir(string const &multibyte, int const length)
-{
-  memconv.append(multibyte.c_str(), length);
-  int tam = memconv.size();
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    delete[] retval;
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    delete[] retval;
-    return ret;
-  }
-}
-
-
-
-
-
-
-#line 2471 "apertium_postlatex_raw.cc"
-
-#define INITIAL 0
-#define mathenv 1
-#define readbrackets 2
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 78 "apertium-postlatex-raw.l"
-
-
-
-
-#line 2679 "apertium_postlatex_raw.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 82 "apertium-postlatex-raw.l"
-{
-	fputws(L"\"",yyout);
-}
-	YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 85 "apertium-postlatex-raw.l"
-{
-	fputws(L"\'",yyout);
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 88 "apertium-postlatex-raw.l"
-{
-	fputws(L"<",yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 91 "apertium-postlatex-raw.l"
-{
-	fputws(L">",yyout);
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 94 "apertium-postlatex-raw.l"
-{
-	fputws(L"\\&",yyout);
-}
-	YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 97 "apertium-postlatex-raw.l"
-{
-	fputws(L"&",yyout);
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 101 "apertium-postlatex-raw.l"
-{
-        fputws(L"\\{", yyout);
-}
-	YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 105 "apertium-postlatex-raw.l"
-{
-        fputws(L"\\}", yyout);
-}
-	YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 109 "apertium-postlatex-raw.l"
-{
-        fputws(L"\\%", yyout);
-}
-	YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 115 "apertium-postlatex-raw.l"
-{
-	fputws(L"?`",yyout);
-}
-	YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 119 "apertium-postlatex-raw.l"
-{
-	fputws(L"!`",yyout);
-}
-	YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 125 "apertium-postlatex-raw.l"
-{
-	BEGIN(mathenv);
-	fputws(L"$$",yyout);
-}
-	YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 130 "apertium-postlatex-raw.l"
-{
-	fputws(L"$$",yyout);
-	BEGIN(0);
-}
-	YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 136 "apertium-postlatex-raw.l"
-{
-	BEGIN(mathenv);
-	fputws(L"$",yyout);
-}
-	YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 141 "apertium-postlatex-raw.l"
-{
-	fputws(L"$",yyout);
-	BEGIN(0);
-}
-	YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 146 "apertium-postlatex-raw.l"
-{
-	fputws(L"\\(",yyout);
-}
-	YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 150 "apertium-postlatex-raw.l"
-{
-	fputws(L"\\)",yyout);
-}
-	YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 154 "apertium-postlatex-raw.l"
-{
-	fputws(L"\\[",yyout);
-}
-	YY_BREAK
-case 19:
-YY_RULE_SETUP
-#line 158 "apertium-postlatex-raw.l"
-{
-	fputws(L"\\]",yyout);
-}
-	YY_BREAK
-case 20:
-YY_RULE_SETUP
-#line 163 "apertium-postlatex-raw.l"
-{
-	fputws(L"{",yyout);
-}
-	YY_BREAK
-case 21:
-YY_RULE_SETUP
-#line 167 "apertium-postlatex-raw.l"
-{
-	fputws(L"}",yyout);
-}
-	YY_BREAK
-case 22:
-YY_RULE_SETUP
-#line 171 "apertium-postlatex-raw.l"
-{
-	fputws(L"~",yyout);
-}
-	YY_BREAK
-case 23:
-YY_RULE_SETUP
-#line 177 "apertium-postlatex-raw.l"
-{
-	fputws(L"\\\\",yyout);
-}
-	YY_BREAK
-case 24:
-/* rule 24 can match eol */
-YY_RULE_SETUP
-#line 181 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"\%")+convertir(yytext+9,yyleng-9)).c_str(),yyout);
-}
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 185 "apertium-postlatex-raw.l"
-{
-}
-	YY_BREAK
-case 26:
-/* rule 26 can match eol */
-YY_RULE_SETUP
-#line 189 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"[")+convertir(yytext+7,yyleng-7)).c_str(),yyout);
-}
-	YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 192 "apertium-postlatex-raw.l"
-{
-	fputws(L"]", yyout);
-}
-	YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 196 "apertium-postlatex-raw.l"
-{
-        fputws(L"\\verb", yyout);
-}
-	YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 200 "apertium-postlatex-raw.l"
-{
-        ;
-}
-	YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 205 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"\\begin{")+convertir(yytext+1,yyleng-2)+wstring(L"}")).c_str(),yyout);
-}
-	YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 209 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"\\begin{")+convertir(yytext+1,yyleng-7)+wstring(L"*}")).c_str(),yyout);
-}
-	YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 213 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"\\end{")+convertir(yytext+2,yyleng-3)+wstring(L"}")).c_str(),yyout);
-}
-	YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 217 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"\\end{")+convertir(yytext+2,yyleng-8)+wstring(L"*}")).c_str(),yyout);
-}
-	YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 221 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"\\")+convertir(yytext+1,yyleng-3)).c_str(),yyout);
-}
-	YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 225 "apertium-postlatex-raw.l"
-{
-	fputws((wstring(L"\\")+convertir(yytext+1,yyleng-8)+wstring(L"*")).c_str(),yyout);
-}
-	YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 229 "apertium-postlatex-raw.l"
-{
-        fputws(L"\\#", yyout);
-}
-	YY_BREAK
-case 37:
-/* rule 37 can match eol */
-YY_RULE_SETUP
-#line 234 "apertium-postlatex-raw.l"
-{
-	fputws(convertir(yytext,yyleng).c_str(),yyout);
-}
-	YY_BREAK
-case 38:
-/* rule 38 can match eol */
-YY_RULE_SETUP
-#line 238 "apertium-postlatex-raw.l"
-{
-	fputws(convertir(yytext,yyleng).c_str(),yyout);
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(mathenv):
-case YY_STATE_EOF(readbrackets):
-#line 243 "apertium-postlatex-raw.l"
-{
-	return 0;
-}
-	YY_BREAK
-case 39:
-YY_RULE_SETUP
-#line 246 "apertium-postlatex-raw.l"
-ECHO;
-	YY_BREAK
-#line 3010 "apertium_postlatex_raw.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 246 "apertium-postlatex-raw.l"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-
-  cerr << "LaTeX format postprocessor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  yylex();
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_prelatex.cc b/apertium/apertium_prelatex.cc
deleted file mode 100644
index 6d0eafa..0000000
--- a/apertium/apertium_prelatex.cc
+++ /dev/null
@@ -1,3751 +0,0 @@
-#line 2 "apertium_prelatex.cc"
-
-#line 4 "apertium_prelatex.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][56] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
-        0,    0,    0,    0,    0,    0
-    },
-
-    {
-        7,    8,    8,    8,    9,   10,   11,    8,   12,   13,
-       14,   15,    8,    8,    8,    8,    8,    8,    8,   16,
-       17,   18,    8,    8,    8,    8,    8,    8,   19,   20,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    8,   21,    8,   22,   23
-    },
-
-    {
-        7,    8,    8,    8,    9,   10,   11,    8,   12,   13,
-       14,   15,    8,    8,    8,    8,    8,    8,    8,   16,
-       17,   18,    8,    8,    8,    8,    8,    8,   19,   20,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    8,    8,    8,    8,    8,    8,    8,    8,    8,
-        8,    8,   21,    8,   22,   23
-    },
-
-    {
-        7,   24,   24,   24,   24,   24,   24,   24,   25,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24
-    },
-
-    {
-        7,   24,   24,   24,   24,   24,   24,   24,   25,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
-       24,   24,   24,   24,   24,   24
-
-    },
-
-    {
-        7,   26,   27,   27,   27,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26,   26,   28,   26,
-       26,   26,   28,   28,   28,   28,   28,   28,   26,   26,
-       26,   26,   26,   26,   28,   28,   28,   28,   28,   28,
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   29,   26,   30,   26
-    },
-
-    {
-        7,   26,   27,   27,   27,   26,   26,   26,   26,   26,
-       26,   26,   26,   26,   26,   26,   26,   26,   28,   26,
-       26,   26,   28,   28,   28,   28,   28,   28,   26,   26,
-       26,   26,   26,   26,   28,   28,   28,   28,   28,   28,
-
-       28,   28,   28,   28,   28,   28,   28,   28,   28,   28,
-       28,   28,   29,   26,   30,   26
-    },
-
-    {
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,   -7,
-       -7,   -7,   -7,   -7,   -7,   -7
-    },
-
-    {
-        7,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8,
-       -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        7,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   -9,
-       -9,   -9,   -9,   -9,   -9,   -9
-
-    },
-
-    {
-        7,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,   31,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,  -10,
-      -10,  -10,  -10,  -10,  -10,  -10
-    },
-
-    {
-        7,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,  -11,
-      -11,  -11,   32,  -11,  -11,  -11,   32,   32,  -11,  -11,
-      -11,  -11,  -11,  -11,   32,  -11,  -11,  -11,  -11,  -11,
-
-      -11,  -11,  -11,  -11,  -11,   32,  -11,  -11,   32,  -11,
-       32,  -11,  -11,  -11,  -11,  -11
-    },
-
-    {
-        7,  -12,  -12,  -12,  -12,  -12,  -12,  -12,   33,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12,
-      -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        7,   34,   34,  -13,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34
-    },
-
-    {
-        7,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,  -14,
-      -14,  -14,  -14,  -14,  -14,  -14
-
-    },
-
-    {
-        7,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15,
-      -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        7,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-
-      -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16,
-      -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    {
-        7,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,  -17,
-      -17,  -17,  -17,  -17,  -17,  -17
-    },
-
-    {
-        7,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,   35,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,  -18,
-      -18,  -18,  -18,  -18,  -18,  -18
-    },
-
-    {
-        7,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       37,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36
-
-    },
-
-    {
-        7,  -20,  -20,  -20,  -20,  -20,   38,   39,  -20,   40,
-       41,   38,   42,   43,  -20,  -20,   44,  -20,  -20,  -20,
-      -20,  -20,   45,   45,   45,   46,   45,   45,   47,   48,
-       49,   38,  -20,   38,   45,   50,   46,   46,   51,   45,
-       45,   45,   46,   52,   45,   45,   45,   46,   45,   53,
-       54,   55,   56,  -20,  -20,   44
-    },
-
-    {
-        7,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,   57,
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-
-      -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,  -21,
-      -21,  -21,  -21,  -21,  -21,  -21
-    },
-
-    {
-        7,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,  -22,
-      -22,  -22,  -22,  -22,  -22,  -22
-    },
-
-    {
-        7,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,  -23,
-      -23,  -23,  -23,  -23,  -23,  -23
-    },
-
-    {
-        7,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,  -24,
-      -24,  -24,  -24,  -24,  -24,  -24
-
-    },
-
-    {
-        7,  -25,  -25,  -25,  -25,  -25,  -25,  -25,   58,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,  -25,
-      -25,  -25,  -25,  -25,  -25,  -25
-    },
-
-    {
-        7,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-
-      -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,  -26,
-      -26,  -26,  -26,  -26,  -26,  -26
-    },
-
-    {
-        7,  -27,   59,   59,   59,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,  -27,
-      -27,  -27,   60,  -27,   61,  -27
-    },
-
-    {
-        7,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,  -28,
-      -28,  -28,  -28,  -28,   62,  -28,  -28,  -28,   63,  -28,
-
-      -28,  -28,   63,   63,   63,   63,   63,   63,  -28,  -28,
-      -28,  -28,  -28,  -28,   63,   63,   63,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-       63,   63,  -28,  -28,  -28,  -28
-    },
-
-    {
-        7,  -29,   64,   64,   64,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,  -29,
-      -29,  -29,  -29,  -29,  -29,  -29
-
-    },
-
-    {
-        7,  -30,   65,   65,   65,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,  -30,
-      -30,  -30,  -30,  -30,  -30,  -30
-    },
-
-    {
-        7,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-
-      -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,  -31,
-      -31,  -31,  -31,  -31,  -31,  -31
-    },
-
-    {
-        7,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,  -32,
-      -32,  -32,  -32,  -32,  -32,  -32
-    },
-
-    {
-        7,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,  -33,
-      -33,  -33,  -33,  -33,  -33,  -33
-    },
-
-    {
-        7,   34,   34,  -34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34,   34,   34,   34,   34,
-       34,   34,   34,   34,   34,   34
-
-    },
-
-    {
-        7,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,  -35,
-      -35,  -35,  -35,  -35,  -35,  -35
-    },
-
-    {
-        7,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       37,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-
-       36,   36,   36,   36,   36,   36,   36,   36,   36,   36,
-       36,   36,   36,   36,   36,   36
-    },
-
-    {
-        7,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,  -37,
-      -37,  -37,  -37,  -37,  -37,  -37
-    },
-
-    {
-        7,   66,   66,  -38,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   67,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   68,   66,   66,   66
-    },
-
-    {
-        7,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,   69,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,  -39,
-      -39,  -39,  -39,  -39,  -39,  -39
-
-    },
-
-    {
-        7,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,  -40,
-      -40,  -40,  -40,  -40,  -40,  -40
-    },
-
-    {
-        7,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-
-      -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,  -41,
-      -41,  -41,  -41,  -41,  -41,  -41
-    },
-
-    {
-        7,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,  -42,
-      -42,  -42,  -42,  -42,  -42,  -42
-    },
-
-    {
-        7,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,  -43,
-      -43,  -43,  -43,  -43,  -43,  -43
-    },
-
-    {
-        7,   66,   66,  -44,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   66,   66,   66,   66,   66,   66,
-       66,   66,   70,   66,   66,   66
-
-    },
-
-    {
-        7,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,  -45,  -45,   71,  -45,  -45,  -45,  -45,  -45,
-      -45,  -45,   45,   45,   45,   45,   45,   45,  -45,  -45,
-      -45,  -45,  -45,  -45,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -45,  -45,  -45,  -45
-    },
-
-    {
-        7,   66,   66,  -46,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   72,   66,   66,   66,   66,   66,
-       66,   66,   73,   73,   73,   73,   73,   73,   66,   66,
-       66,   66,   66,   66,   73,   73,   73,   73,   73,   73,
-
-       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
-       73,   73,   70,   66,   66,   66
-    },
-
-    {
-        7,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,  -47,
-      -47,  -47,  -47,  -47,  -47,  -47
-    },
-
-    {
-        7,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,  -48,
-      -48,  -48,  -48,  -48,  -48,  -48
-    },
-
-    {
-        7,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,  -49,
-      -49,  -49,  -49,  -49,  -49,  -49
-
-    },
-
-    {
-        7,   66,   66,  -50,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   72,   66,   66,   66,   66,   66,
-       66,   66,   73,   73,   73,   73,   73,   73,   66,   66,
-       66,   66,   66,   66,   73,   73,   73,   73,   74,   73,
-       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
-       73,   73,   70,   66,   66,   66
-    },
-
-    {
-        7,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,  -51,  -51,   71,  -51,  -51,  -51,  -51,  -51,
-      -51,  -51,   45,   45,   45,   45,   45,   45,  -51,  -51,
-      -51,  -51,  -51,  -51,   45,   45,   45,   45,   45,   45,
-
-       45,   45,   45,   45,   75,   45,   45,   45,   45,   45,
-       45,   45,  -51,  -51,  -51,  -51
-    },
-
-    {
-        7,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,  -52,  -52,   71,  -52,  -52,  -52,  -52,  -52,
-      -52,  -52,   45,   45,   45,   45,   45,   45,  -52,  -52,
-      -52,  -52,  -52,  -52,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -52,  -52,  -52,  -52
-    },
-
-    {
-        7,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,  -53,
-      -53,  -53,  -53,  -53,   71,  -53,  -53,  -53,  -53,  -53,
-
-      -53,  -53,   45,   45,   45,   45,   45,   45,  -53,  -53,
-      -53,  -53,  -53,  -53,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,   76,  -53,  -53,  -53
-    },
-
-    {
-        7,   66,   66,  -54,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   72,   66,   66,   66,   66,   66,
-       66,   66,   73,   73,   73,   73,   73,   73,   66,   66,
-       66,   66,   66,   66,   73,   73,   73,   73,   73,   73,
-       73,   73,   73,   73,   73,   73,   73,   73,   77,   73,
-       73,   73,   70,   66,   66,   66
-
-    },
-
-    {
-        7,   66,   66,  -55,   66,   66,   66,   66,   66,   66,
-       66,   66,   66,   66,   72,   66,   66,   66,   66,   66,
-       66,   66,   73,   73,   73,   73,   73,   73,   66,   66,
-       66,   66,   66,   66,   73,   73,   73,   73,   78,   73,
-       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
-       73,   73,   70,   66,   66,   66
-    },
-
-    {
-        7,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-
-      -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,  -56,
-      -56,  -56,  -56,  -56,  -56,  -56
-    },
-
-    {
-        7,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,   79,  -57,  -57,  -57,   80,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,   81,  -57,  -57,  -57,  -57,  -57,
-      -57,  -57,  -57,  -57,  -57,   82,  -57,  -57,   83,  -57,
-      -57,  -57,  -57,  -57,  -57,  -57
-    },
-
-    {
-        7,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,  -58,
-      -58,  -58,  -58,  -58,  -58,  -58
-    },
-
-    {
-        7,  -59,   59,   59,   59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,  -59,
-      -59,  -59,   60,  -59,   61,  -59
-
-    },
-
-    {
-        7,  -60,   64,   64,   64,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,  -60,
-      -60,  -60,  -60,  -60,  -60,  -60
-    },
-
-    {
-        7,  -61,   65,   65,   65,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-
-      -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,  -61,
-      -61,  -61,  -61,  -61,  -61,  -61
-    },
-
-    {
-        7,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,  -62,
-      -62,  -62,  -62,  -62,  -62,  -62
-    },
-
-    {
-        7,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,  -63,
-      -63,  -63,  -63,  -63,   62,  -63,  -63,  -63,   63,  -63,
-
-      -63,  -63,   63,   63,   63,   63,   63,   63,  -63,  -63,
-      -63,  -63,  -63,  -63,   63,   63,   63,   63,   63,   63,
-       63,   63,   63,   63,   63,   63,   63,   63,   63,   63,
-       63,   63,  -63,  -63,  -63,  -63
-    },
-
-    {
-        7,  -64,   64,   64,   64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,  -64,
-      -64,  -64,  -64,  -64,  -64,  -64
-
-    },
-
-    {
-        7,  -65,   65,   65,   65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,  -65,
-      -65,  -65,  -65,  -65,  -65,  -65
-    },
-
-    {
-        7,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-
-      -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,  -66,
-      -66,  -66,  -66,  -66,  -66,  -66
-    },
-
-    {
-        7,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-       84,   84,  -67,  -67,  -67,  -67,  -67,  -67,  -67,  -67,
-      -67,  -67,  -67,  -67,  -67,  -67
-    },
-
-    {
-        7,   85,   85,  -68,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   86,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85
-    },
-
-    {
-        7,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,   69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,  -69,
-      -69,  -69,  -69,  -69,  -69,  -69
-
-    },
-
-    {
-        7,   85,   85,  -70,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
-       85,   85,   85,   85,   85,   85
-    },
-
-    {
-        7,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-
-      -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,  -71,
-      -71,  -71,  -71,  -71,  -71,  -71
-    },
-
-    {
-        7,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,  -72,
-      -72,  -72,  -72,  -72,  -72,  -72
-    },
-
-    {
-        7,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,  -73,
-      -73,  -73,  -73,  -73,   71,  -73,  -73,  -73,  -73,  -73,
-
-      -73,  -73,   45,   45,   45,   45,   45,   45,  -73,  -73,
-      -73,  -73,  -73,  -73,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -73,  -73,  -73,  -73
-    },
-
-    {
-        7,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,  -74,  -74,   71,  -74,  -74,  -74,  -74,  -74,
-      -74,  -74,   45,   45,   45,   45,   45,   45,  -74,  -74,
-      -74,  -74,  -74,  -74,   45,   45,   45,   45,   45,   87,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -74,  -74,  -74,  -74
-
-    },
-
-    {
-        7,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,  -75,  -75,   71,  -75,  -75,  -75,  -75,  -75,
-      -75,  -75,   45,   45,   45,   45,   45,   45,  -75,  -75,
-      -75,  -75,  -75,  -75,   45,   45,   45,   88,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -75,  -75,  -75,  -75
-    },
-
-    {
-        7,   89,   89,  -76,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-
-       89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
-       89,   89,   89,   89,   89,   89
-    },
-
-    {
-        7,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,  -77,  -77,   71,  -77,  -77,  -77,  -77,  -77,
-      -77,  -77,   45,   45,   45,   45,   45,   45,  -77,  -77,
-      -77,  -77,  -77,  -77,   45,   45,   45,   45,   90,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -77,  -77,  -77,  -77
-    },
-
-    {
-        7,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,  -78,
-      -78,  -78,  -78,  -78,   71,  -78,  -78,  -78,  -78,  -78,
-
-      -78,  -78,   45,   45,   45,   45,   45,   45,  -78,  -78,
-      -78,  -78,  -78,  -78,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   91,   45,   45,
-       45,   45,  -78,  -78,  -78,  -78
-    },
-
-    {
-        7,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,   92,  -79,   93,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,  -79,
-      -79,  -79,  -79,  -79,  -79,  -79
-
-    },
-
-    {
-        7,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,   94,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,  -80,
-      -80,  -80,  -80,  -80,   95,  -80
-    },
-
-    {
-        7,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,   96,  -81,  -81,  -81,   97,  -81,
-
-      -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,  -81,
-      -81,  -81,  -81,  -81,  -81,  -81
-    },
-
-    {
-        7,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,   98,  -82,
-      -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,  -82,
-      -82,  -82,  -82,  -82,   99,  -82
-    },
-
-    {
-        7,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83,  -83,  -83,  100,  -83,
-      -83,  -83,  -83,  -83,  -83,  -83
-    },
-
-    {
-        7,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,  -84,
-      -84,  -84,  -84,  -84,  -84,  -84
-
-    },
-
-    {
-        7,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,  -85,
-      -85,  -85,  -85,  -85,   66,  -85
-    },
-
-    {
-        7,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-
-      101,  101,  -86,  -86,  -86,  -86,  -86,  -86,  -86,  -86,
-      -86,  -86,  -86,  -86,   66,  -86
-    },
-
-    {
-        7,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,  -87,  -87,   71,  -87,  -87,  -87,  -87,  -87,
-      -87,  -87,   45,   45,   45,   45,   45,   45,  -87,  -87,
-      -87,  -87,  -87,  -87,   45,   45,   45,   45,   45,   45,
-      102,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -87,  -87,  -87,  -87
-    },
-
-    {
-        7,  103,  103,  103,  103,  103,  103,  103,  103,  103,
-      103,  103,  103,  103,  104,  103,  103,  103,  -88,  103,
-
-      103,  103,   45,   45,   45,   45,   45,   45,  103,  103,
-      103,  103,  -88,  103,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  103,  103,  103,  103
-    },
-
-    {
-        7,  105,  105,  -89,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105,  105,  105,  105,  105,
-      105,  105,  105,  105,  105,  105
-
-    },
-
-    {
-        7,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,  -90,  -90,   71,  -90,  -90,  -90,  -90,  -90,
-      -90,  -90,   45,   45,   45,   45,   45,   45,  -90,  -90,
-      -90,  -90,  -90,  -90,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,  106,   45,   45,   45,
-       45,   45,  -90,  -90,  -90,  -90
-    },
-
-    {
-        7,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,  -91,  -91,   71,  -91,  -91,  -91,  -91,  -91,
-      -91,  -91,   45,   45,   45,   45,   45,   45,  -91,  -91,
-      -91,  -91,  -91,  -91,   45,  107,   45,   45,   45,   45,
-
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  -91,  -91,  -91,  -91
-    },
-
-    {
-        7,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,  -92,
-      -92,  -92,  -92,  -92,  108,  -92
-    },
-
-    {
-        7,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,  -93,
-      -93,  -93,  -93,  -93,  109,  -93
-    },
-
-    {
-        7,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,  -94,
-      -94,  -94,  -94,  -94,  110,  -94
-
-    },
-
-    {
-        7,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,  -95,
-      -95,  -95,  -95,  -95,  -95,  -95
-    },
-
-    {
-        7,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-
-      -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,  -96,
-      -96,  -96,  -96,  -96,  111,  -96
-    },
-
-    {
-        7,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,  -97,
-      -97,  -97,  -97,  -97,  112,  -97
-    },
-
-    {
-        7,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,  -98,
-      -98,  -98,  -98,  -98,  113,  -98
-    },
-
-    {
-        7,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,  -99,
-      -99,  -99,  -99,  -99,  -99,  -99
-
-    },
-
-    {
-        7, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100, -100, -100, -100, -100, -100, -100,
-     -100, -100, -100, -100,  114, -100
-    },
-
-    {
-        7, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-
-     -101, -101, -101, -101, -101, -101, -101, -101, -101, -101,
-     -101, -101, -101, -101,   84, -101
-    },
-
-    {
-        7, -102, -102, -102, -102, -102, -102, -102, -102, -102,
-     -102, -102, -102, -102,   71, -102, -102, -102, -102, -102,
-     -102, -102,   45,   45,   45,   45,   45,   45, -102, -102,
-     -102, -102, -102, -102,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,  115,   45,   45,   45,   45,   45,
-       45,   45, -102, -102, -102, -102
-    },
-
-    {
-        7, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103, -103, -103, -103, -103,
-     -103, -103, -103, -103, -103, -103
-    },
-
-    {
-        7, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104, -104, -104, -104, -104,
-     -104, -104, -104, -104, -104, -104
-
-    },
-
-    {
-        7, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105, -105, -105, -105, -105, -105, -105,
-     -105, -105, -105, -105,  116, -105
-    },
-
-    {
-        7, -106, -106, -106, -106, -106, -106, -106, -106, -106,
-     -106, -106, -106, -106,   71, -106, -106, -106, -106, -106,
-     -106, -106,   45,   45,   45,   45,   45,   45, -106, -106,
-     -106, -106, -106, -106,  117,   45,   45,   45,   45,   45,
-
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -106, -106, -106, -106
-    },
-
-    {
-        7, -107, -107, -107, -107,  118, -107,  119, -107, -107,
-     -107, -107, -107, -107,   71,  120, -107,  121, -107, -107,
-     -107,  122,   45,   45,   45,   45,   45,   45, -107, -107,
-     -107, -107, -107, -107,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -107,  123, -107, -107
-    },
-
-    {
-        7, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108, -108, -108, -108, -108,
-     -108, -108, -108, -108, -108, -108
-    },
-
-    {
-        7, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109, -109, -109, -109, -109,
-     -109, -109, -109, -109, -109, -109
-
-    },
-
-    {
-        7, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110, -110, -110, -110, -110,
-     -110, -110, -110, -110, -110, -110
-    },
-
-    {
-        7, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-
-     -111, -111, -111, -111, -111, -111, -111, -111, -111, -111,
-     -111, -111, -111, -111, -111, -111
-    },
-
-    {
-        7, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112, -112, -112, -112, -112,
-     -112, -112, -112, -112, -112, -112
-    },
-
-    {
-        7, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113, -113, -113, -113, -113,
-     -113, -113, -113, -113, -113, -113
-    },
-
-    {
-        7, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114, -114, -114, -114, -114,
-     -114, -114, -114, -114, -114, -114
-
-    },
-
-    {
-        7,  124,  124,  124,  124,  124,  124,  124,  124,  124,
-      124,  124,  124,  124,  125,  124,  124,  124, -115,  124,
-      124,  124,   45,   45,   45,   45,   45,   45,  124,  124,
-      124,  124, -115,  124,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45,  124,  124,  124,  124
-    },
-
-    {
-        7, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-
-     -116, -116, -116, -116, -116, -116, -116, -116, -116, -116,
-     -116, -116, -116, -116, -116, -116
-    },
-
-    {
-        7, -117, -117, -117, -117, -117, -117, -117, -117, -117,
-     -117, -117, -117, -117,   71, -117, -117, -117, -117, -117,
-     -117, -117,   45,   45,   45,   45,   45,   45, -117, -117,
-     -117, -117, -117, -117,   45,   45,  126,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -117, -117, -117, -117
-    },
-
-    {
-        7,  127,  127,  127,  127, -118,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127
-    },
-
-    {
-        7,  128,  128,  128,  128,  128,  128, -119,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128
-
-    },
-
-    {
-        7,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129, -120,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129
-    },
-
-    {
-        7,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-      130,  130,  130,  130,  130,  130,  130, -121,  130,  130,
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-      130,  130,  130,  130,  130,  130
-    },
-
-    {
-        7,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131, -122,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131
-    },
-
-    {
-        7,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132, -123,  132,  132
-    },
-
-    {
-        7, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124, -124, -124, -124, -124,
-     -124, -124, -124, -124, -124, -124
-
-    },
-
-    {
-        7, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125, -125, -125, -125, -125,
-     -125, -125, -125, -125, -125, -125
-    },
-
-    {
-        7, -126, -126, -126, -126, -126, -126, -126, -126, -126,
-     -126, -126, -126, -126,   71, -126, -126, -126, -126, -126,
-     -126, -126,   45,   45,   45,   45,   45,   45, -126, -126,
-     -126, -126, -126, -126,   45,   45,   45,   45,   45,   45,
-
-       45,   45,  133,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -126, -126, -126, -126
-    },
-
-    {
-        7,  127,  127,  127,  127,  134,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
-      127,  127,  127,  127,  127,  127
-    },
-
-    {
-        7,  128,  128,  128,  128,  128,  128,  135,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128,  128,  128,  128,  128,
-      128,  128,  128,  128,  128,  128
-    },
-
-    {
-        7,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  136,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129,  129,  129,  129,  129,
-      129,  129,  129,  129,  129,  129
-
-    },
-
-    {
-        7,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-      130,  130,  130,  130,  130,  130,  130,  137,  130,  130,
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-      130,  130,  130,  130,  130,  130,  130,  130,  130,  130,
-      130,  130,  130,  130,  130,  130
-    },
-
-    {
-        7,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  138,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-
-      131,  131,  131,  131,  131,  131,  131,  131,  131,  131,
-      131,  131,  131,  131,  131,  131
-    },
-
-    {
-        7,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  132,  132,  132,  132,  132,  132,  132,
-      132,  132,  132,  139,  132,  132
-    },
-
-    {
-        7, -133, -133, -133, -133, -133, -133, -133, -133, -133,
-     -133, -133, -133, -133,   71, -133, -133, -133, -133, -133,
-
-     -133, -133,   45,   45,   45,   45,   45,   45, -133, -133,
-     -133, -133, -133, -133,  140,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -133, -133, -133, -133
-    },
-
-    {
-        7, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134, -134, -134, -134, -134,
-     -134, -134, -134, -134, -134, -134
-
-    },
-
-    {
-        7, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135, -135, -135, -135, -135,
-     -135, -135, -135, -135, -135, -135
-    },
-
-    {
-        7, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-
-     -136, -136, -136, -136, -136, -136, -136, -136, -136, -136,
-     -136, -136, -136, -136, -136, -136
-    },
-
-    {
-        7, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137, -137, -137, -137, -137,
-     -137, -137, -137, -137, -137, -137
-    },
-
-    {
-        7, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138, -138, -138, -138, -138,
-     -138, -138, -138, -138, -138, -138
-    },
-
-    {
-        7, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139, -139, -139, -139, -139,
-     -139, -139, -139, -139, -139, -139
-
-    },
-
-    {
-        7, -140, -140, -140, -140, -140, -140, -140, -140, -140,
-     -140, -140, -140, -140,   71, -140, -140, -140, -140, -140,
-     -140, -140,   45,   45,   45,   45,   45,   45, -140, -140,
-     -140, -140, -140, -140,   45,   45,   45,   45,   45,  141,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -140, -140, -140, -140
-    },
-
-    {
-        7, -141, -141, -141, -141, -141, -141, -141, -141, -141,
-     -141, -141, -141, -141,   71, -141, -141, -141, -141, -141,
-     -141, -141,   45,   45,   45,   45,   45,   45, -141, -141,
-     -141, -141, -141, -141,   45,   45,   45,   45,  142,   45,
-
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -141, -141, -141, -141
-    },
-
-    {
-        7, -142, -142, -142, -142, -142, -142, -142, -142, -142,
-     -142, -142, -142, -142,   71, -142, -142, -142, -142, -142,
-     -142, -142,   45,   45,   45,   45,   45,   45,  143, -142,
-     -142, -142, -142, -142,   45,   45,   45,   45,   45,   45,
-       45,   45,   45,   45,   45,   45,   45,   45,   45,   45,
-       45,   45, -142, -142, -142, -142
-    },
-
-    {
-        7,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      145,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144
-    },
-
-    {
-        7,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      145,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144,  144,  144,  144,  144,
-      144,  144,  144,  144,  144,  144
-
-    },
-
-    {
-        7, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145, -145, -145, -145, -145,
-     -145, -145, -145, -145, -145, -145
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 59
-#define YY_END_OF_BUFFER 60
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[146] =
-    {   0,
-        0,    0,    0,    0,   23,   23,   60,   57,   57,   57,
-       51,   37,   18,   56,   52,   53,   54,   57,   57,   57,
-       32,   33,   34,   58,   38,   59,   23,   25,   23,   26,
-       50,    3,   35,   18,   49,    0,   20,    0,   15,   31,
-       55,   45,   46,    0,   28,   28,   47,   17,   48,   28,
-       28,    2,   28,   28,   28,   29,    0,   36,   23,   23,
-       26,   24,   25,   23,   26,   16,   16,   16,   14,   16,
-       27,   16,   16,   16,   28,    0,   16,   16,    0,    0,
-        0,    0,    0,    4,    0,    0,   28,   28,    0,   28,
-       28,    0,    0,    0,   12,    0,    0,    0,   11,    0,
-
-        0,   28,   22,   22,    0,   28,   28,   10,    8,    6,
-        9,    7,    5,   13,   28,    1,   28,    0,    0,    0,
-        0,    0,    0,   21,   21,   28,    0,    0,    0,    0,
-        0,    0,   28,   40,   43,   44,   42,   41,   39,   28,
-       28,   28,    0,    0,   19
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
-        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    2,    5,    6,    7,    8,    9,   10,   11,   12,
-       13,   14,   15,    1,    1,   16,   17,   18,   18,   18,
-       18,   18,   18,   18,   18,   18,   18,    1,    1,   19,
-       16,   20,   21,    1,   22,   23,   23,   23,   24,   23,
-       23,   25,   23,   23,   23,   23,   23,   23,   26,   23,
-       23,   23,   27,   23,   27,   23,   23,   23,   23,   23,
-       28,   29,   30,   31,   32,   33,   34,   35,   36,   37,
-
-       38,   23,   39,   23,   40,   41,   42,   43,   23,   44,
-       45,   46,   23,   47,   48,   49,   50,   51,   23,   23,
-       23,   23,   52,   53,   54,   55,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium-prelatex.l"
-#line 4 "apertium-prelatex.l"
-
-
-
-#include <cstdlib>
-#include <iostream>
-#include <map>
-#include <string>
-#include <vector>
-#include <apertium/latex_accentsmap.h>
-
-extern "C" {
-#if !defined(__STDC__)
-# define __STDC__ 1
-#endif
-#include <regex.h>
-}
-
-#include <string>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-AccentsMap accentsMap(false);
-wstring closesym = L"";
-string memconv = "";
-//For german babel detection
-bool ngermanbabel = false;
-
-wstring convertir(string const &multibyte, int const length)
-{
-  memconv.append(multibyte.c_str(), length);
-  int tam = memconv.size();
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    delete[] retval;
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    delete[] retval;
-    return ret;
-  }
-}
-
-
-
-
-
-
-#line 1919 "apertium_prelatex.cc"
-
-#define INITIAL 0
-#define mathenv 1
-#define readbrackets 2
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-        static int yy_start_stack_ptr = 0;
-        static int yy_start_stack_depth = 0;
-        static int *yy_start_stack = NULL;
-    
-    static void yy_push_state (int new_state );
-    
-    static void yy_pop_state (void );
-    
-    static int yy_top_state (void );
-    
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 80 "apertium-prelatex.l"
-
-
-
-
-
-
-#line 2129 "apertium_prelatex.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 86 "apertium-prelatex.l"
-{ //This information is lost
-	fputws(convertir(yytext+3,yyleng-4).c_str(),yyout);
-}
-	YY_BREAK
-case 2:
-YY_RULE_SETUP
-#line 89 "apertium-prelatex.l"
-{
-	fputws(L"ł", yyout);
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 93 "apertium-prelatex.l"
-{ //When usepackage[ngerman]{babel} is present (not checked).
-	if(!ngermanbabel)
-		fputws(convertir(yytext,yyleng).c_str(),yyout);
-	else {
-		switch(yytext[1]){
-			case 'o': fputws(L"ö", yyout); break;
-			case 'O': fputws(L"Ö", yyout); break;
-			case 'a': fputws(L"ä", yyout); break;
-			case 'A': fputws(L"Ä", yyout); break;
-			case 'u': fputws(L"ü", yyout); break;
-			case 'U': fputws(L"Ü", yyout); break;
-			case 's': fputws(L"ß", yyout); break;
-			case 'S': fputws(L"ß", yyout); break;
-		}
-	}
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 112 "apertium-prelatex.l"
-{
-	switch(yytext[1]){
-	case '^':
-		if(yytext[4]=='i')
-			fputws(L"î", yyout);
-		else
-			fputws(L"ĵ",yyout);
-		break;
-	case '\"':
-		if(yytext[4]=='i')
-			fputws(L"ï",yyout);
-		else
-			fputws(L"j",yyout); //should actually be j with umlaut
-		break;
-	case '\'':
-		if(yytext[4]=='i')
-			fputws(L"í",yyout);
-		else
-			fputws(L"j",yyout); //should actually be j with accent
-		break;
-	case '`':
-		if(yytext[4]=='i')
-			fputws(L"ì",yyout);
-		else
-			fputws(L"k",yyout); //should actually be j with accent
-		break;
-	}
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 141 "apertium-prelatex.l"
-{
-	fputws(L"œ",yyout);
-}
-	YY_BREAK
-case 6:
-YY_RULE_SETUP
-#line 145 "apertium-prelatex.l"
-{
-	fputws(L"Œ",yyout);
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 149 "apertium-prelatex.l"
-{
-	fputws(L"æ",yyout);
-}
-	YY_BREAK
-case 8:
-YY_RULE_SETUP
-#line 153 "apertium-prelatex.l"
-{
-	fputws(L"Æ",yyout);
-}
-	YY_BREAK
-case 9:
-YY_RULE_SETUP
-#line 157 "apertium-prelatex.l"
-{
-	fputws(L"å",yyout);
-}
-	YY_BREAK
-case 10:
-YY_RULE_SETUP
-#line 161 "apertium-prelatex.l"
-{
-	fputws(L"Å",yyout);
-}
-	YY_BREAK
-case 11:
-YY_RULE_SETUP
-#line 165 "apertium-prelatex.l"
-{
-	fputws(L"ø",yyout);
-}
-	YY_BREAK
-case 12:
-YY_RULE_SETUP
-#line 169 "apertium-prelatex.l"
-{
-	fputws(L"Ø",yyout);
-}
-	YY_BREAK
-case 13:
-YY_RULE_SETUP
-#line 173 "apertium-prelatex.l"
-{
-	fputws(L"ß",yyout);
-}
-	YY_BREAK
-case 14:
-YY_RULE_SETUP
-#line 177 "apertium-prelatex.l"
-{
-        fputws((wstring(L"<HASH_")+convertir(yytext+2,yyleng-2)+wstring(L"/>")).c_str(),yyout);
-}
-	YY_BREAK
-case 15:
-YY_RULE_SETUP
-#line 181 "apertium-prelatex.l"
-{
-        fputws(L"<HASH/>", yyout);
-}
-	YY_BREAK
-case 16:
-YY_RULE_SETUP
-#line 185 "apertium-prelatex.l"
-{
-	wstring ws = convertir(yytext,yyleng).c_str();
-
-	wstring result = accentsMap.get(
-	  L""+ws.substr(1,1)+ (
-	    (yyleng==3)? ws.substr(2,1) : ws.substr(3,1)
-	  ));
-
-        if(result == L"")
-        {
-	  fputws((wstring(L"<")+convertir(yytext+1,yyleng)+wstring(L"/>")).c_str(),yyout);
-        }
-        else
-        {
-  	  fputws(result.c_str(), yyout);
-        }
-}
-	YY_BREAK
-case 17:
-YY_RULE_SETUP
-#line 203 "apertium-prelatex.l"
-{
-	fputws(L"<BR/>",yyout);
-}
-	YY_BREAK
-case 18:
-YY_RULE_SETUP
-#line 207 "apertium-prelatex.l"
-{
-	if(yytext[yyleng-1]=='\r')
-		fputws((wstring(L"<COMMENT>")+convertir(yytext+1,yyleng-2)+wstring(L"</COMMENT>\r")).c_str(),yyout);
-	else
-		fputws((wstring(L"<COMMENT>")+convertir(yytext+1,yyleng-1)+wstring(L"</COMMENT>")).c_str(),yyout);
-}
-	YY_BREAK
-case 19:
-/* rule 19 can match eol */
-YY_RULE_SETUP
-#line 214 "apertium-prelatex.l"
-{
-	wstring ws = convertir(yytext+12,yyleng-13);
-	fputws((wstring(L"<usepackage/><PARAM>")+ws+wstring(L"</PARAM>")).c_str(), yyout);
-	if(ws.find(L"ngerman") >= 0)
-		ngermanbabel = true;
-}
-	YY_BREAK
-case 20:
-/* rule 20 can match eol */
-YY_RULE_SETUP
-#line 221 "apertium-prelatex.l"
-{
-	fputws((wstring(L"<PARAM>")+convertir(yytext+1,yyleng-2)+wstring(L"</PARAM>")).c_str(), yyout);
-}
-	YY_BREAK
-case 21:
-/* rule 21 can match eol */
-YY_RULE_SETUP
-#line 225 "apertium-prelatex.l"
-{
-	BEGIN(readbrackets);
-	closesym = L"";
-}
-	YY_BREAK
-case 22:
-/* rule 22 can match eol */
-YY_RULE_SETUP
-#line 230 "apertium-prelatex.l"
-{
-	BEGIN(readbrackets);
-	closesym = L"/";
-}
-	YY_BREAK
-case 23:
-/* rule 23 can match eol */
-YY_RULE_SETUP
-#line 237 "apertium-prelatex.l"
-{
-	wstring ws = convertir(yytext,yyleng);
-	int i = ws.find(L'{'); //remove it
-	if(i>=0)
-		ws = ws.substr(0,i)+ws.substr(i+1);
-	fputws(ws.c_str(),yyout);
-}
-	YY_BREAK
-case 24:
-YY_RULE_SETUP
-#line 245 "apertium-prelatex.l"
-{
-	fputws((wstring(L"<")+closesym+convertir(yytext,yyleng-1)+wstring(L"_STAR>")).c_str(),yyout);
-}
-	YY_BREAK
-case 25:
-YY_RULE_SETUP
-#line 249 "apertium-prelatex.l"
-{
-	fputws((wstring(L"<")+closesym+convertir(yytext,yyleng)+wstring(L">")).c_str(),yyout);
-}
-	YY_BREAK
-case 26:
-/* rule 26 can match eol */
-YY_RULE_SETUP
-#line 253 "apertium-prelatex.l"
-{
-	BEGIN(0);
-	wstring ws = convertir(yytext,yyleng);
-	int i = ws.find(L'}'); //remove it
-	if(i>=0)
-		ws = ws.substr(0,i)+ws.substr(i+1);
-	fputws(ws.c_str(),yyout);
-}
-	YY_BREAK
-case 27:
-YY_RULE_SETUP
-#line 263 "apertium-prelatex.l"
-{
-	fputws((wstring(L"<")+convertir(yytext+1,yyleng-2)+wstring(L"_STAR/>")).c_str(),yyout);
-}
-	YY_BREAK
-case 28:
-YY_RULE_SETUP
-#line 267 "apertium-prelatex.l"
-{
-	fputws((wstring(L"<")+convertir(yytext+1,yyleng)+wstring(L"/>")).c_str(),yyout);
-}
-	YY_BREAK
-case 29:
-YY_RULE_SETUP
-#line 271 "apertium-prelatex.l"
-{
-        fputws(L"<LEFTESCAPEDBRACE/>", yyout);
-        }
-	YY_BREAK
-case 30:
-YY_RULE_SETUP
-#line 275 "apertium-prelatex.l"
-{
-        fputws(L"<RIGHTESCAPEDBRACE/>", yyout);
-        }
-	YY_BREAK
-case 31:
-YY_RULE_SETUP
-#line 279 "apertium-prelatex.l"
-{
-        fputws(L"<ESCAPEDPERCENT/>", yyout);
-        }
-	YY_BREAK
-case 32:
-YY_RULE_SETUP
-#line 283 "apertium-prelatex.l"
-{
-	fputws(L"<CONTENTS>",yyout);
-}
-	YY_BREAK
-case 33:
-YY_RULE_SETUP
-#line 287 "apertium-prelatex.l"
-{
-	fputws((wstring(L"</CONTENTS>")).c_str(),yyout);
-}
-	YY_BREAK
-case 34:
-YY_RULE_SETUP
-#line 291 "apertium-prelatex.l"
-{
-	fputws(L"&NBSP;",yyout);
-}
-	YY_BREAK
-case 35:
-YY_RULE_SETUP
-#line 295 "apertium-prelatex.l"
-{
-	BEGIN(mathenv);
-	fputws(L"<MATH_DOLLARS>",yyout);
-}
-	YY_BREAK
-case 36:
-YY_RULE_SETUP
-#line 300 "apertium-prelatex.l"
-{
-	fputws(L"</MATH_DOLLARS>",yyout);
-	BEGIN(0);
-}
-	YY_BREAK
-case 37:
-YY_RULE_SETUP
-#line 305 "apertium-prelatex.l"
-{
-	BEGIN(mathenv);
-	fputws(L"<MATH_DOLLAR>",yyout);
-}
-	YY_BREAK
-case 38:
-YY_RULE_SETUP
-#line 310 "apertium-prelatex.l"
-{
-	fputws(L"</MATH_DOLLAR>",yyout);
-	BEGIN(0);
-}
-	YY_BREAK
-case 39:
-/* rule 39 can match eol */
-YY_RULE_SETUP
-#line 315 "apertium-prelatex.l"
-{
-        fputws(L"<VERB>",yyout);
-        wstring ws = convertir(yytext, yyleng);
-        fputws(ws.substr(5, ws.size()-5).c_str(), yyout);
-        fputws(L"</VERB>", yyout);
-}
-	YY_BREAK
-case 40:
-/* rule 40 can match eol */
-YY_RULE_SETUP
-#line 322 "apertium-prelatex.l"
-{
-        fputws(L"<VERB>",yyout);
-        wstring ws = convertir(yytext, yyleng);
-        fputws(ws.substr(5, ws.size()-5).c_str(), yyout);
-        fputws(L"</VERB>", yyout);
-}
-	YY_BREAK
-case 41:
-/* rule 41 can match eol */
-YY_RULE_SETUP
-#line 329 "apertium-prelatex.l"
-{
-        fputws(L"<VERB>",yyout);
-        wstring ws = convertir(yytext, yyleng);
-        fputws(ws.substr(5, ws.size()-5).c_str(), yyout);
-        fputws(L"</VERB>", yyout);
-}
-	YY_BREAK
-case 42:
-/* rule 42 can match eol */
-YY_RULE_SETUP
-#line 336 "apertium-prelatex.l"
-{
-        fputws(L"<VERB>",yyout);
-        wstring ws = convertir(yytext, yyleng);
-        fputws(ws.substr(5, ws.size()-5).c_str(), yyout);
-        fputws(L"</VERB>", yyout);
-}
-	YY_BREAK
-case 43:
-/* rule 43 can match eol */
-YY_RULE_SETUP
-#line 343 "apertium-prelatex.l"
-{
-        fputws(L"<VERB>",yyout);
-        wstring ws = convertir(yytext, yyleng);
-        fputws(ws.substr(5, ws.size()-5).c_str(), yyout);
-        fputws(L"</VERB>", yyout);
-}
-	YY_BREAK
-case 44:
-/* rule 44 can match eol */
-YY_RULE_SETUP
-#line 350 "apertium-prelatex.l"
-{
-        fputws(L"<VERB>",yyout);
-        wstring ws = convertir(yytext, yyleng);
-        fputws(ws.substr(5, ws.size()-5).c_str(), yyout);
-        fputws(L"</VERB>", yyout);
-}
-	YY_BREAK
-case 45:
-YY_RULE_SETUP
-#line 357 "apertium-prelatex.l"
-{
-	fputws(L"<MATH_PAR>",yyout);
-}
-	YY_BREAK
-case 46:
-YY_RULE_SETUP
-#line 361 "apertium-prelatex.l"
-{
-	fputws(L"</MATH_PAR>",yyout);
-}
-	YY_BREAK
-case 47:
-YY_RULE_SETUP
-#line 365 "apertium-prelatex.l"
-{
-	fputws(L"<MATH_BRA>",yyout);
-}
-	YY_BREAK
-case 48:
-YY_RULE_SETUP
-#line 369 "apertium-prelatex.l"
-{
-	fputws(L"</MATH_BRA>",yyout);
-}
-	YY_BREAK
-case 49:
-YY_RULE_SETUP
-#line 373 "apertium-prelatex.l"
-{
-	fputws(L"¿",yyout);
-}
-	YY_BREAK
-case 50:
-YY_RULE_SETUP
-#line 377 "apertium-prelatex.l"
-{
-	fputws(L"¡",yyout);
-}
-	YY_BREAK
-case 51:
-YY_RULE_SETUP
-#line 381 "apertium-prelatex.l"
-{
-	fputws(L""",yyout);
-}
-	YY_BREAK
-case 52:
-YY_RULE_SETUP
-#line 384 "apertium-prelatex.l"
-{
-	fputws(L"'",yyout);
-}
-	YY_BREAK
-case 53:
-YY_RULE_SETUP
-#line 387 "apertium-prelatex.l"
-{
-	fputws(L"<",yyout);
-}
-	YY_BREAK
-case 54:
-YY_RULE_SETUP
-#line 390 "apertium-prelatex.l"
-{
-	fputws(L">",yyout);
-}
-	YY_BREAK
-case 55:
-YY_RULE_SETUP
-#line 393 "apertium-prelatex.l"
-{
-	fputws(L"&",yyout);
-}
-	YY_BREAK
-case 56:
-YY_RULE_SETUP
-#line 396 "apertium-prelatex.l"
-{
-	fputws(L"<AMP/>",yyout);
-}
-	YY_BREAK
-case 57:
-/* rule 57 can match eol */
-YY_RULE_SETUP
-#line 404 "apertium-prelatex.l"
-{
-	fputws(convertir(yytext,yyleng).c_str(),yyout);
-}
-	YY_BREAK
-case 58:
-/* rule 58 can match eol */
-YY_RULE_SETUP
-#line 408 "apertium-prelatex.l"
-{
-	fputws(convertir(yytext,yyleng).c_str(),yyout);
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-case YY_STATE_EOF(mathenv):
-case YY_STATE_EOF(readbrackets):
-#line 413 "apertium-prelatex.l"
-{
-	return 0;
-}
-	YY_BREAK
-case 59:
-YY_RULE_SETUP
-#line 416 "apertium-prelatex.l"
-ECHO;
-	YY_BREAK
-#line 2698 "apertium_prelatex.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-    static void yy_push_state (int  new_state )
-{
-    	if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-		{
-		yy_size_t new_size;
-
-		(yy_start_stack_depth) += YY_START_STACK_INCR;
-		new_size = (yy_start_stack_depth) * sizeof( int );
-
-		if ( ! (yy_start_stack) )
-			(yy_start_stack) = (int *) yyalloc(new_size  );
-
-		else
-			(yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
-
-		if ( ! (yy_start_stack) )
-			YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
-		}
-
-	(yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
-
-	BEGIN(new_state);
-}
-
-    static void yy_pop_state  (void)
-{
-    	if ( --(yy_start_stack_ptr) < 0 )
-		YY_FATAL_ERROR( "start-condition stack underflow" );
-
-	BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
-}
-
-    static int yy_top_state  (void)
-{
-    	return (yy_start_stack)[(yy_start_stack_ptr) - 1];
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-    (yy_start_stack_ptr) = 0;
-    (yy_start_stack_depth) = 0;
-    (yy_start_stack) =  NULL;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Destroy the start condition stack. */
-        yyfree((yy_start_stack)  );
-        (yy_start_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 416 "apertium-prelatex.l"
-
-
-
-
-
-void usage(string const &progname)
-{
-
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-
-  cerr << "LaTeX format preprocessor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-  size_t base = 0;
-
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
-  {
-    base++;
-  }
-
- if((argc-base) > 4)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc-base)
-  {
-    case 3:
-      yyout = fopen(argv[2+base], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1+base], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-  // prevent warning message
-  yy_push_state(1);
-  yy_top_state();
-  yy_pop_state();
-
-  yylex();
-
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_rehtml.cc b/apertium/apertium_rehtml.cc
deleted file mode 100644
index 45c7289..0000000
--- a/apertium/apertium_rehtml.cc
+++ /dev/null
@@ -1,1959 +0,0 @@
-#line 2 "apertium_rehtml.cc"
-
-#line 4 "apertium_rehtml.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_rehtml.cctmp"
-#line 4 "apertium_rehtml.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-map<wstring, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-  S1_substitution[L"À"] = L"À";
-  S1_substitution[L"Á"] = L"Á";
-  S1_substitution[L"Â"] = L"Â";
-  S1_substitution[L"Ã"] = L"Ã";
-  S1_substitution[L"Ä"] = L"Ä";
-  S1_substitution[L"Å"] = L"Å";
-  S1_substitution[L"Æ"] = L"Æ";
-  S1_substitution[L"Ç"] = L"Ç";
-  S1_substitution[L"È"] = L"È";
-  S1_substitution[L"É"] = L"É";
-  S1_substitution[L"Ê"] = L"Ê";
-  S1_substitution[L"Ë"] = L"Ë";
-  S1_substitution[L"Ì"] = L"Ì";
-  S1_substitution[L"Í"] = L"Í";
-  S1_substitution[L"Î"] = L"Î";
-  S1_substitution[L"Ï"] = L"Ï";
-  S1_substitution[L"Ð"] = L"Ð";
-  S1_substitution[L"Ñ"] = L"Ñ";
-  S1_substitution[L"Ò"] = L"Ò";
-  S1_substitution[L"Ó"] = L"Ó";
-  S1_substitution[L"Ô"] = L"Ô";
-  S1_substitution[L"Õ"] = L"Õ";
-  S1_substitution[L"Ö"] = L"Ö";
-  S1_substitution[L"Ø"] = L"Ø";
-  S1_substitution[L"Ù"] = L"Ù";
-  S1_substitution[L"Ú"] = L"Ú";
-  S1_substitution[L"Û"] = L"Û";
-  S1_substitution[L"Ü"] = L"Ü";
-  S1_substitution[L"Ý"] = L"Ý";
-  S1_substitution[L"Þ"] = L"Þ";
-  S1_substitution[L"ß"] = L"ß";
-  S1_substitution[L"à"] = L"à";
-  S1_substitution[L"á"] = L"á";
-  S1_substitution[L"â"] = L"â";
-  S1_substitution[L"ã"] = L"ã";
-  S1_substitution[L"ä"] = L"ä";
-  S1_substitution[L"å"] = L"å";
-  S1_substitution[L"æ"] = L"æ";
-  S1_substitution[L"ç"] = L"ç";
-  S1_substitution[L"è"] = L"è";
-  S1_substitution[L"é"] = L"é";
-  S1_substitution[L"ê"] = L"ê";
-  S1_substitution[L"ë"] = L"ë";
-  S1_substitution[L"ì"] = L"ì";
-  S1_substitution[L"í"] = L"í";
-  S1_substitution[L"î"] = L"î";
-  S1_substitution[L"ï"] = L"ï";
-  S1_substitution[L"ð"] = L"ð";
-  S1_substitution[L"ñ"] = L"ñ";
-  S1_substitution[L"ò"] = L"ò";
-  S1_substitution[L"ó"] = L"ó";
-  S1_substitution[L"ô"] = L"ô";
-  S1_substitution[L"õ"] = L"õ";
-  S1_substitution[L"ö"] = L"ö";
-  S1_substitution[L"ø"] = L"ø";
-  S1_substitution[L"ù"] = L"ù";
-  S1_substitution[L"ú"] = L"ú";
-  S1_substitution[L"û"] = L"û";
-  S1_substitution[L"ü"] = L"ü";
-  S1_substitution[L"ý"] = L"ý";
-  S1_substitution[L"þ"] = L"þ";
-  S1_substitution[L"ÿ"] = L"ÿ";
-  S1_substitution[L"·"] = L"·";
-  S1_substitution[L"«"] = L"«";
-  S1_substitution[L"»"] = L"»";
-  S1_substitution[L"Ĉ"] = L"Ĉ";
-  S1_substitution[L"ĉ"] = L"ĉ";
-  S1_substitution[L"Ĝ"] = L"Ĝ";
-  S1_substitution[L"ĝ"] = L"ĝ";
-  S1_substitution[L"Ĥ"] = L"Ĥ";
-  S1_substitution[L"ĥ"] = L"ĥ";
-  S1_substitution[L"Ĵ"] = L"Ĵ";
-  S1_substitution[L"ĵ"] = L"ĵ";
-  S1_substitution[L"Ŝ"] = L"Ŝ";
-  S1_substitution[L"ŝ"] = L"ŝ";
-  S1_substitution[L"Ŭ"] = L"Ŭ";
-  S1_substitution[L"ŭ"] = L"ŭ";
-  S1_substitution[L"'"] = L"'";
-}
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 644 "apertium_rehtml.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 149 "apertium_rehtml.cctmp"
-
-
-#line 838 "apertium_rehtml.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 151 "apertium_rehtml.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 155 "apertium_rehtml.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 177 "apertium_rehtml.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 181 "apertium_rehtml.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 185 "apertium_rehtml.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 191 "apertium_rehtml.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  if(S1_substitution.find(yytext_conv) != S1_substitution.end())
-  {
-    fputws_unlocked(S1_substitution[yytext_conv].c_str(), yyout);
-  }
-  else
-  {
-    fputws_unlocked(yytext_conv.c_str(), yyout);
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 203 "apertium_rehtml.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 207 "apertium_rehtml.cctmp"
-ECHO;
-	YY_BREAK
-#line 964 "apertium_rehtml.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 207 "apertium_rehtml.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-  S1_init();
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_rehtml_noent.cc b/apertium/apertium_rehtml_noent.cc
deleted file mode 100644
index 17070e4..0000000
--- a/apertium/apertium_rehtml_noent.cc
+++ /dev/null
@@ -1,1869 +0,0 @@
-#line 2 "apertium_rehtml_noent.cc"
-
-#line 4 "apertium_rehtml_noent.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_rehtml_noent.cctmp"
-#line 4 "apertium_rehtml_noent.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 561 "apertium_rehtml_noent.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 66 "apertium_rehtml_noent.cctmp"
-
-
-#line 755 "apertium_rehtml_noent.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 68 "apertium_rehtml_noent.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 72 "apertium_rehtml_noent.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 94 "apertium_rehtml_noent.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 98 "apertium_rehtml_noent.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 102 "apertium_rehtml_noent.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 108 "apertium_rehtml_noent.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  fputws_unlocked(yytext_conv.c_str(), yyout);
-
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 114 "apertium_rehtml_noent.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 118 "apertium_rehtml_noent.cctmp"
-ECHO;
-	YY_BREAK
-#line 875 "apertium_rehtml_noent.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 118 "apertium_rehtml_noent.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_relatex.cc b/apertium/apertium_relatex.cc
deleted file mode 100644
index 0837b52..0000000
--- a/apertium/apertium_relatex.cc
+++ /dev/null
@@ -1,1881 +0,0 @@
-#line 2 "apertium_relatex.cc"
-
-#line 4 "apertium_relatex.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_relatex.cctmp"
-#line 4 "apertium_relatex.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-map<wstring, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-}
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 566 "apertium_relatex.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 71 "apertium_relatex.cctmp"
-
-
-#line 760 "apertium_relatex.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 73 "apertium_relatex.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 77 "apertium_relatex.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 99 "apertium_relatex.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 103 "apertium_relatex.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 107 "apertium_relatex.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 113 "apertium_relatex.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  if(S1_substitution.find(yytext_conv) != S1_substitution.end())
-  {
-    fputws_unlocked(S1_substitution[yytext_conv].c_str(), yyout);
-  }
-  else
-  {
-    fputws_unlocked(yytext_conv.c_str(), yyout);
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 125 "apertium_relatex.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 129 "apertium_relatex.cctmp"
-ECHO;
-	YY_BREAK
-#line 886 "apertium_relatex.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 129 "apertium_relatex.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "latex format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-  S1_init();
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_remediawiki.cc b/apertium/apertium_remediawiki.cc
deleted file mode 100644
index 18ca379..0000000
--- a/apertium/apertium_remediawiki.cc
+++ /dev/null
@@ -1,1869 +0,0 @@
-#line 2 "apertium_remediawiki.cc"
-
-#line 4 "apertium_remediawiki.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_remediawiki.cctmp"
-#line 4 "apertium_remediawiki.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 561 "apertium_remediawiki.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 66 "apertium_remediawiki.cctmp"
-
-
-#line 755 "apertium_remediawiki.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 68 "apertium_remediawiki.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 72 "apertium_remediawiki.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 94 "apertium_remediawiki.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 98 "apertium_remediawiki.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 102 "apertium_remediawiki.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 108 "apertium_remediawiki.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  fputws_unlocked(yytext_conv.c_str(), yyout);
-
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 114 "apertium_remediawiki.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 118 "apertium_remediawiki.cctmp"
-ECHO;
-	YY_BREAK
-#line 875 "apertium_remediawiki.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 118 "apertium_remediawiki.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_reodt.cc b/apertium/apertium_reodt.cc
deleted file mode 100644
index c4f5781..0000000
--- a/apertium/apertium_reodt.cc
+++ /dev/null
@@ -1,1881 +0,0 @@
-#line 2 "apertium_reodt.cc"
-
-#line 4 "apertium_reodt.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_reodt.cctmp"
-#line 4 "apertium_reodt.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-map<wstring, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-}
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 566 "apertium_reodt.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 71 "apertium_reodt.cctmp"
-
-
-#line 760 "apertium_reodt.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 73 "apertium_reodt.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 77 "apertium_reodt.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 99 "apertium_reodt.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 103 "apertium_reodt.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 107 "apertium_reodt.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 113 "apertium_reodt.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  if(S1_substitution.find(yytext_conv) != S1_substitution.end())
-  {
-    fputws_unlocked(S1_substitution[yytext_conv].c_str(), yyout);
-  }
-  else
-  {
-    fputws_unlocked(yytext_conv.c_str(), yyout);
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 125 "apertium_reodt.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 129 "apertium_reodt.cctmp"
-ECHO;
-	YY_BREAK
-#line 886 "apertium_reodt.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 129 "apertium_reodt.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-  S1_init();
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_repptx.cc b/apertium/apertium_repptx.cc
deleted file mode 100644
index 407f6dc..0000000
--- a/apertium/apertium_repptx.cc
+++ /dev/null
@@ -1,1881 +0,0 @@
-#line 2 "apertium_repptx.cc"
-
-#line 4 "apertium_repptx.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_repptx.cctmp"
-#line 4 "apertium_repptx.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-map<wstring, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-}
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 566 "apertium_repptx.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 71 "apertium_repptx.cctmp"
-
-
-#line 760 "apertium_repptx.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 73 "apertium_repptx.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 77 "apertium_repptx.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 99 "apertium_repptx.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 103 "apertium_repptx.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 107 "apertium_repptx.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 113 "apertium_repptx.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  if(S1_substitution.find(yytext_conv) != S1_substitution.end())
-  {
-    fputws_unlocked(S1_substitution[yytext_conv].c_str(), yyout);
-  }
-  else
-  {
-    fputws_unlocked(yytext_conv.c_str(), yyout);
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 125 "apertium_repptx.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 129 "apertium_repptx.cctmp"
-ECHO;
-	YY_BREAK
-#line 886 "apertium_repptx.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 129 "apertium_repptx.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-  S1_init();
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_rertf.cc b/apertium/apertium_rertf.cc
deleted file mode 100644
index c6dbb6f..0000000
--- a/apertium/apertium_rertf.cc
+++ /dev/null
@@ -1,1953 +0,0 @@
-#line 2 "apertium_rertf.cc"
-
-#line 4 "apertium_rertf.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
-        1,    3,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_rertf.cctmp"
-#line 4 "apertium_rertf.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-map<wstring, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-}
-map<wstring, wstring, Ltstr> S2_substitution;
-
-void S2_init()
-{
-  S2_substitution[L"À"] = L"\\'c0";
-  S2_substitution[L"Á"] = L"\\'c1";
-  S2_substitution[L"Â"] = L"\\'c2";
-  S2_substitution[L"Ã"] = L"\\'c3";
-  S2_substitution[L"Ä"] = L"\\'c4";
-  S2_substitution[L"Å"] = L"\\'c5";
-  S2_substitution[L"Æ"] = L"\\'c6";
-  S2_substitution[L"Ç"] = L"\\'c7";
-  S2_substitution[L"È"] = L"\\'c8";
-  S2_substitution[L"É"] = L"\\'c9";
-  S2_substitution[L"Ê"] = L"\\'ca";
-  S2_substitution[L"Ë"] = L"\\'cb";
-  S2_substitution[L"Ì"] = L"\\'cc";
-  S2_substitution[L"Í"] = L"\\'cd";
-  S2_substitution[L"Î"] = L"\\'ce";
-  S2_substitution[L"Ï"] = L"\\'cf";
-  S2_substitution[L"Ð"] = L"\\'d0";
-  S2_substitution[L"Ñ"] = L"\\'d1";
-  S2_substitution[L"Ò"] = L"\\'d2";
-  S2_substitution[L"Ó"] = L"\\'d3";
-  S2_substitution[L"Ô"] = L"\\'d4";
-  S2_substitution[L"Õ"] = L"\\'d5";
-  S2_substitution[L"Ö"] = L"\\'d6";
-  S2_substitution[L"Ø"] = L"\\'d8";
-  S2_substitution[L"Ù"] = L"\\'d9";
-  S2_substitution[L"Ú"] = L"\\'da";
-  S2_substitution[L"Û"] = L"\\'db";
-  S2_substitution[L"Ü"] = L"\\'dc";
-  S2_substitution[L"Ý"] = L"\\'dd";
-  S2_substitution[L"Þ"] = L"\\'de";
-  S2_substitution[L"ß"] = L"\\'df";
-  S2_substitution[L"à"] = L"\\'e0";
-  S2_substitution[L"á"] = L"\\'e1";
-  S2_substitution[L"â"] = L"\\'e2";
-  S2_substitution[L"ã"] = L"\\'e3";
-  S2_substitution[L"ä"] = L"\\'e4";
-  S2_substitution[L"å"] = L"\\'e5";
-  S2_substitution[L"æ"] = L"\\'e6";
-  S2_substitution[L"ç"] = L"\\'e7";
-  S2_substitution[L"è"] = L"\\'e8";
-  S2_substitution[L"é"] = L"\\'e9";
-  S2_substitution[L"ê"] = L"\\'ea";
-  S2_substitution[L"ë"] = L"\\'eb";
-  S2_substitution[L"ì"] = L"\\'ec";
-  S2_substitution[L"í"] = L"\\'ed";
-  S2_substitution[L"î"] = L"\\'ee";
-  S2_substitution[L"ï"] = L"\\'ef";
-  S2_substitution[L"ð"] = L"\\'f0";
-  S2_substitution[L"ñ"] = L"\\'f1";
-  S2_substitution[L"ò"] = L"\\'f2";
-  S2_substitution[L"ó"] = L"\\'f3";
-  S2_substitution[L"ô"] = L"\\'f4";
-  S2_substitution[L"õ"] = L"\\'f5";
-  S2_substitution[L"ö"] = L"\\'f6";
-  S2_substitution[L"ø"] = L"\\'f8";
-  S2_substitution[L"ù"] = L"\\'f9";
-  S2_substitution[L"ú"] = L"\\'fa";
-  S2_substitution[L"û"] = L"\\'fb";
-  S2_substitution[L"ü"] = L"\\'fc";
-  S2_substitution[L"ý"] = L"\\'fd";
-  S2_substitution[L"þ"] = L"\\'fe";
-  S2_substitution[L"ÿ"] = L"\\'ff";
-}
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 633 "apertium_rertf.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 138 "apertium_rertf.cctmp"
-
-
-#line 827 "apertium_rertf.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 140 "apertium_rertf.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 144 "apertium_rertf.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 166 "apertium_rertf.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 170 "apertium_rertf.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 174 "apertium_rertf.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 180 "apertium_rertf.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  if(S1_substitution.find(yytext_conv) != S1_substitution.end())
-  {
-    fputws_unlocked(S1_substitution[yytext_conv].c_str(), yyout);
-  }
-  else if(S2_substitution.find(yytext_conv) != S2_substitution.end())
-  {
-    fputws_unlocked(S2_substitution[yytext_conv].c_str(), yyout);
-  }
-  else
-  {
-    fputws_unlocked(yytext_conv.c_str(), yyout);
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 196 "apertium_rertf.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 200 "apertium_rertf.cctmp"
-ECHO;
-	YY_BREAK
-#line 957 "apertium_rertf.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 200 "apertium_rertf.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "rtf format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-  S1_init();
-  S2_init();
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_retxt.cc b/apertium/apertium_retxt.cc
deleted file mode 100644
index 1a196e9..0000000
--- a/apertium/apertium_retxt.cc
+++ /dev/null
@@ -1,1869 +0,0 @@
-#line 2 "apertium_retxt.cc"
-
-#line 4 "apertium_retxt.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    3,
-        1,    3,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_retxt.cctmp"
-#line 4 "apertium_retxt.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 561 "apertium_retxt.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 66 "apertium_retxt.cctmp"
-
-
-#line 755 "apertium_retxt.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 68 "apertium_retxt.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 72 "apertium_retxt.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 94 "apertium_retxt.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 98 "apertium_retxt.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 102 "apertium_retxt.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 108 "apertium_retxt.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  fputws_unlocked(yytext_conv.c_str(), yyout);
-
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 114 "apertium_retxt.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 118 "apertium_retxt.cctmp"
-ECHO;
-	YY_BREAK
-#line 875 "apertium_retxt.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 118 "apertium_retxt.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "txt format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_rewxml.cc b/apertium/apertium_rewxml.cc
deleted file mode 100644
index 2f52745..0000000
--- a/apertium/apertium_rewxml.cc
+++ /dev/null
@@ -1,1881 +0,0 @@
-#line 2 "apertium_rewxml.cc"
-
-#line 4 "apertium_rewxml.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_rewxml.cctmp"
-#line 4 "apertium_rewxml.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-map<wstring, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-}
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 566 "apertium_rewxml.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 71 "apertium_rewxml.cctmp"
-
-
-#line 760 "apertium_rewxml.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 73 "apertium_rewxml.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 77 "apertium_rewxml.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 99 "apertium_rewxml.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 103 "apertium_rewxml.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 107 "apertium_rewxml.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 113 "apertium_rewxml.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  if(S1_substitution.find(yytext_conv) != S1_substitution.end())
-  {
-    fputws_unlocked(S1_substitution[yytext_conv].c_str(), yyout);
-  }
-  else
-  {
-    fputws_unlocked(yytext_conv.c_str(), yyout);
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 125 "apertium_rewxml.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 129 "apertium_rewxml.cctmp"
-ECHO;
-	YY_BREAK
-#line 886 "apertium_rewxml.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 129 "apertium_rewxml.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-  S1_init();
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_rexlsx.cc b/apertium/apertium_rexlsx.cc
deleted file mode 100644
index 1555df6..0000000
--- a/apertium/apertium_rexlsx.cc
+++ /dev/null
@@ -1,1881 +0,0 @@
-#line 2 "apertium_rexlsx.cc"
-
-#line 4 "apertium_rexlsx.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_rexlsx.cctmp"
-#line 4 "apertium_rexlsx.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-map<wstring, wstring, Ltstr> S1_substitution;
-
-void S1_init()
-{
-}
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 566 "apertium_rexlsx.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 71 "apertium_rexlsx.cctmp"
-
-
-#line 760 "apertium_rexlsx.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 73 "apertium_rexlsx.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 77 "apertium_rexlsx.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 99 "apertium_rexlsx.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 103 "apertium_rexlsx.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 107 "apertium_rexlsx.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 113 "apertium_rexlsx.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  if(S1_substitution.find(yytext_conv) != S1_substitution.end())
-  {
-    fputws_unlocked(S1_substitution[yytext_conv].c_str(), yyout);
-  }
-  else
-  {
-    fputws_unlocked(yytext_conv.c_str(), yyout);
-  }
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 125 "apertium_rexlsx.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 129 "apertium_rexlsx.cctmp"
-ECHO;
-	YY_BREAK
-#line 886 "apertium_rexlsx.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 129 "apertium_rexlsx.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "html format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-  S1_init();
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/apertium_rexpresstag.cc b/apertium/apertium_rexpresstag.cc
deleted file mode 100644
index 48efd2f..0000000
--- a/apertium/apertium_rexpresstag.cc
+++ /dev/null
@@ -1,1869 +0,0 @@
-#line 2 "apertium_rexpresstag.cc"
-
-#line 4 "apertium_rexpresstag.cc"
-
-#define  YY_INT_ALIGNED short int
-
-/* A lexical scanner generated by flex */
-
-#define FLEX_SCANNER
-#define YY_FLEX_MAJOR_VERSION 2
-#define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 39
-#if YY_FLEX_SUBMINOR_VERSION > 0
-#define FLEX_BETA
-#endif
-
-/* First, we deal with  platform-specific or compiler-specific issues. */
-
-/* begin standard C headers. */
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <stdlib.h>
-
-/* end standard C headers. */
-
-/* flex integer type definitions */
-
-#ifndef FLEXINT_H
-#define FLEXINT_H
-
-/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
-
-#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-
-/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types. 
- */
-#ifndef __STDC_LIMIT_MACROS
-#define __STDC_LIMIT_MACROS 1
-#endif
-
-#include <inttypes.h>
-typedef int8_t flex_int8_t;
-typedef uint8_t flex_uint8_t;
-typedef int16_t flex_int16_t;
-typedef uint16_t flex_uint16_t;
-typedef int32_t flex_int32_t;
-typedef uint32_t flex_uint32_t;
-#else
-typedef signed char flex_int8_t;
-typedef short int flex_int16_t;
-typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
-typedef unsigned short int flex_uint16_t;
-typedef unsigned int flex_uint32_t;
-
-/* Limits of integral types. */
-#ifndef INT8_MIN
-#define INT8_MIN               (-128)
-#endif
-#ifndef INT16_MIN
-#define INT16_MIN              (-32767-1)
-#endif
-#ifndef INT32_MIN
-#define INT32_MIN              (-2147483647-1)
-#endif
-#ifndef INT8_MAX
-#define INT8_MAX               (127)
-#endif
-#ifndef INT16_MAX
-#define INT16_MAX              (32767)
-#endif
-#ifndef INT32_MAX
-#define INT32_MAX              (2147483647)
-#endif
-#ifndef UINT8_MAX
-#define UINT8_MAX              (255U)
-#endif
-#ifndef UINT16_MAX
-#define UINT16_MAX             (65535U)
-#endif
-#ifndef UINT32_MAX
-#define UINT32_MAX             (4294967295U)
-#endif
-
-#endif /* ! C99 */
-
-#endif /* ! FLEXINT_H */
-
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else	/* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif	/* defined (__STDC__) */
-#endif	/* ! __cplusplus */
-
-#ifdef YY_USE_CONST
-#define yyconst const
-#else
-#define yyconst
-#endif
-
-/* Returned upon end-of-file. */
-#define YY_NULL 0
-
-/* Promotes a possibly negative, possibly signed char to an unsigned
- * integer for use as an array index.  If the signed char is negative,
- * we want to instead treat it as an 8-bit unsigned char, hence the
- * double cast.
- */
-#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
-
-/* Enter a start condition.  This macro really ought to take a parameter,
- * but we do it the disgusting crufty way forced on us by the ()-less
- * definition of BEGIN.
- */
-#define BEGIN (yy_start) = 1 + 2 *
-
-/* Translate the current start state into a value that can be later handed
- * to BEGIN to return to the state.  The YYSTATE alias is for lex
- * compatibility.
- */
-#define YY_START (((yy_start) - 1) / 2)
-#define YYSTATE YY_START
-
-/* Action number for EOF rule of a given start state. */
-#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
-
-/* Special action meaning "start processing a new file". */
-#define YY_NEW_FILE yyrestart(yyin  )
-
-#define YY_END_OF_BUFFER_CHAR 0
-
-/* Size of default input buffer. */
-#ifndef YY_BUF_SIZE
-#define YY_BUF_SIZE 16384
-#endif
-
-/* The state buf must be large enough to hold one state per character in the main buffer.
- */
-#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
-
-#ifndef YY_TYPEDEF_YY_BUFFER_STATE
-#define YY_TYPEDEF_YY_BUFFER_STATE
-typedef struct yy_buffer_state *YY_BUFFER_STATE;
-#endif
-
-#ifndef YY_TYPEDEF_YY_SIZE_T
-#define YY_TYPEDEF_YY_SIZE_T
-typedef size_t yy_size_t;
-#endif
-
-extern yy_size_t yyleng;
-
-extern FILE *yyin, *yyout;
-
-#define EOB_ACT_CONTINUE_SCAN 0
-#define EOB_ACT_END_OF_FILE 1
-#define EOB_ACT_LAST_MATCH 2
-
-    #define YY_LESS_LINENO(n)
-    #define YY_LINENO_REWIND_TO(ptr)
-    
-/* Return all but the first "n" matched characters back to the input stream. */
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		*yy_cp = (yy_hold_char); \
-		YY_RESTORE_YY_MORE_OFFSET \
-		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-		} \
-	while ( 0 )
-
-#define unput(c) yyunput( c, (yytext_ptr)  )
-
-#ifndef YY_STRUCT_YY_BUFFER_STATE
-#define YY_STRUCT_YY_BUFFER_STATE
-struct yy_buffer_state
-	{
-	FILE *yy_input_file;
-
-	char *yy_ch_buf;		/* input buffer */
-	char *yy_buf_pos;		/* current position in input buffer */
-
-	/* Size of input buffer in bytes, not including room for EOB
-	 * characters.
-	 */
-	yy_size_t yy_buf_size;
-
-	/* Number of characters read into yy_ch_buf, not including EOB
-	 * characters.
-	 */
-	yy_size_t yy_n_chars;
-
-	/* Whether we "own" the buffer - i.e., we know we created it,
-	 * and can realloc() it to grow it, and should free() it to
-	 * delete it.
-	 */
-	int yy_is_our_buffer;
-
-	/* Whether this is an "interactive" input source; if so, and
-	 * if we're using stdio for input, then we want to use getc()
-	 * instead of fread(), to make sure we stop fetching input after
-	 * each newline.
-	 */
-	int yy_is_interactive;
-
-	/* Whether we're considered to be at the beginning of a line.
-	 * If so, '^' rules will be active on the next match, otherwise
-	 * not.
-	 */
-	int yy_at_bol;
-
-    int yy_bs_lineno; /**< The line count. */
-    int yy_bs_column; /**< The column count. */
-    
-	/* Whether to try to fill the input buffer when we reach the
-	 * end of it.
-	 */
-	int yy_fill_buffer;
-
-	int yy_buffer_status;
-
-#define YY_BUFFER_NEW 0
-#define YY_BUFFER_NORMAL 1
-	/* When an EOF's been seen but there's still some text to process
-	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-	 * shouldn't try reading from the input source any more.  We might
-	 * still have a bunch of tokens to match, though, because of
-	 * possible backing-up.
-	 *
-	 * When we actually see the EOF, we change the status to "new"
-	 * (via yyrestart()), so that the user can continue scanning by
-	 * just pointing yyin at a new input file.
-	 */
-#define YY_BUFFER_EOF_PENDING 2
-
-	};
-#endif /* !YY_STRUCT_YY_BUFFER_STATE */
-
-/* Stack of input buffers. */
-static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
-static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
-
-/* We provide macros for accessing buffer states in case in the
- * future we want to put the buffer states in a more general
- * "scanner state".
- *
- * Returns the top of the stack, or NULL.
- */
-#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
-                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
-                          : NULL)
-
-/* Same as previous macro, but useful when we know that the buffer stack is not
- * NULL or when we need an lvalue. For internal use only.
- */
-#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
-
-/* yy_hold_char holds the character lost when yytext is formed. */
-static char yy_hold_char;
-static yy_size_t yy_n_chars;		/* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
-
-/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
-static int yy_init = 0;		/* whether we need to initialize */
-static int yy_start = 0;	/* start state number */
-
-/* Flag which is used to allow yywrap()'s to do buffer switches
- * instead of setting up a fresh yyin.  A bit of a hack ...
- */
-static int yy_did_buffer_switch_on_eof;
-
-void yyrestart (FILE *input_file  );
-void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
-YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
-void yy_delete_buffer (YY_BUFFER_STATE b  );
-void yy_flush_buffer (YY_BUFFER_STATE b  );
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
-void yypop_buffer_state (void );
-
-static void yyensure_buffer_stack (void );
-static void yy_load_buffer_state (void );
-static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
-
-#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
-
-YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
-YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
-YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len  );
-
-void *yyalloc (yy_size_t  );
-void *yyrealloc (void *,yy_size_t  );
-void yyfree (void *  );
-
-#define yy_new_buffer yy_create_buffer
-
-#define yy_set_interactive(is_interactive) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){ \
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-	}
-
-#define yy_set_bol(at_bol) \
-	{ \
-	if ( ! YY_CURRENT_BUFFER ){\
-        yyensure_buffer_stack (); \
-		YY_CURRENT_BUFFER_LVALUE =    \
-            yy_create_buffer(yyin,YY_BUF_SIZE ); \
-	} \
-	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-	}
-
-#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
-
-/* Begin user sect3 */
-
-#define yywrap() 1
-#define YY_SKIP_YYWRAP
-
-typedef unsigned char YY_CHAR;
-
-FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
-
-typedef int yy_state_type;
-
-extern int yylineno;
-
-int yylineno = 1;
-
-extern char *yytext;
-#define yytext_ptr yytext
-
-static yyconst flex_int16_t yy_nxt[][9] =
-    {
-    {
-        0,    0,    0,    0,    0,    0,    0,    0,    0
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-        3,    4,    4,    4,    5,    4,    6,    7,    8
-    },
-
-    {
-       -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3,   -3
-    },
-
-    {
-        3,   -4,   -4,   -4,   -4,   -4,   -4,   -4,   -4
-    },
-
-    {
-        3,   -5,   -5,   -5,   -5,   -5,    9,   -5,   -5
-    },
-
-    {
-        3,   -6,   -6,   -6,   -6,   10,   -6,   11,   -6
-    },
-
-    {
-        3,   -7,   -7,   12,   -7,   12,   12,   12,   12
-    },
-
-    {
-        3,   -8,   -8,   -8,   -8,   -8,   -8,   -8,   -8
-    },
-
-    {
-        3,   -9,   -9,   -9,   -9,   -9,   -9,   -9,   13
-
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,  -10
-    },
-
-    {
-        3,  -11,  -11,  -11,  -11,   15,  -11,  -11,  -11
-    },
-
-    {
-        3,  -12,  -12,  -12,  -12,  -12,  -12,  -12,  -12
-    },
-
-    {
-        3,  -13,  -13,  -13,  -13,  -13,  -13,  -13,  -13
-    },
-
-    {
-        3,   14,   14,   14,   14,   14,   14,   14,   16
-    },
-
-    {
-        3,  -15,  -15,  -15,  -15,  -15,  -15,  -15,  -15
-    },
-
-    {
-        3,  -16,  -16,  -16,  -16,  -16,  -16,  -16,  -16
-    },
-
-    } ;
-
-static yy_state_type yy_get_previous_state (void );
-static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
-static int yy_get_next_buffer (void );
-static void yy_fatal_error (yyconst char msg[]  );
-
-/* Done after the current pattern has been matched and before the
- * corresponding action - sets up yytext.
- */
-#define YY_DO_BEFORE_ACTION \
-	(yytext_ptr) = yy_bp; \
-	yyleng = (size_t) (yy_cp - yy_bp); \
-	(yy_hold_char) = *yy_cp; \
-	*yy_cp = '\0'; \
-	(yy_c_buf_p) = yy_cp;
-
-#define YY_NUM_RULES 7
-#define YY_END_OF_BUFFER 8
-/* This struct is not used in this scanner,
-   but its presence is necessary. */
-struct yy_trans_info
-	{
-	flex_int32_t yy_verify;
-	flex_int32_t yy_nxt;
-	};
-static yyconst flex_int16_t yy_accept[17] =
-    {   0,
-        0,    0,    8,    6,    6,    1,    6,    1,    0,    0,
-        0,    5,    4,    0,    3,    2
-    } ;
-
-static yyconst flex_int32_t yy_ec[256] =
-    {   0,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    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,    3,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    4,    3,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        6,    7,    8,    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,    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,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
-        1,    1,    1,    1,    1
-    } ;
-
-static yy_state_type yy_last_accepting_state;
-static char *yy_last_accepting_cpos;
-
-extern int yy_flex_debug;
-int yy_flex_debug = 0;
-
-/* The intent behind this definition is that it'll catch
- * any uses of REJECT which flex missed.
- */
-#define REJECT reject_used_but_not_detected
-#define yymore() yymore_used_but_not_detected
-#define YY_MORE_ADJ 0
-#define YY_RESTORE_YY_MORE_OFFSET
-char *yytext;
-#line 1 "apertium_rexpresstag.cctmp"
-#line 4 "apertium_rexpresstag.cctmp"
-
-#ifndef GENFORMAT
-#include "apertium_config.h"
-#endif
-#include <apertium/unlocked_cstdio.h>
-
-#include <cstdlib>
-#include <iostream>
-#include <libgen.h>
-#include <map>
-#include <string>
-#include <unistd.h>
-#include <lttoolbox/lt_locale.h>
-#include <lttoolbox/ltstr.h>
-#include <wchar.h>
-#ifdef _WIN32
-#include <io.h>
-#include <fcntl.h>
-#endif
-
-using namespace std;
-
-
-
-string memconv;
-
-wstring convertir(char const *multibyte, int const length)
-{
-  memconv.append(multibyte, length);
-  int tam = memconv.size();
-  if (memconv == "")
-    return L"";
-  wchar_t *retval = new wchar_t[tam+1];
-  size_t l = mbstowcs(retval, memconv.c_str(), tam);
-
-  if(l == ((size_t) -1))
-  {
-    if(memconv.size() >= 4)
-    {
-      wcerr << L"Warning: wrong encoding" << endl;
-    }
-    if (retval != NULL)
-      delete[] retval;
-    return L"";
-  }
-  else
-  {
-    memconv = "";
-    retval[l] = 0;
-    wstring ret = retval;
-    if (retval != NULL)
-      delete[] retval;
-    return ret;
-  }
-}
-
-#line 561 "apertium_rexpresstag.cc"
-
-#define INITIAL 0
-
-#ifndef YY_NO_UNISTD_H
-/* Special case for "unistd.h", since it is non-ANSI. We include it way
- * down here because we want the user's section 1 to have been scanned first.
- * The user has a chance to override it with an option.
- */
-#include <unistd.h>
-#endif
-
-#ifndef YY_EXTRA_TYPE
-#define YY_EXTRA_TYPE void *
-#endif
-
-static int yy_init_globals (void );
-
-/* Accessor methods to globals.
-   These are made visible to non-reentrant scanners for convenience. */
-
-int yylex_destroy (void );
-
-int yyget_debug (void );
-
-void yyset_debug (int debug_flag  );
-
-YY_EXTRA_TYPE yyget_extra (void );
-
-void yyset_extra (YY_EXTRA_TYPE user_defined  );
-
-FILE *yyget_in (void );
-
-void yyset_in  (FILE * in_str  );
-
-FILE *yyget_out (void );
-
-void yyset_out  (FILE * out_str  );
-
-yy_size_t yyget_leng (void );
-
-char *yyget_text (void );
-
-int yyget_lineno (void );
-
-void yyset_lineno (int line_number  );
-
-/* Macros after this point can all be overridden by user definitions in
- * section 1.
- */
-
-#ifndef YY_SKIP_YYWRAP
-#ifdef __cplusplus
-extern "C" int yywrap (void );
-#else
-extern int yywrap (void );
-#endif
-#endif
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char *,yyconst char *,int );
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * );
-#endif
-
-#ifndef YY_NO_INPUT
-
-#ifdef __cplusplus
-static int yyinput (void );
-#else
-static int input (void );
-#endif
-
-#endif
-
-/* Amount of stuff to slurp up with each read. */
-#ifndef YY_READ_BUF_SIZE
-#define YY_READ_BUF_SIZE 8192
-#endif
-
-/* Copy whatever the last rule matched to the standard output. */
-#ifndef ECHO
-/* This used to be an fputs(), but since the string might contain NUL's,
- * we now use fwrite().
- */
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
-#endif
-
-/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
- * is returned in "result".
- */
-#ifndef YY_INPUT
-#define YY_INPUT(buf,result,max_size) \
-	errno=0; \
-	while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
-	{ \
-		if( errno != EINTR) \
-		{ \
-			YY_FATAL_ERROR( "input in flex scanner failed" ); \
-			break; \
-		} \
-		errno=0; \
-		clearerr(yyin); \
-	}\
-\
-
-#endif
-
-/* No semi-colon after return; correct usage is to write "yyterminate();" -
- * we don't want an extra ';' after the "return" because that will cause
- * some compilers to complain about unreachable statements.
- */
-#ifndef yyterminate
-#define yyterminate() return YY_NULL
-#endif
-
-/* Number of entries by which start-condition stack grows. */
-#ifndef YY_START_STACK_INCR
-#define YY_START_STACK_INCR 25
-#endif
-
-/* Report a fatal error. */
-#ifndef YY_FATAL_ERROR
-#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
-#endif
-
-/* end tables serialization structures and prototypes */
-
-/* Default declaration of generated scanner - a define so the user can
- * easily add parameters.
- */
-#ifndef YY_DECL
-#define YY_DECL_IS_OURS 1
-
-extern int yylex (void);
-
-#define YY_DECL int yylex (void)
-#endif /* !YY_DECL */
-
-/* Code executed at the beginning of each rule, after yytext and yyleng
- * have been set up.
- */
-#ifndef YY_USER_ACTION
-#define YY_USER_ACTION
-#endif
-
-/* Code executed at the end of each rule. */
-#ifndef YY_BREAK
-#define YY_BREAK break;
-#endif
-
-#define YY_RULE_SETUP \
-	YY_USER_ACTION
-
-/** The main scanner function which does all the work.
- */
-YY_DECL
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp, *yy_bp;
-	register int yy_act;
-    
-	if ( !(yy_init) )
-		{
-		(yy_init) = 1;
-
-#ifdef YY_USER_INIT
-		YY_USER_INIT;
-#endif
-
-		if ( ! (yy_start) )
-			(yy_start) = 1;	/* first start state */
-
-		if ( ! yyin )
-			yyin = stdin;
-
-		if ( ! yyout )
-			yyout = stdout;
-
-		if ( ! YY_CURRENT_BUFFER ) {
-			yyensure_buffer_stack ();
-			YY_CURRENT_BUFFER_LVALUE =
-				yy_create_buffer(yyin,YY_BUF_SIZE );
-		}
-
-		yy_load_buffer_state( );
-		}
-
-	{
-#line 66 "apertium_rexpresstag.cctmp"
-
-
-#line 755 "apertium_rexpresstag.cc"
-
-	while ( 1 )		/* loops until end-of-file is reached */
-		{
-		yy_cp = (yy_c_buf_p);
-
-		/* Support of yytext. */
-		*yy_cp = (yy_hold_char);
-
-		/* yy_bp points to the position in yy_ch_buf of the start of
-		 * the current run.
-		 */
-		yy_bp = yy_cp;
-
-		yy_current_state = (yy_start);
-yy_match:
-		while ( (yy_current_state = yy_nxt[yy_current_state][ yy_ec[YY_SC_TO_UI(*yy_cp)]  ]) > 0 )
-			{
-			if ( yy_accept[yy_current_state] )
-				{
-				(yy_last_accepting_state) = yy_current_state;
-				(yy_last_accepting_cpos) = yy_cp;
-				}
-
-			++yy_cp;
-			}
-
-		yy_current_state = -yy_current_state;
-
-yy_find_action:
-		yy_act = yy_accept[yy_current_state];
-
-		YY_DO_BEFORE_ACTION;
-
-do_action:	/* This label is used only to access EOF actions. */
-
-		switch ( yy_act )
-	{ /* beginning of action switch */
-			case 0: /* must back up */
-			/* undo the effects of YY_DO_BEFORE_ACTION */
-			*yy_cp = (yy_hold_char);
-			yy_cp = (yy_last_accepting_cpos) + 1;
-			yy_current_state = (yy_last_accepting_state);
-			goto yy_find_action;
-
-case 1:
-YY_RULE_SETUP
-#line 68 "apertium_rexpresstag.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 2:
-/* rule 2 can match eol */
-YY_RULE_SETUP
-#line 72 "apertium_rexpresstag.cctmp"
-{
-  string filename = yytext;
-  filename = filename.substr(2, filename.size()-3);
-  FILE *temp = fopen(filename.c_str(), "r");
-  wint_t mychar;
-#ifdef _WIN32
-  _setmode(_fileno(temp), _O_U8TEXT);
-#endif
-
-  if(!temp)
-  {
-    cerr << "ERROR: File '" << filename <<"' not found." << endl;
-    exit(EXIT_FAILURE);
-  }
-  while(static_cast<int>(mychar = fgetwc_unlocked(temp)) != EOF)
-  {
-    fputwc_unlocked(mychar, yyout);
-  }
-  fclose(temp);
-  unlink(filename.c_str());
-}
-	YY_BREAK
-case 3:
-YY_RULE_SETUP
-#line 94 "apertium_rexpresstag.cctmp"
-{
-  fputwc_unlocked(L'@', yyout);
-}
-	YY_BREAK
-case 4:
-YY_RULE_SETUP
-#line 98 "apertium_rexpresstag.cctmp"
-{
-  // do nothing
-}
-	YY_BREAK
-case 5:
-YY_RULE_SETUP
-#line 102 "apertium_rexpresstag.cctmp"
-{
-  fputws_unlocked(convertir(yytext+1, yyleng-1).c_str(), yyout);
-}
-	YY_BREAK
-case 6:
-/* rule 6 can match eol */
-YY_RULE_SETUP
-#line 108 "apertium_rexpresstag.cctmp"
-{
-  wstring yytext_conv = convertir(yytext, yyleng);
-  fputws_unlocked(yytext_conv.c_str(), yyout);
-
-}
-	YY_BREAK
-case YY_STATE_EOF(INITIAL):
-#line 114 "apertium_rexpresstag.cctmp"
-{
-  return 0;
-}
-	YY_BREAK
-case 7:
-YY_RULE_SETUP
-#line 118 "apertium_rexpresstag.cctmp"
-ECHO;
-	YY_BREAK
-#line 875 "apertium_rexpresstag.cc"
-
-	case YY_END_OF_BUFFER:
-		{
-		/* Amount of text matched not including the EOB char. */
-		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-		/* Undo the effects of YY_DO_BEFORE_ACTION. */
-		*yy_cp = (yy_hold_char);
-		YY_RESTORE_YY_MORE_OFFSET
-
-		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-			{
-			/* We're scanning a new file or input source.  It's
-			 * possible that this happened because the user
-			 * just pointed yyin at a new source and called
-			 * yylex().  If so, then we have to assure
-			 * consistency between YY_CURRENT_BUFFER and our
-			 * globals.  Here is the right place to do so, because
-			 * this is the first action (other than possibly a
-			 * back-up) that will match for the new input source.
-			 */
-			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-			}
-
-		/* Note that here we test for yy_c_buf_p "<=" to the position
-		 * of the first EOB in the buffer, since yy_c_buf_p will
-		 * already have been incremented past the NUL character
-		 * (since all states make transitions on EOB to the
-		 * end-of-buffer state).  Contrast this with the test
-		 * in input().
-		 */
-		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			{ /* This was really a NUL. */
-			yy_state_type yy_next_state;
-
-			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-			yy_current_state = yy_get_previous_state(  );
-
-			/* Okay, we're now positioned to make the NUL
-			 * transition.  We couldn't have
-			 * yy_get_previous_state() go ahead and do it
-			 * for us because it doesn't know how to deal
-			 * with the possibility of jamming (and we don't
-			 * want to build jamming into it because then it
-			 * will run more slowly).
-			 */
-
-			yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-			if ( yy_next_state )
-				{
-				/* Consume the NUL. */
-				yy_cp = ++(yy_c_buf_p);
-				yy_current_state = yy_next_state;
-				goto yy_match;
-				}
-
-			else
-				{
-				yy_cp = (yy_c_buf_p);
-				goto yy_find_action;
-				}
-			}
-
-		else switch ( yy_get_next_buffer(  ) )
-			{
-			case EOB_ACT_END_OF_FILE:
-				{
-				(yy_did_buffer_switch_on_eof) = 0;
-
-				if ( yywrap( ) )
-					{
-					/* Note: because we've taken care in
-					 * yy_get_next_buffer() to have set up
-					 * yytext, we can now set up
-					 * yy_c_buf_p so that if some total
-					 * hoser (like flex itself) wants to
-					 * call the scanner after we return the
-					 * YY_NULL, it'll still work - another
-					 * YY_NULL will get returned.
-					 */
-					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-					yy_act = YY_STATE_EOF(YY_START);
-					goto do_action;
-					}
-
-				else
-					{
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-					}
-				break;
-				}
-
-			case EOB_ACT_CONTINUE_SCAN:
-				(yy_c_buf_p) =
-					(yytext_ptr) + yy_amount_of_matched_text;
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_match;
-
-			case EOB_ACT_LAST_MATCH:
-				(yy_c_buf_p) =
-				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-				yy_current_state = yy_get_previous_state(  );
-
-				yy_cp = (yy_c_buf_p);
-				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-				goto yy_find_action;
-			}
-		break;
-		}
-
-	default:
-		YY_FATAL_ERROR(
-			"fatal flex scanner internal error--no action found" );
-	} /* end of action switch */
-		} /* end of scanning one token */
-	} /* end of user's declarations */
-} /* end of yylex */
-
-/* yy_get_next_buffer - try to read in a new buffer
- *
- * Returns a code representing an action:
- *	EOB_ACT_LAST_MATCH -
- *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *	EOB_ACT_END_OF_FILE - end of file
- */
-static int yy_get_next_buffer (void)
-{
-    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-	register char *source = (yytext_ptr);
-	register int number_to_move, i;
-	int ret_val;
-
-	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-		YY_FATAL_ERROR(
-		"fatal flex scanner internal error--end of buffer missed" );
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-		{ /* Don't try to fill the buffer, so this is an EOF. */
-		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-			{
-			/* We matched a single character, the EOB, so
-			 * treat this as a final EOF.
-			 */
-			return EOB_ACT_END_OF_FILE;
-			}
-
-		else
-			{
-			/* We matched some text prior to the EOB, first
-			 * process it.
-			 */
-			return EOB_ACT_LAST_MATCH;
-			}
-		}
-
-	/* Try to read more data. */
-
-	/* First move last chars to start of buffer. */
-	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-	for ( i = 0; i < number_to_move; ++i )
-		*(dest++) = *(source++);
-
-	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-		/* don't do the read, it's not guaranteed to return an EOF,
-		 * just force an EOF
-		 */
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-	else
-		{
-			yy_size_t num_to_read =
-			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-		while ( num_to_read <= 0 )
-			{ /* Not enough room in the buffer - grow it. */
-
-			/* just a shorter name for the current buffer */
-			YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
-
-			int yy_c_buf_p_offset =
-				(int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-			if ( b->yy_is_our_buffer )
-				{
-				yy_size_t new_size = b->yy_buf_size * 2;
-
-				if ( new_size <= 0 )
-					b->yy_buf_size += b->yy_buf_size / 8;
-				else
-					b->yy_buf_size *= 2;
-
-				b->yy_ch_buf = (char *)
-					/* Include room in for 2 EOB chars. */
-					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-				}
-			else
-				/* Can't grow it, we don't own it. */
-				b->yy_ch_buf = 0;
-
-			if ( ! b->yy_ch_buf )
-				YY_FATAL_ERROR(
-				"fatal error - scanner input buffer overflow" );
-
-			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-						number_to_move - 1;
-
-			}
-
-		if ( num_to_read > YY_READ_BUF_SIZE )
-			num_to_read = YY_READ_BUF_SIZE;
-
-		/* Read in more data. */
-		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-			(yy_n_chars), num_to_read );
-
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	if ( (yy_n_chars) == 0 )
-		{
-		if ( number_to_move == YY_MORE_ADJ )
-			{
-			ret_val = EOB_ACT_END_OF_FILE;
-			yyrestart(yyin  );
-			}
-
-		else
-			{
-			ret_val = EOB_ACT_LAST_MATCH;
-			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-				YY_BUFFER_EOF_PENDING;
-			}
-		}
-
-	else
-		ret_val = EOB_ACT_CONTINUE_SCAN;
-
-	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
-		/* Extend the array by 50%, plus the number we really need. */
-		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
-		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
-		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
-	}
-
-	(yy_n_chars) += number_to_move;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
-
-	return ret_val;
-}
-
-/* yy_get_previous_state - get the state just before the EOB char was reached */
-
-    static yy_state_type yy_get_previous_state (void)
-{
-	register yy_state_type yy_current_state;
-	register char *yy_cp;
-    
-	yy_current_state = (yy_start);
-
-	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-		{
-		yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-	return yy_current_state;
-}
-
-/* yy_try_NUL_trans - try to make a transition on the NUL character
- *
- * synopsis
- *	next_state = yy_try_NUL_trans( current_state );
- */
-    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
-{
-	register int yy_is_jam;
-    	register char *yy_cp = (yy_c_buf_p);
-
-	yy_current_state = yy_nxt[yy_current_state][1];
-	yy_is_jam = (yy_current_state <= 0);
-
-	if ( ! yy_is_jam )
-		{
-		if ( yy_accept[yy_current_state] )
-			{
-			(yy_last_accepting_state) = yy_current_state;
-			(yy_last_accepting_cpos) = yy_cp;
-			}
-		}
-
-		return yy_is_jam ? 0 : yy_current_state;
-}
-
-#ifndef YY_NO_INPUT
-#ifdef __cplusplus
-    static int yyinput (void)
-#else
-    static int input  (void)
-#endif
-
-{
-	int c;
-    
-	*(yy_c_buf_p) = (yy_hold_char);
-
-	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-		{
-		/* yy_c_buf_p now points to the character we want to return.
-		 * If this occurs *before* the EOB characters, then it's a
-		 * valid NUL; if not, then we've hit the end of the buffer.
-		 */
-		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-			/* This was really a NUL. */
-			*(yy_c_buf_p) = '\0';
-
-		else
-			{ /* need more input */
-			yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
-			++(yy_c_buf_p);
-
-			switch ( yy_get_next_buffer(  ) )
-				{
-				case EOB_ACT_LAST_MATCH:
-					/* This happens because yy_g_n_b()
-					 * sees that we've accumulated a
-					 * token and flags that we need to
-					 * try matching the token before
-					 * proceeding.  But for input(),
-					 * there's no matching to consider.
-					 * So convert the EOB_ACT_LAST_MATCH
-					 * to EOB_ACT_END_OF_FILE.
-					 */
-
-					/* Reset buffer status. */
-					yyrestart(yyin );
-
-					/*FALLTHROUGH*/
-
-				case EOB_ACT_END_OF_FILE:
-					{
-					if ( yywrap( ) )
-						return EOF;
-
-					if ( ! (yy_did_buffer_switch_on_eof) )
-						YY_NEW_FILE;
-#ifdef __cplusplus
-					return yyinput();
-#else
-					return input();
-#endif
-					}
-
-				case EOB_ACT_CONTINUE_SCAN:
-					(yy_c_buf_p) = (yytext_ptr) + offset;
-					break;
-				}
-			}
-		}
-
-	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
-	*(yy_c_buf_p) = '\0';	/* preserve yytext */
-	(yy_hold_char) = *++(yy_c_buf_p);
-
-	return c;
-}
-#endif	/* ifndef YY_NO_INPUT */
-
-/** Immediately switch to a different input stream.
- * @param input_file A readable stream.
- * 
- * @note This function does not reset the start condition to @c INITIAL .
- */
-    void yyrestart  (FILE * input_file )
-{
-    
-	if ( ! YY_CURRENT_BUFFER ){
-        yyensure_buffer_stack ();
-		YY_CURRENT_BUFFER_LVALUE =
-            yy_create_buffer(yyin,YY_BUF_SIZE );
-	}
-
-	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
-	yy_load_buffer_state( );
-}
-
-/** Switch to a different input buffer.
- * @param new_buffer The new input buffer.
- * 
- */
-    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
-{
-    
-	/* TODO. We should be able to replace this entire function body
-	 * with
-	 *		yypop_buffer_state();
-	 *		yypush_buffer_state(new_buffer);
-     */
-	yyensure_buffer_stack ();
-	if ( YY_CURRENT_BUFFER == new_buffer )
-		return;
-
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-	yy_load_buffer_state( );
-
-	/* We don't actually know whether we did this switch during
-	 * EOF (yywrap()) processing, but the only time this flag
-	 * is looked at is after yywrap() is called, so it's safe
-	 * to go ahead and always set it.
-	 */
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-static void yy_load_buffer_state  (void)
-{
-    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-	(yy_hold_char) = *(yy_c_buf_p);
-}
-
-/** Allocate and initialize an input buffer state.
- * @param file A readable stream.
- * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
- * @return the allocated buffer state.
- */
-    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
-{
-	YY_BUFFER_STATE b;
-    
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_buf_size = size;
-
-	/* yy_ch_buf has to be 2 characters longer than the size given because
-	 * we need to put in 2 end-of-buffer characters.
-	 */
-	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-	if ( ! b->yy_ch_buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
-
-	b->yy_is_our_buffer = 1;
-
-	yy_init_buffer(b,file );
-
-	return b;
-}
-
-/** Destroy the buffer.
- * @param b a buffer created with yy_create_buffer()
- * 
- */
-    void yy_delete_buffer (YY_BUFFER_STATE  b )
-{
-    
-	if ( ! b )
-		return;
-
-	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
-
-	if ( b->yy_is_our_buffer )
-		yyfree((void *) b->yy_ch_buf  );
-
-	yyfree((void *) b  );
-}
-
-/* Initializes or reinitializes a buffer.
- * This function is sometimes called more than once on the same buffer,
- * such as during a yyrestart() or at EOF.
- */
-    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
-
-{
-	int oerrno = errno;
-    
-	yy_flush_buffer(b );
-
-	b->yy_input_file = file;
-	b->yy_fill_buffer = 1;
-
-    /* If b is the current buffer, then yy_init_buffer was _probably_
-     * called from yyrestart() or through yy_get_next_buffer.
-     * In that case, we don't want to reset the lineno or column.
-     */
-    if (b != YY_CURRENT_BUFFER){
-        b->yy_bs_lineno = 1;
-        b->yy_bs_column = 0;
-    }
-
-        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-    
-	errno = oerrno;
-}
-
-/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
- * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
- */
-    void yy_flush_buffer (YY_BUFFER_STATE  b )
-{
-    	if ( ! b )
-		return;
-
-	b->yy_n_chars = 0;
-
-	/* We always need two end-of-buffer characters.  The first causes
-	 * a transition to the end-of-buffer state.  The second causes
-	 * a jam in that state.
-	 */
-	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
-
-	b->yy_buf_pos = &b->yy_ch_buf[0];
-
-	b->yy_at_bol = 1;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	if ( b == YY_CURRENT_BUFFER )
-		yy_load_buffer_state( );
-}
-
-/** Pushes the new state onto the stack. The new state becomes
- *  the current state. This function will allocate the stack
- *  if necessary.
- *  @param new_buffer The new state.
- *  
- */
-void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
-{
-    	if (new_buffer == NULL)
-		return;
-
-	yyensure_buffer_stack();
-
-	/* This block is copied from yy_switch_to_buffer. */
-	if ( YY_CURRENT_BUFFER )
-		{
-		/* Flush out information for old buffer. */
-		*(yy_c_buf_p) = (yy_hold_char);
-		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-		}
-
-	/* Only push if top exists. Otherwise, replace top. */
-	if (YY_CURRENT_BUFFER)
-		(yy_buffer_stack_top)++;
-	YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-	/* copied from yy_switch_to_buffer. */
-	yy_load_buffer_state( );
-	(yy_did_buffer_switch_on_eof) = 1;
-}
-
-/** Removes and deletes the top of the stack, if present.
- *  The next element becomes the new top.
- *  
- */
-void yypop_buffer_state (void)
-{
-    	if (!YY_CURRENT_BUFFER)
-		return;
-
-	yy_delete_buffer(YY_CURRENT_BUFFER );
-	YY_CURRENT_BUFFER_LVALUE = NULL;
-	if ((yy_buffer_stack_top) > 0)
-		--(yy_buffer_stack_top);
-
-	if (YY_CURRENT_BUFFER) {
-		yy_load_buffer_state( );
-		(yy_did_buffer_switch_on_eof) = 1;
-	}
-}
-
-/* Allocates the stack if it does not exist.
- *  Guarantees space for at least one push.
- */
-static void yyensure_buffer_stack (void)
-{
-	yy_size_t num_to_alloc;
-    
-	if (!(yy_buffer_stack)) {
-
-		/* First allocation is just for 2 elements, since we don't know if this
-		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
-		 * immediate realloc on the next call.
-         */
-		num_to_alloc = 1;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-								(num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-								  
-		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-				
-		(yy_buffer_stack_max) = num_to_alloc;
-		(yy_buffer_stack_top) = 0;
-		return;
-	}
-
-	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-		/* Increase the buffer to prepare for a possible push. */
-		int grow_size = 8 /* arbitrary grow size */;
-
-		num_to_alloc = (yy_buffer_stack_max) + grow_size;
-		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-								((yy_buffer_stack),
-								num_to_alloc * sizeof(struct yy_buffer_state*)
-								);
-		if ( ! (yy_buffer_stack) )
-			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-		/* zero only the new slots.*/
-		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-		(yy_buffer_stack_max) = num_to_alloc;
-	}
-}
-
-/** Setup the input buffer state to scan directly from a user-specified character buffer.
- * @param base the character buffer
- * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
- */
-YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
-{
-	YY_BUFFER_STATE b;
-    
-	if ( size < 2 ||
-	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
-	     base[size-1] != YY_END_OF_BUFFER_CHAR )
-		/* They forgot to leave room for the EOB's. */
-		return 0;
-
-	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-	if ( ! b )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
-
-	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
-	b->yy_buf_pos = b->yy_ch_buf = base;
-	b->yy_is_our_buffer = 0;
-	b->yy_input_file = 0;
-	b->yy_n_chars = b->yy_buf_size;
-	b->yy_is_interactive = 0;
-	b->yy_at_bol = 1;
-	b->yy_fill_buffer = 0;
-	b->yy_buffer_status = YY_BUFFER_NEW;
-
-	yy_switch_to_buffer(b  );
-
-	return b;
-}
-
-/** Setup the input buffer state to scan a string. The next call to yylex() will
- * scan from a @e copy of @a str.
- * @param yystr a NUL-terminated string to scan
- * 
- * @return the newly allocated buffer state object.
- * @note If you want to scan bytes that may contain NUL values, then use
- *       yy_scan_bytes() instead.
- */
-YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
-{
-    
-	return yy_scan_bytes(yystr,strlen(yystr) );
-}
-
-/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
- * scan from a @e copy of @a bytes.
- * @param yybytes the byte buffer to scan
- * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
- * 
- * @return the newly allocated buffer state object.
- */
-YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, yy_size_t  _yybytes_len )
-{
-	YY_BUFFER_STATE b;
-	char *buf;
-	yy_size_t n;
-	yy_size_t i;
-    
-	/* Get memory for full buffer, including space for trailing EOB's. */
-	n = _yybytes_len + 2;
-	buf = (char *) yyalloc(n  );
-	if ( ! buf )
-		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
-
-	for ( i = 0; i < _yybytes_len; ++i )
-		buf[i] = yybytes[i];
-
-	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
-
-	b = yy_scan_buffer(buf,n );
-	if ( ! b )
-		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
-
-	/* It's okay to grow etc. this buffer, and we should throw it
-	 * away when we're done.
-	 */
-	b->yy_is_our_buffer = 1;
-
-	return b;
-}
-
-#ifndef YY_EXIT_FAILURE
-#define YY_EXIT_FAILURE 2
-#endif
-
-static void yy_fatal_error (yyconst char* msg )
-{
-    	(void) fprintf( stderr, "%s\n", msg );
-	exit( YY_EXIT_FAILURE );
-}
-
-/* Redefine yyless() so it works in section 3 code. */
-
-#undef yyless
-#define yyless(n) \
-	do \
-		{ \
-		/* Undo effects of setting up yytext. */ \
-        int yyless_macro_arg = (n); \
-        YY_LESS_LINENO(yyless_macro_arg);\
-		yytext[yyleng] = (yy_hold_char); \
-		(yy_c_buf_p) = yytext + yyless_macro_arg; \
-		(yy_hold_char) = *(yy_c_buf_p); \
-		*(yy_c_buf_p) = '\0'; \
-		yyleng = yyless_macro_arg; \
-		} \
-	while ( 0 )
-
-/* Accessor  methods (get/set functions) to struct members. */
-
-/** Get the current line number.
- * 
- */
-int yyget_lineno  (void)
-{
-        
-    return yylineno;
-}
-
-/** Get the input stream.
- * 
- */
-FILE *yyget_in  (void)
-{
-        return yyin;
-}
-
-/** Get the output stream.
- * 
- */
-FILE *yyget_out  (void)
-{
-        return yyout;
-}
-
-/** Get the length of the current token.
- * 
- */
-yy_size_t yyget_leng  (void)
-{
-        return yyleng;
-}
-
-/** Get the current token.
- * 
- */
-
-char *yyget_text  (void)
-{
-        return yytext;
-}
-
-/** Set the current line number.
- * @param line_number
- * 
- */
-void yyset_lineno (int  line_number )
-{
-    
-    yylineno = line_number;
-}
-
-/** Set the input stream. This does not discard the current
- * input buffer.
- * @param in_str A readable stream.
- * 
- * @see yy_switch_to_buffer
- */
-void yyset_in (FILE *  in_str )
-{
-        yyin = in_str ;
-}
-
-void yyset_out (FILE *  out_str )
-{
-        yyout = out_str ;
-}
-
-int yyget_debug  (void)
-{
-        return yy_flex_debug;
-}
-
-void yyset_debug (int  bdebug )
-{
-        yy_flex_debug = bdebug ;
-}
-
-static int yy_init_globals (void)
-{
-        /* Initialization is the same as for the non-reentrant scanner.
-     * This function is called from yylex_destroy(), so don't allocate here.
-     */
-
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
-    (yy_c_buf_p) = (char *) 0;
-    (yy_init) = 0;
-    (yy_start) = 0;
-
-/* Defined in main.c */
-#ifdef YY_STDINIT
-    yyin = stdin;
-    yyout = stdout;
-#else
-    yyin = (FILE *) 0;
-    yyout = (FILE *) 0;
-#endif
-
-    /* For future reference: Set errno on error, since we are called by
-     * yylex_init()
-     */
-    return 0;
-}
-
-/* yylex_destroy is for both reentrant and non-reentrant scanners. */
-int yylex_destroy  (void)
-{
-    
-    /* Pop the buffer stack, destroying each element. */
-	while(YY_CURRENT_BUFFER){
-		yy_delete_buffer(YY_CURRENT_BUFFER  );
-		YY_CURRENT_BUFFER_LVALUE = NULL;
-		yypop_buffer_state();
-	}
-
-	/* Destroy the stack itself. */
-	yyfree((yy_buffer_stack) );
-	(yy_buffer_stack) = NULL;
-
-    /* Reset the globals. This is important in a non-reentrant scanner so the next time
-     * yylex() is called, initialization will occur. */
-    yy_init_globals( );
-
-    return 0;
-}
-
-/*
- * Internal utility routines.
- */
-
-#ifndef yytext_ptr
-static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
-{
-	register int i;
-	for ( i = 0; i < n; ++i )
-		s1[i] = s2[i];
-}
-#endif
-
-#ifdef YY_NEED_STRLEN
-static int yy_flex_strlen (yyconst char * s )
-{
-	register int n;
-	for ( n = 0; s[n]; ++n )
-		;
-
-	return n;
-}
-#endif
-
-void *yyalloc (yy_size_t  size )
-{
-	return (void *) malloc( size );
-}
-
-void *yyrealloc  (void * ptr, yy_size_t  size )
-{
-	/* The cast to (char *) in the following accommodates both
-	 * implementations that use char* generic pointers, and those
-	 * that use void* generic pointers.  It works with the latter
-	 * because both ANSI C and C++ allow castless assignment from
-	 * any pointer type to void*, and deal with argument conversions
-	 * as though doing an assignment.
-	 */
-	return (void *) realloc( (char *) ptr, size );
-}
-
-void yyfree (void * ptr )
-{
-	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
-}
-
-#define YYTABLES_NAME "yytables"
-
-#line 118 "apertium_rexpresstag.cctmp"
-
-
-
-void usage(string const &progname)
-{
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
-  cerr << "xpresstag format processor " << endl;
-  exit(EXIT_SUCCESS);
-}
-
-int main(int argc, char *argv[])
-{
-  LtLocale::tryToSetLocale();
-
-  if(argc > 3)
-  {
-    usage(argv[0]);
-  }
-
-  switch(argc)
-  {
-    case 3:
-      yyout = fopen(argv[2], "w");
-      if(!yyout)
-      {
-        usage(argv[0]);
-      }
-    case 2:
-      yyin = fopen(argv[1], "r");
-      if(!yyin)
-      {
-        usage(argv[0]);
-      }
-      break;
-    default:
-      break;
-  }
-#ifdef _WIN32
-  _setmode(_fileno(yyin), _O_U8TEXT);
-  _setmode(_fileno(yyout), _O_U8TEXT);
-#endif
-
-
-
-  yylex();
-  fclose(yyin);
-  fclose(yyout);
-}
-
diff --git a/apertium/deformat.xsl b/apertium/deformat.xsl
index 7a4dba3..e7c4626 100644
--- a/apertium/deformat.xsl
+++ b/apertium/deformat.xsl
@@ -165,6 +165,7 @@ wstring buffer;
 string symbuf;
 bool isDot, hasWrite_dot, hasWrite_white;
 bool eosIncond;
+bool noDot;
 FILE *formatfile;
 string last;
 int current;
@@ -510,7 +511,14 @@ void preDot()
 {
   if(eosIncond)
   {
-    fputws_unlocked(L".[]", yyout);
+    if(noDot)
+    {
+      fputws_unlocked(L"[]", yyout);
+    }
+    else
+    {
+      fputws_unlocked(L".[]", yyout);
+    }
   }
 }
 
@@ -518,7 +526,14 @@ void printBuffer()
 {
   if(isDot && !eosIncond)
   {
-    fputws_unlocked(L".[]", yyout);
+    if(noDot)
+    {
+      fputws_unlocked(L"[]", yyout);
+    }
+    else
+    {
+      fputws_unlocked(L".[]", yyout);
+    }
     isDot = false;
   }
   if(buffer.size() > <xsl:value-of select="/format/options/largeblocks/@size"/>)
@@ -732,7 +747,7 @@ void usage(string const &progname)
   cerr << "USAGE: " << progname << " format_file [input_file [output_file]" << ']' << endl;
   </xsl:when>
   <xsl:otherwise>
-  cerr << "USAGE: " << progname << " [input_file [output_file]" << ']' << endl;
+  cerr << "USAGE: " << progname << " [ -h | -i | -n ] [input_file [output_file]" << ']' << endl;
   </xsl:otherwise>
 </xsl:choose>
   cerr << "<xsl:value-of select="./@name"/> format processor " << endl;
@@ -745,10 +760,18 @@ int main(int argc, char *argv[])
   size_t base = 0;
   eosIncond = false;
 
-  if(argc >= 2 && !strcmp(argv[1],"-i"))
+  if(argc >= 2)
   {
-    eosIncond = true;
-    base++;
+    if(!strcmp(argv[1],"-i"))
+    {
+      eosIncond = true;
+      base++;
+    }
+    else if(!strcmp(argv[1],"-n"))
+    {
+      noDot = true;
+      base++;
+    }
   }
 <xsl:choose>
   <xsl:when test="$mode=string('matxin')">
diff --git a/apertium/hmm.cc b/apertium/hmm.cc
index 1709189..09a37da 100644
--- a/apertium/hmm.cc
+++ b/apertium/hmm.cc
@@ -803,6 +803,9 @@ HMM::tagger(FILE *in, FILE *out, bool show_all_good_first) {
 #ifdef __GNUC__
     clear_array_double(alpha[nwpend%2], N);    
     clear_array_vector(best[nwpend%2], N);
+#else
+    clear_array_double(&alpha[nwpend%2][0], N);    
+    clear_array_vector(&best[nwpend%2][0], N);
 #endif
     
     //Induction
diff --git a/apertium/interchunk.cc b/apertium/interchunk.cc
index 89dba51..7147270 100644
--- a/apertium/interchunk.cc
+++ b/apertium/interchunk.cc
@@ -63,6 +63,7 @@ Interchunk::Interchunk()
   null_flush = false;
   internal_null_flush = false;
   trace = false;
+  emptyblank = "";
 }
 
 Interchunk::~Interchunk()
@@ -632,12 +633,13 @@ Interchunk::processCallMacro(xmlNode *localroot)
   InterchunkWord **myword = NULL;
   if(npar > 0)
   {
-    myword = new InterchunkWord *[npar];  
+    myword = new InterchunkWord *[npar];
   }
   string **myblank = NULL;
-  if(npar > 1)
+  if(npar > 0)
   {
-    myblank = new string *[npar - 1];
+    myblank = new string *[npar];
+    myblank[npar-1] = &emptyblank;
   }
 
   int idx = 0;
@@ -660,7 +662,7 @@ Interchunk::processCallMacro(xmlNode *localroot)
   swap(myword, word);
   swap(myblank, blank);
   swap(npar, lword);
-  
+
   for(xmlNode *i = macro->children; i != NULL; i = i->next)
   {
     if(i->type == XML_ELEMENT_NODE)
diff --git a/apertium/interchunk.h b/apertium/interchunk.h
index 0662870..eea20ed 100644
--- a/apertium/interchunk.h
+++ b/apertium/interchunk.h
@@ -74,6 +74,7 @@ private:
   bool null_flush;
   bool internal_null_flush;
   bool trace;
+  string emptyblank;
   
   void copy(Interchunk const &o);
   void destroy();
diff --git a/apertium/modes.rng b/apertium/modes.rng
new file mode 100644
index 0000000..62695c2
--- /dev/null
+++ b/apertium/modes.rng
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- DTD for the modes.xml file     -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+  <define name="modes">
+    <element name="modes">
+      <ref name="attlist.modes"/>
+      <oneOrMore>
+        <ref name="mode"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.modes" combine="interleave">
+    <empty/>
+  </define>
+  <define name="mode">
+    <element name="mode">
+      <ref name="attlist.mode"/>
+      <ref name="pipeline"/>
+    </element>
+  </define>
+  <define name="attlist.mode" combine="interleave">
+    <attribute name="name">
+      <data type="ID"/>
+    </attribute>
+  </define>
+  <define name="attlist.mode" combine="interleave">
+    <optional>
+      <attribute name="install"/>
+    </optional>
+  </define>
+  <define name="pipeline">
+    <element name="pipeline">
+      <ref name="attlist.pipeline"/>
+      <oneOrMore>
+        <ref name="program"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.pipeline" combine="interleave">
+    <empty/>
+  </define>
+  <define name="program">
+    <element name="program">
+      <ref name="attlist.program"/>
+      <zeroOrMore>
+        <ref name="file"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="attlist.program" combine="interleave">
+    <attribute name="name"/>
+  </define>
+  <define name="attlist.program" combine="interleave">
+    <optional>
+      <attribute name="prefix"/>
+    </optional>
+  </define>
+  <define name="file">
+    <element name="file">
+      <ref name="attlist.file"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.file" combine="interleave">
+    <attribute name="name"/>
+  </define>
+  <start>
+    <choice>
+      <ref name="modes"/>
+    </choice>
+  </start>
+</grammar>
diff --git a/apertium/rtf-format-cp1250.xml b/apertium/rtf-format-cp1250.xml
new file mode 100644
index 0000000..1f9489a
--- /dev/null
+++ b/apertium/rtf-format-cp1250.xml
@@ -0,0 +1,532 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<format name="rtf"> <!-- version 1.0 -->
+  <options>
+    <largeblocks size="8192"/>
+    <input encoding="windows-1250"/>
+    <output encoding="UTF-8"/>
+    <tag-name regexp=""/>
+    <escape-chars regexp='\\|[][<>@^$/{}]'/> 
+<!--    <escape-chars regexp='[]]^@<>/]'/>  -->
+
+    <space-chars regexp='[ \n\t\r$*]'/>
+    <case-sensitive value="no"/>
+  </options>
+
+  <rules>
+    
+    <!-- Exceptions with priority 1  -->
+    <!-- Style Sheet names are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\snext""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\keycode""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <!-- Font names are also format: -->
+    <format-rule type="comment" eos="no" priority="1">
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fcharset""/>
+      <end   regexp="";""/>
+    </format-rule>
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fnil""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\froman""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fswiss""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fmodern""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fscript""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fdecor""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\ftech""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fbidi""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\falt""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fontfile""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fn""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\sbasedon""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\additive""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <!-- File names are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\file""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- List Table names are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\listname""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\leveltext""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\levelnumbers""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <!-- Pictures are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\pict""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\sn""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\sv""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"{\\\*\\blipuid  "[^ \n\r]+"}""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Objects are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\object""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Document Variables are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\docvar""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Bookmarks are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\bkmkstart""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\bkmkend""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Index Entries are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\rxe""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Fields are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fldinst""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fldrslt""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Other format tags which contain #CDATA: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\pntxt""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\colortbl""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Hexadecimal Data -->
+    <format-rule type="empty" eos="yes" priority="1">
+      <tag regexp="[a-f0-9]{20,}" />
+    </format-rule>
+    
+    
+    
+    
+
+    <!-- End of sentence tags: par, row, cell -->
+    <format-rule type="empty" eos="yes" priority="2">
+      <tag regexp=""\\par"|"\\row"|"\\cell"" />
+    </format-rule>
+    
+
+    <format-rule type="open" eos="no" priority="3">
+      <tag regexp=""{"[ \n\r]*\\[^'][^ \n\r\\]*[ \n\r]*"/>
+    </format-rule>
+
+    <!-- General Tags Specification -->
+    <format-rule type="empty" eos="no" priority="3">
+      <tag regexp="\\[^'][^ \n\r\\]*[ \n\r]*"/>
+    </format-rule>
+    <format-rule type="close" eos="no" priority="4">
+      <tag regexp=""}""/>
+    </format-rule>
+    <format-rule type="open" eos="no" priority="4">
+      <tag regexp=""{""/>
+    </format-rule>
+
+
+    <replacement-rule regexp=""\\'"[0-9a-fA-F][0-9a-fA-F](\r|\n|"\r\n")?"> 
+      <replace source="\\'8a" target="Š" prefer="yes"/>
+      <replace source="\\'8c" target="Ś" prefer="yes"/>
+      <replace source="\\'8d" target="Ť" prefer="yes"/>
+      <replace source="\\'8e" target="Ž" prefer="yes"/>
+      <replace source="\\'8f" target="Ź" prefer="yes"/>
+      <replace source="\\'9a" target="š" prefer="yes"/>
+      <replace source="\\'9c" target="ś" prefer="yes"/>
+      <replace source="\\'9d" target="ť" prefer="yes"/>
+      <replace source="\\'9e" target="ž" prefer="yes"/>
+      <replace source="\\'9f" target="ź" prefer="yes"/>
+      <replace source="\\'a3" target="Ł" prefer="yes"/>
+      <replace source="\\'a5" target="Ą" prefer="yes"/>
+      <replace source="\\'aa" target="Ş" prefer="yes"/>
+      <replace source="\\'af" target="Ż" prefer="yes"/>
+      <replace source="\\'b3" target="ł" prefer="yes"/>
+      <replace source="\\'b5" target="µ" prefer="yes"/>
+      <replace source="\\'b9" target="ą" prefer="yes"/>
+      <replace source="\\'ba" target="ş" prefer="yes"/>
+      <replace source="\\'bc" target="Ľ" prefer="yes"/>
+      <replace source="\\'be" target="ľ" prefer="yes"/>
+      <replace source="\\'bf" target="ż" prefer="yes"/>
+      <replace source="\\'c0" target="Ŕ" prefer="yes"/>
+      <replace source="\\'c1" target="Á" prefer="yes"/>
+      <replace source="\\'c2" target="Â" prefer="yes"/>
+      <replace source="\\'c3" target="Ă" prefer="yes"/>
+      <replace source="\\'c4" target="Ä" prefer="yes"/>
+      <replace source="\\'c5" target="Ĺ" prefer="yes"/>
+      <replace source="\\'c6" target="Ć" prefer="yes"/>
+      <replace source="\\'c7" target="Ç" prefer="yes"/>
+      <replace source="\\'c8" target="Č" prefer="yes"/>
+      <replace source="\\'c9" target="É" prefer="yes"/>
+      <replace source="\\'ca" target="Ę" prefer="yes"/>
+      <replace source="\\'cb" target="Ë" prefer="yes"/>
+      <replace source="\\'cc" target="Ě" prefer="yes"/>
+      <replace source="\\'cd" target="Í" prefer="yes"/>
+      <replace source="\\'ce" target="Î" prefer="yes"/>
+      <replace source="\\'cf" target="Ď" prefer="yes"/>
+      <replace source="\\'d0" target="Ð" prefer="yes"/>
+      <replace source="\\'d1" target="Ń" prefer="yes"/>
+      <replace source="\\'d2" target="Ň" prefer="yes"/>
+      <replace source="\\'d3" target="Ó" prefer="yes"/>
+      <replace source="\\'d4" target="Ô" prefer="yes"/>
+      <replace source="\\'d5" target="Ő" prefer="yes"/>
+      <replace source="\\'d6" target="Ö" prefer="yes"/>
+      <replace source="\\'d8" target="Ř" prefer="yes"/>
+      <replace source="\\'d9" target="Ů" prefer="yes"/>
+      <replace source="\\'da" target="Ú" prefer="yes"/>
+      <replace source="\\'db" target="Ű" prefer="yes"/>
+      <replace source="\\'dc" target="Ü" prefer="yes"/>
+      <replace source="\\'dd" target="Ý" prefer="yes"/>
+      <replace source="\\'de" target="Ţ" prefer="yes"/>
+      <replace source="\\'df" target="ß" prefer="yes"/>
+      <replace source="\\'e0" target="ŕ" prefer="yes"/>
+      <replace source="\\'e1" target="á" prefer="yes"/>
+      <replace source="\\'e2" target="â" prefer="yes"/>
+      <replace source="\\'e3" target="ă" prefer="yes"/>
+      <replace source="\\'e4" target="ä" prefer="yes"/>
+      <replace source="\\'e5" target="ĺ" prefer="yes"/>
+      <replace source="\\'e6" target="ć" prefer="yes"/>
+      <replace source="\\'e7" target="ç" prefer="yes"/>
+      <replace source="\\'e8" target="č" prefer="yes"/>
+      <replace source="\\'e9" target="é" prefer="yes"/>
+      <replace source="\\'ea" target="ę" prefer="yes"/>
+      <replace source="\\'eb" target="ë" prefer="yes"/>
+      <replace source="\\'ec" target="ě" prefer="yes"/>
+      <replace source="\\'ed" target="í" prefer="yes"/>
+      <replace source="\\'ee" target="î" prefer="yes"/>
+      <replace source="\\'ef" target="ď" prefer="yes"/>
+      <replace source="\\'f0" target="đ" prefer="yes"/>
+      <replace source="\\'f1" target="ń" prefer="yes"/>
+      <replace source="\\'f2" target="ň" prefer="yes"/>
+      <replace source="\\'f3" target="ó" prefer="yes"/>
+      <replace source="\\'f4" target="ô" prefer="yes"/>
+      <replace source="\\'f5" target="ő" prefer="yes"/>
+      <replace source="\\'f6" target="ö" prefer="yes"/>
+      <replace source="\\'f8" target="ř" prefer="yes"/>
+      <replace source="\\'f9" target="ů" prefer="yes"/>
+      <replace source="\\'fa" target="ú" prefer="yes"/>
+      <replace source="\\'fb" target="ű" prefer="yes"/>
+      <replace source="\\'fc" target="ü" prefer="yes"/>
+      <replace source="\\'fd" target="ý" prefer="yes"/>
+      <replace source="\\'fe" target="ţ" prefer="yes"/>
+      <replace source="\\'ff" target="˙" prefer="yes"/>
+      
+     <!-- The same characters followed by a \r\n: -->
+      <replace source="\\'8a\r\n" target="Š"/>
+      <replace source="\\'8c\r\n" target="Ś"/>
+      <replace source="\\'8d\r\n" target="Ť"/>
+      <replace source="\\'8e\r\n" target="Ž"/>
+      <replace source="\\'8f\r\n" target="Ź"/>
+      <replace source="\\'9a\r\n" target="š"/>
+      <replace source="\\'9c\r\n" target="ś"/>
+      <replace source="\\'9d\r\n" target="ť"/>
+      <replace source="\\'9e\r\n" target="ž"/>
+      <replace source="\\'9f\r\n" target="ź"/>
+      <replace source="\\'a3\r\n" target="Ł"/>
+      <replace source="\\'a5\r\n" target="Ą"/>
+      <replace source="\\'aa\r\n" target="Ş"/>
+      <replace source="\\'af\r\n" target="Ż"/>
+      <replace source="\\'b3\r\n" target="ł"/>
+      <replace source="\\'b5\r\n" target="µ"/>
+      <replace source="\\'b9\r\n" target="ą"/>
+      <replace source="\\'ba\r\n" target="ş"/>
+      <replace source="\\'bc\r\n" target="Ľ"/>
+      <replace source="\\'be\r\n" target="ľ"/>
+      <replace source="\\'bf\r\n" target="ż"/>
+      <replace source="\\'c0\r\n" target="Ŕ"/>
+      <replace source="\\'c1\r\n" target="Á"/>
+      <replace source="\\'c2\r\n" target="Â"/>
+      <replace source="\\'c3\r\n" target="Ă"/>
+      <replace source="\\'c4\r\n" target="Ä"/>
+      <replace source="\\'c5\r\n" target="Ĺ"/>
+      <replace source="\\'c6\r\n" target="Ć"/>
+      <replace source="\\'c7\r\n" target="Ç"/>
+      <replace source="\\'c8\r\n" target="Č"/>
+      <replace source="\\'c9\r\n" target="É"/>
+      <replace source="\\'ca\r\n" target="Ę"/>
+      <replace source="\\'cb\r\n" target="Ë"/>
+      <replace source="\\'cc\r\n" target="Ě"/>
+      <replace source="\\'cd\r\n" target="Í"/>
+      <replace source="\\'ce\r\n" target="Î"/>
+      <replace source="\\'cf\r\n" target="Ď"/>
+      <replace source="\\'d0\r\n" target="Ð"/>
+      <replace source="\\'d1\r\n" target="Ń"/>
+      <replace source="\\'d2\r\n" target="Ň"/>
+      <replace source="\\'d3\r\n" target="Ó"/>
+      <replace source="\\'d4\r\n" target="Ô"/>
+      <replace source="\\'d5\r\n" target="Ő"/>
+      <replace source="\\'d6\r\n" target="Ö"/>
+      <replace source="\\'d8\r\n" target="Ř"/>
+      <replace source="\\'d9\r\n" target="Ů"/>
+      <replace source="\\'da\r\n" target="Ú"/>
+      <replace source="\\'db\r\n" target="Ű"/>
+      <replace source="\\'dc\r\n" target="Ü"/>
+      <replace source="\\'dd\r\n" target="Ý"/>
+      <replace source="\\'de\r\n" target="Ţ"/>
+      <replace source="\\'df\r\n" target="ß"/>
+      <replace source="\\'e0\r\n" target="ŕ"/>
+      <replace source="\\'e1\r\n" target="á"/>
+      <replace source="\\'e2\r\n" target="â"/>
+      <replace source="\\'e3\r\n" target="ă"/>
+      <replace source="\\'e4\r\n" target="ä"/>
+      <replace source="\\'e5\r\n" target="ĺ"/>
+      <replace source="\\'e6\r\n" target="ć"/>
+      <replace source="\\'e7\r\n" target="ç"/>
+      <replace source="\\'e8\r\n" target="č"/>
+      <replace source="\\'e9\r\n" target="é"/>
+      <replace source="\\'ea\r\n" target="ę"/>
+      <replace source="\\'eb\r\n" target="ë"/>
+      <replace source="\\'ec\r\n" target="ě"/>
+      <replace source="\\'ed\r\n" target="í"/>
+      <replace source="\\'ee\r\n" target="î"/>
+      <replace source="\\'ef\r\n" target="ď"/>
+      <replace source="\\'f0\r\n" target="đ"/>
+      <replace source="\\'f1\r\n" target="ń"/>
+      <replace source="\\'f2\r\n" target="ň"/>
+      <replace source="\\'f3\r\n" target="ó"/>
+      <replace source="\\'f4\r\n" target="ô"/>
+      <replace source="\\'f5\r\n" target="ő"/>
+      <replace source="\\'f6\r\n" target="ö"/>
+      <replace source="\\'f8\r\n" target="ř"/>
+      <replace source="\\'f9\r\n" target="ů"/>
+      <replace source="\\'fa\r\n" target="ú"/>
+      <replace source="\\'fb\r\n" target="ű"/>
+      <replace source="\\'fc\r\n" target="ü"/>
+      <replace source="\\'fd\r\n" target="ý"/>
+      <replace source="\\'fe\r\n" target="ţ"/>
+      <replace source="\\'ff\r\n" target="˙"/>
+      <!-- The same characters followed by a \n: -->
+      <replace source="\\'8a\n" target="Š"/>
+      <replace source="\\'8c\n" target="Ś"/>
+      <replace source="\\'8d\n" target="Ť"/>
+      <replace source="\\'8e\n" target="Ž"/>
+      <replace source="\\'8f\n" target="Ź"/>
+      <replace source="\\'9a\n" target="š"/>
+      <replace source="\\'9c\n" target="ś"/>
+      <replace source="\\'9d\n" target="ť"/>
+      <replace source="\\'9e\n" target="ž"/>
+      <replace source="\\'9f\n" target="ź"/>
+      <replace source="\\'a3\n" target="Ł"/>
+      <replace source="\\'a5\n" target="Ą"/>
+      <replace source="\\'aa\n" target="Ş"/>
+      <replace source="\\'af\n" target="Ż"/>
+      <replace source="\\'b3\n" target="ł"/>
+      <replace source="\\'b5\n" target="µ"/>
+      <replace source="\\'b9\n" target="ą"/>
+      <replace source="\\'ba\n" target="ş"/>
+      <replace source="\\'bc\n" target="Ľ"/>
+      <replace source="\\'be\n" target="ľ"/>
+      <replace source="\\'bf\n" target="ż"/>
+      <replace source="\\'c0\n" target="Ŕ"/>
+      <replace source="\\'c1\n" target="Á"/>
+      <replace source="\\'c2\n" target="Â"/>
+      <replace source="\\'c3\n" target="Ă"/>
+      <replace source="\\'c4\n" target="Ä"/>
+      <replace source="\\'c5\n" target="Ĺ"/>
+      <replace source="\\'c6\n" target="Ć"/>
+      <replace source="\\'c7\n" target="Ç"/>
+      <replace source="\\'c8\n" target="Č"/>
+      <replace source="\\'c9\n" target="É"/>
+      <replace source="\\'ca\n" target="Ę"/>
+      <replace source="\\'cb\n" target="Ë"/>
+      <replace source="\\'cc\n" target="Ě"/>
+      <replace source="\\'cd\n" target="Í"/>
+      <replace source="\\'ce\n" target="Î"/>
+      <replace source="\\'cf\n" target="Ď"/>
+      <replace source="\\'d0\n" target="Ð"/>
+      <replace source="\\'d1\n" target="Ń"/>
+      <replace source="\\'d2\n" target="Ň"/>
+      <replace source="\\'d3\n" target="Ó"/>
+      <replace source="\\'d4\n" target="Ô"/>
+      <replace source="\\'d5\n" target="Ő"/>
+      <replace source="\\'d6\n" target="Ö"/>
+      <replace source="\\'d8\n" target="Ř"/>
+      <replace source="\\'d9\n" target="Ů"/>
+      <replace source="\\'da\n" target="Ú"/>
+      <replace source="\\'db\n" target="Ű"/>
+      <replace source="\\'dc\n" target="Ü"/>
+      <replace source="\\'dd\n" target="Ý"/>
+      <replace source="\\'de\n" target="Ţ"/>
+      <replace source="\\'df\n" target="ß"/>
+      <replace source="\\'e0\n" target="ŕ"/>
+      <replace source="\\'e1\n" target="á"/>
+      <replace source="\\'e2\n" target="â"/>
+      <replace source="\\'e3\n" target="ă"/>
+      <replace source="\\'e4\n" target="ä"/>
+      <replace source="\\'e5\n" target="ĺ"/>
+      <replace source="\\'e6\n" target="ć"/>
+      <replace source="\\'e7\n" target="ç"/>
+      <replace source="\\'e8\n" target="č"/>
+      <replace source="\\'e9\n" target="é"/>
+      <replace source="\\'ea\n" target="ę"/>
+      <replace source="\\'eb\n" target="ë"/>
+      <replace source="\\'ec\n" target="ě"/>
+      <replace source="\\'ed\n" target="í"/>
+      <replace source="\\'ee\n" target="î"/>
+      <replace source="\\'ef\n" target="ď"/>
+      <replace source="\\'f0\n" target="đ"/>
+      <replace source="\\'f1\n" target="ń"/>
+      <replace source="\\'f2\n" target="ň"/>
+      <replace source="\\'f3\n" target="ó"/>
+      <replace source="\\'f4\n" target="ô"/>
+      <replace source="\\'f5\n" target="ő"/>
+      <replace source="\\'f6\n" target="ö"/>
+      <replace source="\\'f8\n" target="ř"/>
+      <replace source="\\'f9\n" target="ů"/>
+      <replace source="\\'fa\n" target="ú"/>
+      <replace source="\\'fb\n" target="ű"/>
+      <replace source="\\'fc\n" target="ü"/>
+      <replace source="\\'fd\n" target="ý"/>
+      <replace source="\\'fe\n" target="ţ"/>
+      <replace source="\\'ff\n" target="˙"/>
+      <!-- The same characters followed by a \r: -->
+      <replace source="\\'8a\r" target="Š"/>
+      <replace source="\\'8c\r" target="Ś"/>
+      <replace source="\\'8d\r" target="Ť"/>
+      <replace source="\\'8e\r" target="Ž"/>
+      <replace source="\\'8f\r" target="Ź"/>
+      <replace source="\\'9a\r" target="š"/>
+      <replace source="\\'9c\r" target="ś"/>
+      <replace source="\\'9d\r" target="ť"/>
+      <replace source="\\'9e\r" target="ž"/>
+      <replace source="\\'9f\r" target="ź"/>
+      <replace source="\\'a3\r" target="Ł"/>
+      <replace source="\\'a5\r" target="Ą"/>
+      <replace source="\\'aa\r" target="Ş"/>
+      <replace source="\\'af\r" target="Ż"/>
+      <replace source="\\'b3\r" target="ł"/>
+      <replace source="\\'b5\r" target="µ"/>
+      <replace source="\\'b9\r" target="ą"/>
+      <replace source="\\'ba\r" target="ş"/>
+      <replace source="\\'bc\r" target="Ľ"/>
+      <replace source="\\'be\r" target="ľ"/>
+      <replace source="\\'bf\r" target="ż"/>
+      <replace source="\\'c0\r" target="Ŕ"/>
+      <replace source="\\'c1\r" target="Á"/>
+      <replace source="\\'c2\r" target="Â"/>
+      <replace source="\\'c3\r" target="Ă"/>
+      <replace source="\\'c4\r" target="Ä"/>
+      <replace source="\\'c5\r" target="Ĺ"/>
+      <replace source="\\'c6\r" target="Ć"/>
+      <replace source="\\'c7\r" target="Ç"/>
+      <replace source="\\'c8\r" target="Č"/>
+      <replace source="\\'c9\r" target="É"/>
+      <replace source="\\'ca\r" target="Ę"/>
+      <replace source="\\'cb\r" target="Ë"/>
+      <replace source="\\'cc\r" target="Ě"/>
+      <replace source="\\'cd\r" target="Í"/>
+      <replace source="\\'ce\r" target="Î"/>
+      <replace source="\\'cf\r" target="Ď"/>
+      <replace source="\\'d0\r" target="Ð"/>
+      <replace source="\\'d1\r" target="Ń"/>
+      <replace source="\\'d2\r" target="Ň"/>
+      <replace source="\\'d3\r" target="Ó"/>
+      <replace source="\\'d4\r" target="Ô"/>
+      <replace source="\\'d5\r" target="Ő"/>
+      <replace source="\\'d6\r" target="Ö"/>
+      <replace source="\\'d8\r" target="Ř"/>
+      <replace source="\\'d9\r" target="Ů"/>
+      <replace source="\\'da\r" target="Ú"/>
+      <replace source="\\'db\r" target="Ű"/>
+      <replace source="\\'dc\r" target="Ü"/>
+      <replace source="\\'dd\r" target="Ý"/>
+      <replace source="\\'de\r" target="Ţ"/>
+      <replace source="\\'df\r" target="ß"/>
+      <replace source="\\'e0\r" target="ŕ"/>
+      <replace source="\\'e1\r" target="á"/>
+      <replace source="\\'e2\r" target="â"/>
+      <replace source="\\'e3\r" target="ă"/>
+      <replace source="\\'e4\r" target="ä"/>
+      <replace source="\\'e5\r" target="ĺ"/>
+      <replace source="\\'e6\r" target="ć"/>
+      <replace source="\\'e7\r" target="ç"/>
+      <replace source="\\'e8\r" target="č"/>
+      <replace source="\\'e9\r" target="é"/>
+      <replace source="\\'ea\r" target="ę"/>
+      <replace source="\\'eb\r" target="ë"/>
+      <replace source="\\'ec\r" target="ě"/>
+      <replace source="\\'ed\r" target="í"/>
+      <replace source="\\'ee\r" target="î"/>
+      <replace source="\\'ef\r" target="ď"/>
+      <replace source="\\'f0\r" target="đ"/>
+      <replace source="\\'f1\r" target="ń"/>
+      <replace source="\\'f2\r" target="ň"/>
+      <replace source="\\'f3\r" target="ó"/>
+      <replace source="\\'f4\r" target="ô"/>
+      <replace source="\\'f5\r" target="ő"/>
+      <replace source="\\'f6\r" target="ö"/>
+      <replace source="\\'f8\r" target="ř"/>
+      <replace source="\\'f9\r" target="ů"/>
+      <replace source="\\'fa\r" target="ú"/>
+      <replace source="\\'fb\r" target="ű"/>
+      <replace source="\\'fc\r" target="ü"/>
+      <replace source="\\'fd\r" target="ý"/>
+      <replace source="\\'fe\r" target="ţ"/>
+      <replace source="\\'ff\r" target="˙"/>
+    </replacement-rule>
+  </rules>
+
+</format>
diff --git a/apertium/rtf-format-cp1251.xml b/apertium/rtf-format-cp1251.xml
new file mode 100644
index 0000000..f9851ec
--- /dev/null
+++ b/apertium/rtf-format-cp1251.xml
@@ -0,0 +1,576 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<format name="rtf"> <!-- version 1.0 -->
+  <options>
+    <largeblocks size="8192"/>
+    <input encoding="windows-1251"/>
+    <output encoding="UTF-8"/>
+    <tag-name regexp=""/>
+    <escape-chars regexp='\\|[][<>@^$/{}]'/> 
+<!--    <escape-chars regexp='[]]^@<>/]'/>  -->
+
+    <space-chars regexp='[ \n\t\r$*]'/>
+    <case-sensitive value="no"/>
+  </options>
+
+  <rules>
+    
+    <!-- Exceptions with priority 1  -->
+    <!-- Style Sheet names are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\snext""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\keycode""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <!-- Font names are also format: -->
+    <format-rule type="comment" eos="no" priority="1">
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fcharset""/>
+      <end   regexp="";""/>
+    </format-rule>
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fnil""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\froman""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fswiss""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fmodern""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fscript""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fdecor""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\ftech""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fbidi""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\falt""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fontfile""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fn""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\sbasedon""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\additive""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <!-- File names are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\file""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- List Table names are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\listname""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\leveltext""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\levelnumbers""/>
+      <end   regexp="";""/>
+    </format-rule> 
+    <!-- Pictures are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\pict""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\sn""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\sv""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"{\\\*\\blipuid  "[^ \n\r]+"}""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Objects are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\object""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Document Variables are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\docvar""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Bookmarks are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\bkmkstart""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\bkmkend""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Index Entries are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\rxe""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Fields are also format: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fldinst""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\fldrslt""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Other format tags which contain #CDATA: -->
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\pntxt""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <format-rule type="comment" eos="no" priority="1"> 
+      <begin regexp=""{"[ \n\r]*(\\[^'][^ \n\r\\]*[ \n\r]*)*"\\colortbl""/>
+      <end   regexp=""}""/>
+    </format-rule> 
+    <!-- Hexadecimal Data -->
+    <format-rule type="empty" eos="yes" priority="1">
+      <tag regexp="[a-f0-9]{20,}" />
+    </format-rule>
+    
+    
+    
+    
+
+    <!-- End of sentence tags: par, row, cell -->
+    <format-rule type="empty" eos="yes" priority="2">
+      <tag regexp=""\\par"|"\\row"|"\\cell"" />
+    </format-rule>
+    
+
+    <format-rule type="open" eos="no" priority="3">
+      <tag regexp=""{"[ \n\r]*\\[^'][^ \n\r\\]*[ \n\r]*"/>
+    </format-rule>
+
+    <!-- General Tags Specification -->
+    <format-rule type="empty" eos="no" priority="3">
+      <tag regexp="\\[^'][^ \n\r\\]*[ \n\r]*"/>
+    </format-rule>
+    <format-rule type="close" eos="no" priority="4">
+      <tag regexp=""}""/>
+    </format-rule>
+    <format-rule type="open" eos="no" priority="4">
+      <tag regexp=""{""/>
+    </format-rule>
+
+
+    <replacement-rule regexp=""\\'"[0-9a-fA-F][0-9a-fA-F](\r|\n|"\r\n")?"> 
+      <replace source="\\'80" target="Ђ" prefer="yes"/>
+      <replace source="\\'81" target="Ѓ" prefer="yes"/>
+      <replace source="\\'83" target="ѓ" prefer="yes"/>
+      <replace source="\\'8a" target="Љ" prefer="yes"/>
+      <replace source="\\'8c" target="Њ" prefer="yes"/>
+      <replace source="\\'8d" target="Ќ" prefer="yes"/>
+      <replace source="\\'8e" target="Ћ" prefer="yes"/>
+      <replace source="\\'8f" target="Џ" prefer="yes"/>
+      <replace source="\\'90" target="ђ" prefer="yes"/>
+      <replace source="\\'9a" target="љ" prefer="yes"/>
+      <replace source="\\'9c" target="њ" prefer="yes"/>
+      <replace source="\\'9d" target="ќ" prefer="yes"/>
+      <replace source="\\'9e" target="ћ" prefer="yes"/>
+      <replace source="\\'9f" target="џ" prefer="yes"/>
+      <replace source="\\'a1" target="Ў" prefer="yes"/>
+      <replace source="\\'a2" target="ў" prefer="yes"/>
+      <replace source="\\'a3" target="Ј" prefer="yes"/>
+      <replace source="\\'a5" target="Ґ" prefer="yes"/>
+      <replace source="\\'a8" target="Ё" prefer="yes"/>
+      <replace source="\\'aa" target="Є" prefer="yes"/>
+      <replace source="\\'af" target="Ї" prefer="yes"/>
+      <replace source="\\'b3" target="і" prefer="yes"/>
+      <replace source="\\'b4" target="ґ" prefer="yes"/>
+      <replace source="\\'b5" target="µ" prefer="yes"/>
+      <replace source="\\'b8" target="ё" prefer="yes"/>
+      <replace source="\\'ba" target="є" prefer="yes"/>
+      <replace source="\\'bc" target="ј" prefer="yes"/>
+      <replace source="\\'bd" target="Ѕ" prefer="yes"/>
+      <replace source="\\'be" target="ѕ" prefer="yes"/>
+      <replace source="\\'bf" target="ї" prefer="yes"/>
+      <replace source="\\'c0" target="А" prefer="yes"/>
+      <replace source="\\'c1" target="Б" prefer="yes"/>
+      <replace source="\\'c2" target="В" prefer="yes"/>
+      <replace source="\\'c3" target="Г" prefer="yes"/>
+      <replace source="\\'c4" target="Д" prefer="yes"/>
+      <replace source="\\'c5" target="Е" prefer="yes"/>
+      <replace source="\\'c6" target="Ж" prefer="yes"/>
+      <replace source="\\'c7" target="З" prefer="yes"/>
+      <replace source="\\'c8" target="И" prefer="yes"/>
+      <replace source="\\'c9" target="Й" prefer="yes"/>
+      <replace source="\\'ca" target="К" prefer="yes"/>
+      <replace source="\\'cb" target="Л" prefer="yes"/>
+      <replace source="\\'cc" target="М" prefer="yes"/>
+      <replace source="\\'cd" target="Н" prefer="yes"/>
+      <replace source="\\'ce" target="О" prefer="yes"/>
+      <replace source="\\'cf" target="П" prefer="yes"/>
+      <replace source="\\'d0" target="Р" prefer="yes"/>
+      <replace source="\\'d1" target="С" prefer="yes"/>
+      <replace source="\\'d2" target="Т" prefer="yes"/>
+      <replace source="\\'d3" target="У" prefer="yes"/>
+      <replace source="\\'d4" target="Ф" prefer="yes"/>
+      <replace source="\\'d5" target="Х" prefer="yes"/>
+      <replace source="\\'d6" target="Ц" prefer="yes"/>
+      <replace source="\\'d7" target="Ч" prefer="yes"/>
+      <replace source="\\'d8" target="Ш" prefer="yes"/>
+      <replace source="\\'d9" target="Щ" prefer="yes"/>
+      <replace source="\\'da" target="Ъ" prefer="yes"/>
+      <replace source="\\'db" target="Ы" prefer="yes"/>
+      <replace source="\\'dc" target="Ь" prefer="yes"/>
+      <replace source="\\'dd" target="Э" prefer="yes"/>
+      <replace source="\\'de" target="Ю" prefer="yes"/>
+      <replace source="\\'df" target="Я" prefer="yes"/>
+      <replace source="\\'e0" target="а" prefer="yes"/>
+      <replace source="\\'e1" target="б" prefer="yes"/>
+      <replace source="\\'e2" target="в" prefer="yes"/>
+      <replace source="\\'e3" target="г" prefer="yes"/>
+      <replace source="\\'e4" target="д" prefer="yes"/>
+      <replace source="\\'e5" target="е" prefer="yes"/>
+      <replace source="\\'e6" target="ж" prefer="yes"/>
+      <replace source="\\'e7" target="з" prefer="yes"/>
+      <replace source="\\'e8" target="и" prefer="yes"/>
+      <replace source="\\'e9" target="й" prefer="yes"/>
+      <replace source="\\'ea" target="к" prefer="yes"/>
+      <replace source="\\'eb" target="л" prefer="yes"/>
+      <replace source="\\'ec" target="м" prefer="yes"/>
+      <replace source="\\'ed" target="н" prefer="yes"/>
+      <replace source="\\'ee" target="о" prefer="yes"/>
+      <replace source="\\'ef" target="п" prefer="yes"/>
+      <replace source="\\'f0" target="р" prefer="yes"/>
+      <replace source="\\'f1" target="с" prefer="yes"/>
+      <replace source="\\'f2" target="т" prefer="yes"/>
+      <replace source="\\'f3" target="у" prefer="yes"/>
+      <replace source="\\'f4" target="ф" prefer="yes"/>
+      <replace source="\\'f5" target="х" prefer="yes"/>
+      <replace source="\\'f6" target="ц" prefer="yes"/>
+      <replace source="\\'f7" target="ч" prefer="yes"/>
+      <replace source="\\'f8" target="ш" prefer="yes"/>
+      <replace source="\\'f9" target="щ" prefer="yes"/>
+      <replace source="\\'fa" target="ъ" prefer="yes"/>
+      <replace source="\\'fb" target="ы" prefer="yes"/>
+      <replace source="\\'fc" target="ь" prefer="yes"/>
+      <replace source="\\'fd" target="э" prefer="yes"/>
+      <replace source="\\'fe" target="ю" prefer="yes"/>
+      <replace source="\\'ff" target="я" prefer="yes"/>
+      
+     <!-- The same characters followed by a \r\n: -->
+      <replace source="\\'80\r\n" target="Ђ"/>
+      <replace source="\\'81\r\n" target="Ѓ"/>
+      <replace source="\\'83\r\n" target="ѓ"/>
+      <replace source="\\'8a\r\n" target="Љ"/>
+      <replace source="\\'8c\r\n" target="Њ"/>
+      <replace source="\\'8d\r\n" target="Ќ"/>
+      <replace source="\\'8e\r\n" target="Ћ"/>
+      <replace source="\\'8f\r\n" target="Џ"/>
+      <replace source="\\'90\r\n" target="ђ"/>
+      <replace source="\\'9a\r\n" target="љ"/>
+      <replace source="\\'9c\r\n" target="њ"/>
+      <replace source="\\'9d\r\n" target="ќ"/>
+      <replace source="\\'9e\r\n" target="ћ"/>
+      <replace source="\\'9f\r\n" target="џ"/>
+      <replace source="\\'a1\r\n" target="Ў"/>
+      <replace source="\\'a2\r\n" target="ў"/>
+      <replace source="\\'a3\r\n" target="Ј"/>
+      <replace source="\\'a5\r\n" target="Ґ"/>
+      <replace source="\\'a8\r\n" target="Ё"/>
+      <replace source="\\'aa\r\n" target="Є"/>
+      <replace source="\\'af\r\n" target="Ї"/>
+      <replace source="\\'b3\r\n" target="і"/>
+      <replace source="\\'b4\r\n" target="ґ"/>
+      <replace source="\\'b5\r\n" target="µ"/>
+      <replace source="\\'b8\r\n" target="ё"/>
+      <replace source="\\'ba\r\n" target="є"/>
+      <replace source="\\'bc\r\n" target="ј"/>
+      <replace source="\\'bd\r\n" target="Ѕ"/>
+      <replace source="\\'be\r\n" target="ѕ"/>
+      <replace source="\\'bf\r\n" target="ї"/>
+      <replace source="\\'c0\r\n" target="А"/>
+      <replace source="\\'c1\r\n" target="Б"/>
+      <replace source="\\'c2\r\n" target="В"/>
+      <replace source="\\'c3\r\n" target="Г"/>
+      <replace source="\\'c4\r\n" target="Д"/>
+      <replace source="\\'c5\r\n" target="Е"/>
+      <replace source="\\'c6\r\n" target="Ж"/>
+      <replace source="\\'c7\r\n" target="З"/>
+      <replace source="\\'c8\r\n" target="И"/>
+      <replace source="\\'c9\r\n" target="Й"/>
+      <replace source="\\'ca\r\n" target="К"/>
+      <replace source="\\'cb\r\n" target="Л"/>
+      <replace source="\\'cc\r\n" target="М"/>
+      <replace source="\\'cd\r\n" target="Н"/>
+      <replace source="\\'ce\r\n" target="О"/>
+      <replace source="\\'cf\r\n" target="П"/>
+      <replace source="\\'d0\r\n" target="Р"/>
+      <replace source="\\'d1\r\n" target="С"/>
+      <replace source="\\'d2\r\n" target="Т"/>
+      <replace source="\\'d3\r\n" target="У"/>
+      <replace source="\\'d4\r\n" target="Ф"/>
+      <replace source="\\'d5\r\n" target="Х"/>
+      <replace source="\\'d6\r\n" target="Ц"/>
+      <replace source="\\'d7\r\n" target="Ч"/>
+      <replace source="\\'d8\r\n" target="Ш"/>
+      <replace source="\\'d9\r\n" target="Щ"/>
+      <replace source="\\'da\r\n" target="Ъ"/>
+      <replace source="\\'db\r\n" target="Ы"/>
+      <replace source="\\'dc\r\n" target="Ь"/>
+      <replace source="\\'dd\r\n" target="Э"/>
+      <replace source="\\'de\r\n" target="Ю"/>
+      <replace source="\\'df\r\n" target="Я"/>
+      <replace source="\\'e0\r\n" target="а"/>
+      <replace source="\\'e1\r\n" target="б"/>
+      <replace source="\\'e2\r\n" target="в"/>
+      <replace source="\\'e3\r\n" target="г"/>
+      <replace source="\\'e4\r\n" target="д"/>
+      <replace source="\\'e5\r\n" target="е"/>
+      <replace source="\\'e6\r\n" target="ж"/>
+      <replace source="\\'e7\r\n" target="з"/>
+      <replace source="\\'e8\r\n" target="и"/>
+      <replace source="\\'e9\r\n" target="й"/>
+      <replace source="\\'ea\r\n" target="к"/>
+      <replace source="\\'eb\r\n" target="л"/>
+      <replace source="\\'ec\r\n" target="м"/>
+      <replace source="\\'ed\r\n" target="н"/>
+      <replace source="\\'ee\r\n" target="о"/>
+      <replace source="\\'ef\r\n" target="п"/>
+      <replace source="\\'f0\r\n" target="р"/>
+      <replace source="\\'f1\r\n" target="с"/>
+      <replace source="\\'f2\r\n" target="т"/>
+      <replace source="\\'f3\r\n" target="у"/>
+      <replace source="\\'f4\r\n" target="ф"/>
+      <replace source="\\'f5\r\n" target="х"/>
+      <replace source="\\'f6\r\n" target="ц"/>
+      <replace source="\\'f7\r\n" target="ч"/>
+      <replace source="\\'f8\r\n" target="ш"/>
+      <replace source="\\'f9\r\n" target="щ"/>
+      <replace source="\\'fa\r\n" target="ъ"/>
+      <replace source="\\'fb\r\n" target="ы"/>
+      <replace source="\\'fc\r\n" target="ь"/>
+      <replace source="\\'fd\r\n" target="э"/>
+      <replace source="\\'fe\r\n" target="ю"/>
+      <replace source="\\'ff\r\n" target="я"/>
+      <!-- The same characters followed by a \n: -->
+      <replace source="\\'80\n" target="Ђ"/>
+      <replace source="\\'81\n" target="Ѓ"/>
+      <replace source="\\'83\n" target="ѓ"/>
+      <replace source="\\'8a\n" target="Љ"/>
+      <replace source="\\'8c\n" target="Њ"/>
+      <replace source="\\'8d\n" target="Ќ"/>
+      <replace source="\\'8e\n" target="Ћ"/>
+      <replace source="\\'8f\n" target="Џ"/>
+      <replace source="\\'90\n" target="ђ"/>
+      <replace source="\\'9a\n" target="љ"/>
+      <replace source="\\'9c\n" target="њ"/>
+      <replace source="\\'9d\n" target="ќ"/>
+      <replace source="\\'9e\n" target="ћ"/>
+      <replace source="\\'9f\n" target="џ"/>
+      <replace source="\\'a1\n" target="Ў"/>
+      <replace source="\\'a2\n" target="ў"/>
+      <replace source="\\'a3\n" target="Ј"/>
+      <replace source="\\'a5\n" target="Ґ"/>
+      <replace source="\\'a8\n" target="Ё"/>
+      <replace source="\\'aa\n" target="Є"/>
+      <replace source="\\'af\n" target="Ї"/>
+      <replace source="\\'b3\n" target="і"/>
+      <replace source="\\'b4\n" target="ґ"/>
+      <replace source="\\'b5\n" target="µ"/>
+      <replace source="\\'b8\n" target="ё"/>
+      <replace source="\\'ba\n" target="є"/>
+      <replace source="\\'bc\n" target="ј"/>
+      <replace source="\\'bd\n" target="Ѕ"/>
+      <replace source="\\'be\n" target="ѕ"/>
+      <replace source="\\'bf\n" target="ї"/>
+      <replace source="\\'c0\n" target="А"/>
+      <replace source="\\'c1\n" target="Б"/>
+      <replace source="\\'c2\n" target="В"/>
+      <replace source="\\'c3\n" target="Г"/>
+      <replace source="\\'c4\n" target="Д"/>
+      <replace source="\\'c5\n" target="Е"/>
+      <replace source="\\'c6\n" target="Ж"/>
+      <replace source="\\'c7\n" target="З"/>
+      <replace source="\\'c8\n" target="И"/>
+      <replace source="\\'c9\n" target="Й"/>
+      <replace source="\\'ca\n" target="К"/>
+      <replace source="\\'cb\n" target="Л"/>
+      <replace source="\\'cc\n" target="М"/>
+      <replace source="\\'cd\n" target="Н"/>
+      <replace source="\\'ce\n" target="О"/>
+      <replace source="\\'cf\n" target="П"/>
+      <replace source="\\'d0\n" target="Р"/>
+      <replace source="\\'d1\n" target="С"/>
+      <replace source="\\'d2\n" target="Т"/>
+      <replace source="\\'d3\n" target="У"/>
+      <replace source="\\'d4\n" target="Ф"/>
+      <replace source="\\'d5\n" target="Х"/>
+      <replace source="\\'d6\n" target="Ц"/>
+      <replace source="\\'d7\n" target="Ч"/>
+      <replace source="\\'d8\n" target="Ш"/>
+      <replace source="\\'d9\n" target="Щ"/>
+      <replace source="\\'da\n" target="Ъ"/>
+      <replace source="\\'db\n" target="Ы"/>
+      <replace source="\\'dc\n" target="Ь"/>
+      <replace source="\\'dd\n" target="Э"/>
+      <replace source="\\'de\n" target="Ю"/>
+      <replace source="\\'df\n" target="Я"/>
+      <replace source="\\'e0\n" target="а"/>
+      <replace source="\\'e1\n" target="б"/>
+      <replace source="\\'e2\n" target="в"/>
+      <replace source="\\'e3\n" target="г"/>
+      <replace source="\\'e4\n" target="д"/>
+      <replace source="\\'e5\n" target="е"/>
+      <replace source="\\'e6\n" target="ж"/>
+      <replace source="\\'e7\n" target="з"/>
+      <replace source="\\'e8\n" target="и"/>
+      <replace source="\\'e9\n" target="й"/>
+      <replace source="\\'ea\n" target="к"/>
+      <replace source="\\'eb\n" target="л"/>
+      <replace source="\\'ec\n" target="м"/>
+      <replace source="\\'ed\n" target="н"/>
+      <replace source="\\'ee\n" target="о"/>
+      <replace source="\\'ef\n" target="п"/>
+      <replace source="\\'f0\n" target="р"/>
+      <replace source="\\'f1\n" target="с"/>
+      <replace source="\\'f2\n" target="т"/>
+      <replace source="\\'f3\n" target="у"/>
+      <replace source="\\'f4\n" target="ф"/>
+      <replace source="\\'f5\n" target="х"/>
+      <replace source="\\'f6\n" target="ц"/>
+      <replace source="\\'f7\n" target="ч"/>
+      <replace source="\\'f8\n" target="ш"/>
+      <replace source="\\'f9\n" target="щ"/>
+      <replace source="\\'fa\n" target="ъ"/>
+      <replace source="\\'fb\n" target="ы"/>
+      <replace source="\\'fc\n" target="ь"/>
+      <replace source="\\'fd\n" target="э"/>
+      <replace source="\\'fe\n" target="ю"/>
+      <replace source="\\'ff\n" target="я"/>
+      <!-- The same characters followed by a \r: -->
+      <replace source="\\'80\r" target="Ђ"/>
+      <replace source="\\'81\r" target="Ѓ"/>
+      <replace source="\\'83\r" target="ѓ"/>
+      <replace source="\\'8a\r" target="Љ"/>
+      <replace source="\\'8c\r" target="Њ"/>
+      <replace source="\\'8d\r" target="Ќ"/>
+      <replace source="\\'8e\r" target="Ћ"/>
+      <replace source="\\'8f\r" target="Џ"/>
+      <replace source="\\'90\r" target="ђ"/>
+      <replace source="\\'9a\r" target="љ"/>
+      <replace source="\\'9c\r" target="њ"/>
+      <replace source="\\'9d\r" target="ќ"/>
+      <replace source="\\'9e\r" target="ћ"/>
+      <replace source="\\'9f\r" target="џ"/>
+      <replace source="\\'a1\r" target="Ў"/>
+      <replace source="\\'a2\r" target="ў"/>
+      <replace source="\\'a3\r" target="Ј"/>
+      <replace source="\\'a5\r" target="Ґ"/>
+      <replace source="\\'a8\r" target="Ё"/>
+      <replace source="\\'aa\r" target="Є"/>
+      <replace source="\\'af\r" target="Ї"/>
+      <replace source="\\'b3\r" target="і"/>
+      <replace source="\\'b4\r" target="ґ"/>
+      <replace source="\\'b5\r" target="µ"/>
+      <replace source="\\'b8\r" target="ё"/>
+      <replace source="\\'ba\r" target="є"/>
+      <replace source="\\'bc\r" target="ј"/>
+      <replace source="\\'bd\r" target="Ѕ"/>
+      <replace source="\\'be\r" target="ѕ"/>
+      <replace source="\\'bf\r" target="ї"/>
+      <replace source="\\'c0\r" target="А"/>
+      <replace source="\\'c1\r" target="Б"/>
+      <replace source="\\'c2\r" target="В"/>
+      <replace source="\\'c3\r" target="Г"/>
+      <replace source="\\'c4\r" target="Д"/>
+      <replace source="\\'c5\r" target="Е"/>
+      <replace source="\\'c6\r" target="Ж"/>
+      <replace source="\\'c7\r" target="З"/>
+      <replace source="\\'c8\r" target="И"/>
+      <replace source="\\'c9\r" target="Й"/>
+      <replace source="\\'ca\r" target="К"/>
+      <replace source="\\'cb\r" target="Л"/>
+      <replace source="\\'cc\r" target="М"/>
+      <replace source="\\'cd\r" target="Н"/>
+      <replace source="\\'ce\r" target="О"/>
+      <replace source="\\'cf\r" target="П"/>
+      <replace source="\\'d0\r" target="Р"/>
+      <replace source="\\'d1\r" target="С"/>
+      <replace source="\\'d2\r" target="Т"/>
+      <replace source="\\'d3\r" target="У"/>
+      <replace source="\\'d4\r" target="Ф"/>
+      <replace source="\\'d5\r" target="Х"/>
+      <replace source="\\'d6\r" target="Ц"/>
+      <replace source="\\'d7\r" target="Ч"/>
+      <replace source="\\'d8\r" target="Ш"/>
+      <replace source="\\'d9\r" target="Щ"/>
+      <replace source="\\'da\r" target="Ъ"/>
+      <replace source="\\'db\r" target="Ы"/>
+      <replace source="\\'dc\r" target="Ь"/>
+      <replace source="\\'dd\r" target="Э"/>
+      <replace source="\\'de\r" target="Ю"/>
+      <replace source="\\'df\r" target="Я"/>
+      <replace source="\\'e0\r" target="а"/>
+      <replace source="\\'e1\r" target="б"/>
+      <replace source="\\'e2\r" target="в"/>
+      <replace source="\\'e3\r" target="г"/>
+      <replace source="\\'e4\r" target="д"/>
+      <replace source="\\'e5\r" target="е"/>
+      <replace source="\\'e6\r" target="ж"/>
+      <replace source="\\'e7\r" target="з"/>
+      <replace source="\\'e8\r" target="и"/>
+      <replace source="\\'e9\r" target="й"/>
+      <replace source="\\'ea\r" target="к"/>
+      <replace source="\\'eb\r" target="л"/>
+      <replace source="\\'ec\r" target="м"/>
+      <replace source="\\'ed\r" target="н"/>
+      <replace source="\\'ee\r" target="о"/>
+      <replace source="\\'ef\r" target="п"/>
+      <replace source="\\'f0\r" target="р"/>
+      <replace source="\\'f1\r" target="с"/>
+      <replace source="\\'f2\r" target="т"/>
+      <replace source="\\'f3\r" target="у"/>
+      <replace source="\\'f4\r" target="ф"/>
+      <replace source="\\'f5\r" target="х"/>
+      <replace source="\\'f6\r" target="ц"/>
+      <replace source="\\'f7\r" target="ч"/>
+      <replace source="\\'f8\r" target="ш"/>
+      <replace source="\\'f9\r" target="щ"/>
+      <replace source="\\'fa\r" target="ъ"/>
+      <replace source="\\'fb\r" target="ы"/>
+      <replace source="\\'fc\r" target="ь"/>
+      <replace source="\\'fd\r" target="э"/>
+      <replace source="\\'fe\r" target="ю"/>
+      <replace source="\\'ff\r" target="я"/>
+    </replacement-rule>
+  </rules>
+
+</format>
diff --git a/apertium/script_header.sh.cmake_in b/apertium/script_header.sh.cmake_in
new file mode 100755
index 0000000..802d3b0
--- /dev/null
+++ b/apertium/script_header.sh.cmake_in
@@ -0,0 +1,7 @@
+#!${BASH}
+
+export APERTIUM_PATH=${APERTIUM_PATH}
+export LTTOOLBOX_PATH=${LTTOOLBOX_PATH}
+export DEFAULT_DIRECTORY=${DEFAULT_DIRECTORY}
+
+${SCRIPT}
diff --git a/apertium/trans-lextor-header.sh b/apertium/trans-lextor-header.sh
new file mode 100644
index 0000000..158780c
--- /dev/null
+++ b/apertium/trans-lextor-header.sh
@@ -0,0 +1,107 @@
+case $# in
+  2)
+    DATOS=$1
+    PREFIJO=$2
+    FORMATADOR=txt
+    ;;
+  3)
+    DATOS=$1
+    PREFIJO=$2
+    FORMATADOR=$3
+    ;;
+  4)
+    DATOS=$1
+    PREFIJO=$2
+    FORMATADOR=$3
+    FICHERO=$4
+    ;;
+  5)  
+    DATOS=$1
+    PREFIJO=$2
+    FORMATADOR=$3
+    FICHERO=$4
+    SALIDA=$5
+    ;;
+  *)
+    echo "USAGE: $(basename $0) <datadir> <translation> [format [infile [outfile]]]"
+    echo " datadir          Directory of linguistic data"
+    echo " translation      LANG1-LANG2"
+    echo " format           one of: txt (default), txtu, html, htmlu, rtf, rtfu"
+    echo " infile           input file (stdin by default)"
+    echo " outfile          output file (stdout by default)"
+    exit 1;
+esac
+
+#Par�metros obligatorios
+PREFIJO=$2    #Direcci�n traducci�n Ejm.- es-ca
+FORMATADOR=$3 #Fuente a traducir Ejm.- txt
+
+DATOS=$1
+
+#Parametro opcional, de no estar, lee de la entrada estandar (stdin)
+FICHERO=$4    #Fichero con el texto a traducir
+
+PATH=.:/usr/local/bin:$PATH
+AUTOMORF=$DATOS/$PREFIJO.automorf.bin
+#AUTOBIL=$DATOS/$PREFIJO.autobil.bin
+AUTOBIL=$DATOS/$PREFIJO.lextorbil.bin
+AUTOGEN=$DATOS/$PREFIJO.autogen.bin
+AUTOPGEN=$DATOS/$PREFIJO.autopgen.bin
+
+DEP="dep"
+
+TURL="cat" #No hace nada, se introduce para no tener
+           #que cambiar la l�nea de montaje, pues en algunos
+	   #casos se usa como ultimo eslab�n de la cadena el
+	   #programa turl o ext-turl.
+REF=
+	      
+case "$FORMATADOR" in 
+	txt)
+		FORMATADOR="txt"
+		GENERADOR="lt-proc -g"		
+		;;
+	txtu)
+		FORMATADOR="txt"
+		GENERADOR="lt-proc -n"
+		;;
+	rtf)
+		FORMATADOR="rtf"
+		GENERADOR="lt-proc -g"		
+		;;
+	rtfu)
+		FORMATADOR="rtf"		
+		GENERADOR="lt-proc -n"
+		;;
+	html)
+		FORMATADOR="html"
+		GENERADOR="lt-proc -g"	
+		;;
+	htmlu)
+		FORMATADOR="html"
+		GENERADOR="lt-proc -n"		
+		;;
+	*) # Por defecto asumimos txt
+		FORMATADOR="txt"
+		GENERADOR="lt-proc -g"
+		;;	
+esac
+
+if [ -z $REF ]
+then 
+        REF=$FORMATADOR
+fi
+
+$APERTIUM_PATH/apertium-des$FORMATADOR $FICHERO | \
+$LTTOOLBOX_PATH/lt-proc $AUTOMORF | \
+$APERTIUM_PATH/apertium-tagger -g $DATOS/$PREFIJO.prob | \
+$APERTIUM_PATH/apertium-pretransfer | \
+$APERTIUM_PATH/apertium-lextor -l $DATOS/$PREFIJO.lextor $DATOS/$PREFIJO.lextormono.bin 3 3 | \
+$APERTIUM_PATH/apertium-transfer $DATOS/trules-$PREFIJO.xml $DATOS/trules-$PREFIJO.bin $AUTOBIL | \
+$LTTOOLBOX_PATH/$GENERADOR $AUTOGEN  | \
+$LTTOOLBOX_PATH/lt-proc -p $AUTOPGEN | \
+if [ x$SALIDA = x ]
+then $APERTIUM_PATH/apertium-re$FORMATADOR 
+else
+  $APERTIUM_PATH/apertium-re$FORMATADOR >$SALIDA
+fi
diff --git a/apertium/transfer.rng b/apertium/transfer.rng
new file mode 100644
index 0000000..b78f94d
--- /dev/null
+++ b/apertium/transfer.rng
@@ -0,0 +1,1058 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+  Draft of DTD for the structural transfer rule files 
+  
+  Sergio Ortiz, Gema Ram�rez-S�nchez, Mireia Ginest�, Mikel L. Forcada, 
+  2005.07.29. 
+-->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+  <define name="condition">
+    <choice>
+      <ref name="and"/>
+      <ref name="or"/>
+      <ref name="not"/>
+      <ref name="equal"/>
+      <ref name="begins-with"/>
+      <ref name="begins-with-list"/>
+      <ref name="ends-with"/>
+      <ref name="ends-with-list"/>
+      <ref name="contains-substring"/>
+      <ref name="in"/>
+    </choice>
+  </define>
+  <define name="container">
+    <choice>
+      <ref name="var"/>
+      <ref name="clip"/>
+    </choice>
+  </define>
+  <define name="sentence">
+    <choice>
+      <ref name="let"/>
+      <ref name="out"/>
+      <ref name="choose"/>
+      <ref name="modify-case"/>
+      <ref name="call-macro"/>
+      <ref name="append"/>
+    </choice>
+  </define>
+  <define name="value">
+    <choice>
+      <ref name="b"/>
+      <ref name="clip"/>
+      <ref name="lit"/>
+      <ref name="lit-tag"/>
+      <ref name="var"/>
+      <ref name="get-case-from"/>
+      <ref name="case-of"/>
+      <ref name="concat"/>
+    </choice>
+  </define>
+  <define name="stringvalue">
+    <choice>
+      <ref name="clip"/>
+      <ref name="lit"/>
+      <ref name="var"/>
+      <ref name="get-case-from"/>
+      <ref name="case-of"/>
+    </choice>
+  </define>
+  <define name="transfer">
+    <element name="transfer">
+      <ref name="attlist.transfer"/>
+      <ref name="section-def-cats"/>
+      <ref name="section-def-attrs"/>
+      <ref name="section-def-vars"/>
+      <optional>
+        <ref name="section-def-lists"/>
+      </optional>
+      <optional>
+        <ref name="section-def-macros"/>
+      </optional>
+      <ref name="section-rules"/>
+    </element>
+  </define>
+  <define name="attlist.transfer" combine="interleave">
+    <optional>
+      <attribute name="default">
+        <choice>
+          <value>lu</value>
+          <value>chunk</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    'transfer' is the root element containing the whole structural
+    transfer rule file.  Attribute 'default' specifies if
+    unmatched words have to be written as lexical units ("lu", this is
+    the default value) or as chunks ("chunk").
+  -->
+  <define name="section-def-cats">
+    <element name="section-def-cats">
+      <ref name="attlist.section-def-cats"/>
+      <oneOrMore>
+        <ref name="def-cat"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.section-def-cats" combine="interleave">
+    <empty/>
+  </define>
+  <!--
+         The 'def-cats' section defines the categories used to build the
+    patterns used in rules
+  -->
+  <define name="def-cat">
+    <element name="def-cat">
+      <ref name="attlist.def-cat"/>
+      <oneOrMore>
+        <ref name="cat-item"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.def-cat" combine="interleave">
+    <attribute name="n">
+      <data type="ID"/>
+    </attribute>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    Each 'def-cat' defines one category in terms of a list of
+    category items and has a unique name 'n', which is mandatory
+  -->
+  <define name="cat-item">
+    <element name="cat-item">
+      <ref name="attlist.cat-item"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.cat-item" combine="interleave">
+    <optional>
+      <attribute name="lemma"/>
+    </optional>
+    <attribute name="tags"/>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+         Each 'cat-item' (category item) represents a set of lexical forms
+    and has a mandatory attribute 'tags' whose value is a sequence of
+    dot-separated tag names; this sequence is a subsequence of the
+    tag sequence defining each possible lexical form. For example,
+    tags="n.f" would match all lexical forms containing this tag
+    sequence, such as "^casa<n><f><pl>$".
+    
+    In addition, an optional attribute, "lemma", may be used to
+    define lexical forms having a particular substring in their lemma
+  -->
+  <define name="section-def-attrs">
+    <element name="section-def-attrs">
+      <ref name="attlist.section-def-attrs"/>
+      <oneOrMore>
+        <ref name="def-attr"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.section-def-attrs" combine="interleave">
+    <empty/>
+  </define>
+  <!--
+    The 'def-attrs' section defines the attributes that will be
+    identified in matched lexical forms 
+  -->
+  <define name="def-attr">
+    <element name="def-attr">
+      <ref name="attlist.def-attr"/>
+      <oneOrMore>
+        <ref name="attr-item"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.def-attr" combine="interleave">
+    <attribute name="n">
+      <data type="ID"/>
+    </attribute>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    Each def-attr defines one attribute in terms of a list of
+    attribute items and has a mandatory unique name n 
+  -->
+  <define name="attr-item">
+    <element name="attr-item">
+      <ref name="attlist.attr-item"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.attr-item" combine="interleave">
+    <optional>
+      <attribute name="tags"/>
+    </optional>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    Each 'attr-item' specifies a subsequence of the tags in
+    that lexical form (attribute 'tags')
+  -->
+  <define name="section-def-vars">
+    <element name="section-def-vars">
+      <ref name="attlist.section-def-vars"/>
+      <oneOrMore>
+        <ref name="def-var"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.section-def-vars" combine="interleave">
+    <empty/>
+  </define>
+  <!--
+    The 'def-vars' section defines the global variables
+    that will be used to transfer information between rules
+  -->
+  <define name="def-var">
+    <element name="def-var">
+      <ref name="attlist.def-var"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.def-var" combine="interleave">
+    <attribute name="n">
+      <data type="ID"/>
+    </attribute>
+    <optional>
+      <attribute name="v"/>
+    </optional>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    The definition of a global variable has a mandatory unique name 'n' that
+    will be used to refer to it. A value of initialization can also be specified
+    by means the 'v' attribute.  The default value of the initialization is the
+    empty string.
+  -->
+  <define name="section-def-lists">
+    <element name="section-def-lists">
+      <ref name="attlist.section-def-lists"/>
+      <oneOrMore>
+        <ref name="def-list"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.section-def-lists" combine="interleave">
+    <empty/>
+  </define>
+  <!-- Element 'section-def-lists' encloses a set of list definitions -->
+  <define name="def-list">
+    <element name="def-list">
+      <ref name="attlist.def-list"/>
+      <oneOrMore>
+        <ref name="list-item"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.def-list" combine="interleave">
+    <attribute name="n">
+      <data type="ID"/>
+    </attribute>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    The 'def-list' element defines a named list to search with the 'in' 
+    element.  Attribute 'n' sets the name of the list
+  -->
+  <define name="list-item">
+    <element name="list-item">
+      <ref name="attlist.list-item"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.list-item" combine="interleave">
+    <attribute name="v"/>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    Attribute 'v' of 'list-item' element contains the value to be added to 
+    the list being defined     
+  -->
+  <define name="section-def-macros">
+    <element name="section-def-macros">
+      <ref name="attlist.section-def-macros"/>
+      <oneOrMore>
+        <ref name="def-macro"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.section-def-macros" combine="interleave">
+    <empty/>
+  </define>
+  <!--
+    
+    The 'def-macros' section defines macros containing portions of
+    code frequently used in the action part of rules
+    
+  -->
+  <define name="def-macro">
+    <element name="def-macro">
+      <ref name="attlist.def-macro"/>
+      <oneOrMore>
+        <ref name="sentence"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.def-macro" combine="interleave">
+    <attribute name="n">
+      <data type="ID"/>
+    </attribute>
+  </define>
+  <define name="attlist.def-macro" combine="interleave">
+    <attribute name="npar"/>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    Macro definition:
+    
+    A macro has a mandatory name (the value of 'n'), a number of parameters
+    (the value of 'npar') and a body containing arguments and statements.  
+  -->
+  <define name="section-rules">
+    <element name="section-rules">
+      <ref name="attlist.section-rules"/>
+      <oneOrMore>
+        <ref name="rule"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.section-rules" combine="interleave">
+    <empty/>
+  </define>
+  <!-- The rules section contains a sequence of one or more rules -->
+  <define name="rule">
+    <element name="rule">
+      <ref name="attlist.rule"/>
+      <ref name="pattern"/>
+      <ref name="action"/>
+    </element>
+  </define>
+  <define name="attlist.rule" combine="interleave">
+    <optional>
+      <attribute name="comment"/>
+    </optional>
+  </define>
+  <!--
+    Each rule has a pattern and an action 
+    * attribute 'comment' allows to put in comments about the purpose of
+      the rule being defined
+  -->
+  <define name="pattern">
+    <element name="pattern">
+      <ref name="attlist.pattern"/>
+      <oneOrMore>
+        <ref name="pattern-item"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.pattern" combine="interleave">
+    <empty/>
+  </define>
+  <!--
+    The pattern is specified in terms of pattern items, each one
+    representing a lexical form in the matched pattern 
+  -->
+  <define name="pattern-item">
+    <element name="pattern-item">
+      <ref name="attlist.pattern-item"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.pattern-item" combine="interleave">
+    <attribute name="n">
+      <data type="IDREF"/>
+    </attribute>
+  </define>
+  <!-- Each attribute to be activated is referred to by its name in the def-cats section -->
+  <define name="action">
+    <element name="action">
+      <ref name="attlist.action"/>
+      <zeroOrMore>
+        <ref name="sentence"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="attlist.action" combine="interleave">
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!-- Encloses the procedural part of a rule -->
+  <define name="choose">
+    <element name="choose">
+      <ref name="attlist.choose"/>
+      <oneOrMore>
+        <ref name="when"/>
+      </oneOrMore>
+      <optional>
+        <ref name="otherwise"/>
+      </optional>
+    </element>
+  </define>
+  <define name="attlist.choose" combine="interleave">
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    The choose statement is a selection statement (similar to a case
+    statement) composed of one or more tested cases and an optional
+    otherwise 
+  -->
+  <define name="when">
+    <element name="when">
+      <ref name="attlist.when"/>
+      <ref name="test"/>
+      <zeroOrMore>
+        <ref name="sentence"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="attlist.when" combine="interleave">
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!-- Each tested case is a block of zero or more statements -->
+  <define name="otherwise">
+    <element name="otherwise">
+      <ref name="attlist.otherwise"/>
+      <oneOrMore>
+        <ref name="sentence"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.otherwise" combine="interleave">
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!-- The otherwise case is also a block of one or more statements -->
+  <define name="test">
+    <element name="test">
+      <ref name="attlist.test"/>
+      <ref name="condition"/>
+    </element>
+  </define>
+  <define name="attlist.test" combine="interleave">
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    The test in a tested case may be a conjunction, a disjunction, or
+    a negation of simpler tests, as well as a simple equality test
+  -->
+  <define name="and">
+    <element name="and">
+      <ref name="attlist.and"/>
+      <ref name="condition"/>
+      <oneOrMore>
+        <ref name="condition"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.and" combine="interleave">
+    <empty/>
+  </define>
+  <!-- Each conjuntion test contains two or more simpler tests -->
+  <define name="or">
+    <element name="or">
+      <ref name="attlist.or"/>
+      <ref name="condition"/>
+      <oneOrMore>
+        <ref name="condition"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.or" combine="interleave">
+    <empty/>
+  </define>
+  <!-- Each disjunction test contains two or more simpler tests -->
+  <define name="not">
+    <element name="not">
+      <ref name="attlist.not"/>
+      <ref name="condition"/>
+    </element>
+  </define>
+  <define name="attlist.not" combine="interleave">
+    <empty/>
+  </define>
+  <!-- The negation of a simpler test is a test itself -->
+  <define name="equal">
+    <element name="equal">
+      <ref name="attlist.equal"/>
+      <ref name="value"/>
+      <ref name="value"/>
+    </element>
+  </define>
+  <define name="attlist.equal" combine="interleave">
+    <optional>
+      <attribute name="caseless">
+        <choice>
+          <value>no</value>
+          <value>yes</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    The simplest test is an equality test. The right part and the
+    left part of the equality may both be a clip (see below), a
+    literal string ('lit'), a literal tag ('lit-tag') or the value of 
+    a variable ('var') defined in the def-vars section.  When the attribute
+    'caseless' is set to 'yes', the comparison is made without attending
+    to the case.
+  -->
+  <define name="begins-with">
+    <element name="begins-with">
+      <ref name="attlist.begins-with"/>
+      <ref name="value"/>
+      <ref name="value"/>
+    </element>
+  </define>
+  <define name="attlist.begins-with" combine="interleave">
+    <optional>
+      <attribute name="caseless">
+        <choice>
+          <value>no</value>
+          <value>yes</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    Tests if the left part contains the right part at the beginning.
+    Both parts of the test may both be a clip (see below), a
+    literal string ('lit'), a literal tag ('lit-tag') or the value of 
+    a variable ('var') defined in the def-vars section.  When the attribute
+    'caseless' is set to 'yes', the comparison is made without attending
+    to the case.
+  -->
+  <define name="ends-with">
+    <element name="ends-with">
+      <ref name="attlist.ends-with"/>
+      <ref name="value"/>
+      <ref name="value"/>
+    </element>
+  </define>
+  <define name="attlist.ends-with" combine="interleave">
+    <optional>
+      <attribute name="caseless">
+        <choice>
+          <value>no</value>
+          <value>yes</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    Tests if the left part contains the right part at the end.
+    Both parts of the test may both be a clip (see below), a
+    literal string ('lit'), a literal tag ('lit-tag') or the value of 
+    a variable ('var') defined in the def-vars section.  When the attribute
+    'caseless' is set to 'yes', the comparison is made without attending
+    to the case.
+  -->
+  <define name="begins-with-list">
+    <element name="begins-with-list">
+      <ref name="attlist.begins-with-list"/>
+      <ref name="value"/>
+      <ref name="list"/>
+    </element>
+  </define>
+  <define name="attlist.begins-with-list" combine="interleave">
+    <optional>
+      <attribute name="caseless">
+        <choice>
+          <value>no</value>
+          <value>yes</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    Tests if the left part contains the right part at the beginning.
+    First parts of the test may be a clip (see below), a
+    literal string ('lit'), a literal tag ('lit-tag') or the value of 
+    a variable ('var') defined in the def-vars section. The second part
+    must be always a list.  When the attribute
+    'caseless' is set to 'yes', the comparison is made without attending
+    to the case.
+  -->
+  <define name="ends-with-list">
+    <element name="ends-with-list">
+      <ref name="attlist.ends-with-list"/>
+      <ref name="value"/>
+      <ref name="list"/>
+    </element>
+  </define>
+  <define name="attlist.ends-with-list" combine="interleave">
+    <optional>
+      <attribute name="caseless">
+        <choice>
+          <value>no</value>
+          <value>yes</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    Tests if the left part contains the right part at the end.
+    First parts of the test may be a clip (see below), a
+    literal string ('lit'), a literal tag ('lit-tag') or the value of 
+    a variable ('var') defined in the def-vars section. The second part
+    must be always a list.  When the attribute
+    'caseless' is set to 'yes', the comparison is made without attending
+    to the case.
+  -->
+  <define name="contains-substring">
+    <element name="contains-substring">
+      <ref name="attlist.contains-substring"/>
+      <ref name="value"/>
+      <ref name="value"/>
+    </element>
+  </define>
+  <define name="attlist.contains-substring" combine="interleave">
+    <optional>
+      <attribute name="caseless">
+        <choice>
+          <value>no</value>
+          <value>yes</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    Tests if the left part contains the right part.
+    Both parts of the test may both be a clip (see below), a
+    literal string ('lit'), a literal tag ('lit-tag') or the value of 
+    a variable ('var') defined in the def-vars section.  When the attribute
+    'caseless' is set to 'yes', the comparison is made without attending
+    to the case.
+  -->
+  <define name="in">
+    <element name="in">
+      <ref name="attlist.in"/>
+      <ref name="value"/>
+      <ref name="list"/>
+    </element>
+  </define>
+  <define name="attlist.in" combine="interleave">
+    <optional>
+      <attribute name="caseless">
+        <choice>
+          <value>no</value>
+          <value>yes</value>
+        </choice>
+      </attribute>
+    </optional>
+  </define>
+  <!--
+    'in' performs a search of a value in a list.  If 'caseless' is set to yes,
+    this search is performed without attending to the case
+  -->
+  <define name="list">
+    <element name="list">
+      <ref name="attlist.list"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.list" combine="interleave">
+    <attribute name="n">
+      <data type="IDREF"/>
+    </attribute>
+  </define>
+  <!--
+    'list' refers, with the name in attribute 'n', a list defined before in
+    the 'section-def-list' section
+  -->
+  <define name="let">
+    <element name="let">
+      <ref name="attlist.let"/>
+      <ref name="container"/>
+      <ref name="value"/>
+    </element>
+  </define>
+  <define name="attlist.let" combine="interleave">
+    <empty/>
+  </define>
+  <!--
+    An assignment statement ('let') assigns the value of a clip (see
+    below), a literal string ('lit'), a literal tag('lit-tag') or the 
+    value of a global variable ('var') to either a global variable ('var') 
+    or a clip
+  -->
+  <define name="append">
+    <element name="append">
+      <ref name="attlist.append"/>
+      <oneOrMore>
+        <ref name="value"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.append" combine="interleave">
+    <attribute name="n">
+      <data type="IDREF"/>
+    </attribute>
+  </define>
+  <!--
+    This instruction appends the value of a clip (see
+    below), a literal string ('lit'), a literal tag('lit-tag') or the 
+    value of a global variable ('var') to either a global variable ('var') 
+    or a clip, identified by the "n" attribute
+  -->
+  <define name="out">
+    <element name="out">
+      <ref name="attlist.out"/>
+      <oneOrMore>
+        <choice>
+          <ref name="mlu"/>
+          <ref name="lu"/>
+          <ref name="b"/>
+          <ref name="chunk"/>
+          <ref name="var"/>
+        </choice>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.out" combine="interleave">
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    'out' is an output statement; it may output any sequence of
+    clips, literal strings, literal tags, variables, and whitespace items 
+    (see below) 
+  -->
+  <define name="modify-case">
+    <element name="modify-case">
+      <ref name="attlist.modify-case"/>
+      <ref name="container"/>
+      <ref name="stringvalue"/>
+    </element>
+  </define>
+  <define name="attlist.modify-case" combine="interleave">
+    <empty/>
+  </define>
+  <!--
+    The first argument of 'modify-case' copy the case of the second 
+    argument.
+  -->
+  <define name="call-macro">
+    <element name="call-macro">
+      <ref name="attlist.call-macro"/>
+      <zeroOrMore>
+        <ref name="with-param"/>
+      </zeroOrMore>
+    </element>
+  </define>
+  <define name="attlist.call-macro" combine="interleave">
+    <attribute name="n">
+      <data type="IDREF"/>
+    </attribute>
+  </define>
+  <!--
+    A macro may be called anywhere by name with one or more
+    arguments
+  -->
+  <define name="with-param">
+    <element name="with-param">
+      <ref name="attlist.with-param"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.with-param" combine="interleave">
+    <attribute name="pos"/>
+  </define>
+  <!--
+    The attribute pos in each argument is used to refer to a lexical
+    form in the current rule. For example, if a 2-parameter macro
+    has been defined to perform noun-adjective agreement operations,
+    it may be used with arguments 1 and 2 in a noun-adjective rule,
+    with arguments 2, 3 and 1 in a determiner-noun-adjective rule, with
+    arguments 1 and 3 in a noun-adverb-adjective rule, and with
+    arguments 2 and 1 in an adjective-noun rule 
+  -->
+  <define name="clip">
+    <element name="clip">
+      <ref name="attlist.clip"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.clip" combine="interleave">
+    <attribute name="pos"/>
+    <attribute name="side">
+      <choice>
+        <value>sl</value>
+        <value>tl</value>
+      </choice>
+    </attribute>
+    <attribute name="part"/>
+    <optional>
+      <attribute name="queue"/>
+    </optional>
+    <optional>
+      <attribute name="link-to"/>
+    </optional>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    A 'clip' is a substring of a source-language or target-language
+    lexical form, extracted according to an attribute:
+    
+    * 'pos' is an index (1, 2, 3...) used to select a lexical form
+       inside the rule;
+    
+    * 'side' is used to select a source-language ('sl') or a
+      target-language ('tl') clip
+    
+    * the value of 'part' is the name of an attribute defined in
+      def-attrs, but may take also the values 'lem' (referring to
+      the lemma of the lexical form), 'lemh' (lemma head), 'lemq'
+      (lemma queue) and 'whole' (referring to the whole lexical form).
+    
+    * the value of 'queue' may be 'no' or 'yes'.  'yes' is assumed  by 
+      default.
+    
+    * 'link-to' causes the other attributes to be ignored in clip evaluation
+      when using 'clip' as a right hand side element (as value), and 
+      returns its value.  When using as a left hand side (as reference), 
+      the value of the 'as' attribute is ignored.
+  -->
+  <define name="lit">
+    <element name="lit">
+      <ref name="attlist.lit"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.lit" combine="interleave">
+    <attribute name="v"/>
+  </define>
+  <!--
+    A literal string value: the value of the literal is the value of
+    the 'v' attribute
+  -->
+  <define name="lit-tag">
+    <element name="lit-tag">
+      <ref name="attlist.lit-tag"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.lit-tag" combine="interleave">
+    <attribute name="v"/>
+  </define>
+  <!--
+    A literal string value: the value of the literal is the value of
+    the 'v' attribute
+  -->
+  <define name="var">
+    <element name="var">
+      <ref name="attlist.var"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.var" combine="interleave">
+    <attribute name="n">
+      <data type="IDREF"/>
+    </attribute>
+  </define>
+  <!--
+    Each 'var' is a variable identifier: the attribute n is the name
+    of the variable. When it is in an 'out', a 'test', or the right
+    part of a 'let', it represents the value of the variable; when in
+    the left part of a 'let' it represents the reference of the
+    variable. 
+  -->
+  <define name="get-case-from">
+    <element name="get-case-from">
+      <ref name="attlist.get-case-from"/>
+      <choice>
+        <ref name="clip"/>
+        <ref name="lit"/>
+        <ref name="var"/>
+      </choice>
+    </element>
+  </define>
+  <define name="attlist.get-case-from" combine="interleave">
+    <attribute name="pos"/>
+  </define>
+  <!--
+    Atenci�n, falta modificar todos los comentarios donde intervenga
+    get-case-from
+  -->
+  <define name="case-of">
+    <element name="case-of">
+      <ref name="attlist.case-of"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.case-of" combine="interleave">
+    <attribute name="pos"/>
+    <attribute name="side">
+      <choice>
+        <value>sl</value>
+        <value>tl</value>
+      </choice>
+    </attribute>
+    <attribute name="part"/>
+  </define>
+  <!--
+    A 'case-of' is a value representing the case of a "clip".  This value 
+    will be "aa" (all lowercase), "Aa" (first uppercase) and "AA",
+    (all uppercase).
+    
+    * 'pos' is an index (1, 2, 3...) used to select a lexical form
+       inside the rule;
+    
+    * 'side' is used to select a source-language ('sl') or a
+      target-language ('tl') clip
+    
+    * the value of 'part' is the name of an attribute defined in
+      def-attrs, but may take also the values 'lem' (referring to
+      the lemma of the lexical form), 'lemh' (lemma head), 'lemq'
+      (lemma queue) and 'whole' (referring to the whole lexical form).
+  -->
+  <define name="concat">
+    <element name="concat">
+      <ref name="attlist.concat"/>
+      <oneOrMore>
+        <ref name="value"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.concat" combine="interleave">
+    <empty/>
+  </define>
+  <!-- Concatenates a sequence of values -->
+  <define name="mlu">
+    <element name="mlu">
+      <ref name="attlist.mlu"/>
+      <oneOrMore>
+        <ref name="lu"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.mlu" combine="interleave">
+    <empty/>
+  </define>
+  <!-- Encloses a multiword -->
+  <define name="lu">
+    <element name="lu">
+      <ref name="attlist.lu"/>
+      <oneOrMore>
+        <ref name="value"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.lu" combine="interleave">
+    <empty/>
+  </define>
+  <!-- Encloses a word inside an 'out' element. -->
+  <define name="chunk">
+    <element name="chunk">
+      <ref name="attlist.chunk"/>
+      <ref name="tags"/>
+      <oneOrMore>
+        <choice>
+          <ref name="mlu"/>
+          <ref name="lu"/>
+          <ref name="b"/>
+          <ref name="var"/>
+        </choice>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.chunk" combine="interleave">
+    <optional>
+      <attribute name="name"/>
+    </optional>
+    <optional>
+      <attribute name="namefrom"/>
+    </optional>
+    <optional>
+      <attribute name="case"/>
+    </optional>
+    <optional>
+      <attribute name="c"/>
+    </optional>
+  </define>
+  <!--
+    Encloses a chunk inside an 'out' element.      
+    * 'name' the pseudolemma of the chunk.
+    * 'namefrom' get the name from a variable.
+    * 'case' the variable to get the uppercase/lowercase policy
+       to apply it to the chunk name
+  -->
+  <define name="tags">
+    <element name="tags">
+      <ref name="attlist.tags"/>
+      <oneOrMore>
+        <ref name="tag"/>
+      </oneOrMore>
+    </element>
+  </define>
+  <define name="attlist.tags" combine="interleave">
+    <empty/>
+  </define>
+  <define name="tag">
+    <element name="tag">
+      <ref name="attlist.tag"/>
+      <ref name="value"/>
+    </element>
+  </define>
+  <define name="attlist.tag" combine="interleave">
+    <empty/>
+  </define>
+  <define name="b">
+    <element name="b">
+      <ref name="attlist.b"/>
+      <empty/>
+    </element>
+  </define>
+  <define name="attlist.b" combine="interleave">
+    <optional>
+      <attribute name="pos"/>
+    </optional>
+  </define>
+  <start>
+    <choice>
+      <ref name="transfer"/>
+    </choice>
+  </start>
+</grammar>
+<!--
+  'b' is a [super]blanks item, indexed by pos; for example, a 'b'
+  with pos="2" refers to the [super]blanks (including format data
+  encapsulated by the de-formatter) between lexical form 2 and
+  lexical form 3. Managing [super]blanks explicitly allows for the
+  correct placement of format when the result of structural
+  transfer has more or less lexical items than the original or has
+  been reordered in some way.  If attribute "pos" is not specified, then
+  a single blank (ASCII 32) is generated.
+-->
diff --git a/apertium/win32/getopt.c b/apertium/win32/getopt.c
new file mode 100644
index 0000000..442bd0e
--- /dev/null
+++ b/apertium/win32/getopt.c
@@ -0,0 +1,81 @@
+/*
+Newsgroups: mod.std.unix
+Subject: public domain AT&T getopt source
+Date: 3 Nov 85 19:34:15 GMT
+
+Here's something you've all been waiting for:  the AT&T public domain
+source for getopt(3).  It is the code which was given out at the 1985
+UNIFORUM conference in Dallas.  I obtained it by electronic mail
+directly from AT&T.  The people there assure me that it is indeed
+in the public domain.
+*/
+
+#include "getopt.h"
+
+/*LINTLIBRARY*/
+
+extern int strlen();
+extern int strcmp();
+extern char *strchr();
+extern int write();
+
+#define NULL	0
+#define EOF	(-1)
+#define ERR(s, c)	if(opterr){\
+	char errbuf[2];\
+	errbuf[0] = c; errbuf[1] = '\n';\
+	(void) write(2, argv[0], (unsigned)strlen(argv[0]));\
+	(void) write(2, s, (unsigned)strlen(s));\
+	(void) write(2, errbuf, 2);}
+
+
+int	opterr = 1;
+int	optind = 1;
+int	optopt;
+char	*optarg;
+
+int
+getopt(argc, argv, opts)
+int	argc;
+char	**argv, *opts;
+{
+	static int sp = 1;
+	register int c;
+	register char *cp;
+
+	if(sp == 1)
+		if(optind >= argc ||
+		   argv[optind][0] != '-' || argv[optind][1] == '\0')
+			return(EOF);
+		else if(strcmp(argv[optind], "--") == NULL) {
+			optind++;
+			return(EOF);
+		}
+	optopt = c = argv[optind][sp];
+	if(c == ':' || (cp=strchr(opts, c)) == NULL) {
+		ERR(": illegal option -- ", c);
+		if(argv[optind][++sp] == '\0') {
+			optind++;
+			sp = 1;
+		}
+		return('?');
+	}
+	if(*++cp == ':') {
+		if(argv[optind][sp+1] != '\0')
+			optarg = &argv[optind++][sp+1];
+		else if(++optind >= argc) {
+			ERR(": option requires an argument -- ", c);
+			sp = 1;
+			return('?');
+		} else
+			optarg = argv[optind++];
+		sp = 1;
+	} else {
+		if(argv[optind][++sp] == '\0') {
+			sp = 1;
+			optind++;
+		}
+		optarg = NULL;
+	}
+	return(c);
+}
diff --git a/apertium/win32/getopt.h b/apertium/win32/getopt.h
new file mode 100644
index 0000000..2a48997
--- /dev/null
+++ b/apertium/win32/getopt.h
@@ -0,0 +1,19 @@
+#ifndef GETOPT_H
+#define GETOPT_H
+
+#ifdef __cplusplus
+	extern "C" {
+#endif
+
+int getopt(int argc, char** argv, char* opts);
+
+extern int opterr;
+extern int optind;
+extern int optopt;
+extern char *optarg;
+
+#ifdef __cplusplus
+	}
+#endif
+
+#endif
diff --git a/apertium/win32/libgen.c b/apertium/win32/libgen.c
new file mode 100644
index 0000000..9189e7e
--- /dev/null
+++ b/apertium/win32/libgen.c
@@ -0,0 +1,25 @@
+#include <string.h>
+
+#include "libgen.h"
+
+// http://www.opengroup.org/onlinepubs/007908775/xsh/basename.html
+
+char* basename(char *path) {
+	if (path != NULL) {
+		// Find the last position of the \ in the path name
+		char* pos = strrchr(path, '\\');
+
+		if (pos != NULL) { // If a \ char was found...
+			if (pos + 1 != NULL) // If it is not the last character in the string...
+				return pos + 1; // then return a pointer to the first character after \.
+			else
+				return pos; // else return a pointer to \
+
+		} else { // If a \ char was NOT found
+			return path; // return the pointer passed to basename (this is probably non-conformant)
+		}
+
+	} else { // If path == NULL, return "."
+		return ".";
+	}
+}
diff --git a/apertium/win32/libgen.h b/apertium/win32/libgen.h
new file mode 100644
index 0000000..140069d
--- /dev/null
+++ b/apertium/win32/libgen.h
@@ -0,0 +1,14 @@
+#ifndef LIBGEN_H
+#define LIBGEN_H
+
+#ifdef __cplusplus
+	extern "C" {
+#endif
+
+char  *basename(char *);
+
+#ifdef __cplusplus
+	}
+#endif
+
+#endif
diff --git a/apertium/win32/regex.c b/apertium/win32/regex.c
new file mode 100644
index 0000000..df70f1b
--- /dev/null
+++ b/apertium/win32/regex.c
@@ -0,0 +1,4948 @@
+/* Extended regular expression matching and search library,
+   version 0.12.
+   (Implements POSIX draft P10003.2/D11.2, except for
+   internationalization features.)
+
+   Copyright (C) 1993 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 2, 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, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+/* AIX requires this to be the first thing in the file. */
+#if defined (_AIX) && !defined (REGEX_MALLOC)
+  #pragma alloca
+#endif
+
+#define _GNU_SOURCE
+
+/* We need this for `regex.h', and perhaps for the Emacs include files.  */
+#include <sys/types.h>
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+/* The `emacs' switch turns on certain matching commands
+   that make sense only in Emacs. */
+#ifdef emacs
+
+#include "lisp.h"
+#include "buffer.h"
+#include "syntax.h"
+
+/* Emacs uses `NULL' as a predicate.  */
+#undef NULL
+
+#else  /* not emacs */
+
+/* We used to test for `BSTRING' here, but only GCC and Emacs define
+   `BSTRING', as far as I know, and neither of them use this code.  */
+#if HAVE_STRING_H || STDC_HEADERS
+#include <string.h>
+#ifndef bcmp
+#define bcmp(s1, s2, n)	memcmp ((s1), (s2), (n))
+#endif
+#ifndef bcopy
+#define bcopy(s, d, n)	memcpy ((d), (s), (n))
+#endif
+#ifndef bzero
+#define bzero(s, n)	memset ((s), 0, (n))
+#endif
+#else
+#include <strings.h>
+#endif
+
+#ifdef STDC_HEADERS
+#include <stdlib.h>
+#else
+char *malloc ();
+char *realloc ();
+#endif
+
+
+/* Define the syntax stuff for \<, \>, etc.  */
+
+/* This must be nonzero for the wordchar and notwordchar pattern
+   commands in re_match_2.  */
+#ifndef Sword
+#define Sword 1
+#endif
+
+#ifdef SYNTAX_TABLE
+
+extern char *re_syntax_table;
+
+#else /* not SYNTAX_TABLE */
+
+/* How many characters in the character set.  */
+#define CHAR_SET_SIZE 256
+
+static char re_syntax_table[CHAR_SET_SIZE];
+
+static void
+init_syntax_once ()
+{
+   register int c;
+   static int done = 0;
+
+   if (done)
+     return;
+
+   bzero (re_syntax_table, sizeof re_syntax_table);
+
+   for (c = 'a'; c <= 'z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = 'A'; c <= 'Z'; c++)
+     re_syntax_table[c] = Sword;
+
+   for (c = '0'; c <= '9'; c++)
+     re_syntax_table[c] = Sword;
+
+   re_syntax_table['_'] = Sword;
+
+   done = 1;
+}
+
+#endif /* not SYNTAX_TABLE */
+
+#define SYNTAX(c) re_syntax_table[c]
+
+#endif /* not emacs */
+
+/* Get the interface, including the syntax bits.  */
+#include "regex.h"
+
+/* isalpha etc. are used for the character classes.  */
+#include <ctype.h>
+
+#ifndef isascii
+#define isascii(c) 1
+#endif
+
+#ifdef isblank
+#define ISBLANK(c) (isascii (c) && isblank (c))
+#else
+#define ISBLANK(c) ((c) == ' ' || (c) == '\t')
+#endif
+#ifdef isgraph
+#define ISGRAPH(c) (isascii (c) && isgraph (c))
+#else
+#define ISGRAPH(c) (isascii (c) && isprint (c) && !isspace (c))
+#endif
+
+#define ISPRINT(c) (isascii (c) && isprint (c))
+#define ISDIGIT(c) (isascii (c) && isdigit (c))
+#define ISALNUM(c) (isascii (c) && isalnum (c))
+#define ISALPHA(c) (isascii (c) && isalpha (c))
+#define ISCNTRL(c) (isascii (c) && iscntrl (c))
+#define ISLOWER(c) (isascii (c) && islower (c))
+#define ISPUNCT(c) (isascii (c) && ispunct (c))
+#define ISSPACE(c) (isascii (c) && isspace (c))
+#define ISUPPER(c) (isascii (c) && isupper (c))
+#define ISXDIGIT(c) (isascii (c) && isxdigit (c))
+
+#ifndef NULL
+#define NULL 0
+#endif
+
+/* We remove any previous definition of `SIGN_EXTEND_CHAR',
+   since ours (we hope) works properly with all combinations of
+   machines, compilers, `char' and `unsigned char' argument types.
+   (Per Bothner suggested the basic approach.)  */
+#undef SIGN_EXTEND_CHAR
+#if __STDC__
+#define SIGN_EXTEND_CHAR(c) ((signed char) (c))
+#else  /* not __STDC__ */
+/* As in Harbison and Steele.  */
+#define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128)
+#endif
+
+/* Should we use malloc or alloca?  If REGEX_MALLOC is not defined, we
+   use `alloca' instead of `malloc'.  This is because using malloc in
+   re_search* or re_match* could cause memory leaks when C-g is used in
+   Emacs; also, malloc is slower and causes storage fragmentation.  On
+   the other hand, malloc is more portable, and easier to debug.
+
+   Because we sometimes use alloca, some routines have to be macros,
+   not functions -- `alloca'-allocated space disappears at the end of the
+   function it is called in.  */
+
+#ifdef REGEX_MALLOC
+
+#define REGEX_ALLOCATE malloc
+#define REGEX_REALLOCATE(source, osize, nsize) realloc (source, nsize)
+
+#else /* not REGEX_MALLOC  */
+
+/* Emacs already defines alloca, sometimes.  */
+#ifndef alloca
+
+/* Make alloca work the best possible way.  */
+#ifdef __GNUC__
+#define alloca __builtin_alloca
+#else /* not __GNUC__ */
+#if HAVE_ALLOCA_H
+#include <alloca.h>
+#else /* not __GNUC__ or HAVE_ALLOCA_H */
+#ifndef _AIX /* Already did AIX, up at the top.  */
+char *alloca ();
+#endif /* not _AIX */
+#endif /* not HAVE_ALLOCA_H */
+#endif /* not __GNUC__ */
+
+#endif /* not alloca */
+
+#define REGEX_ALLOCATE alloca
+
+/* Assumes a `char *destination' variable.  */
+#define REGEX_REALLOCATE(source, osize, nsize)				\
+  (destination = (char *) alloca (nsize),				\
+   bcopy (source, destination, osize),					\
+   destination)
+
+#endif /* not REGEX_MALLOC */
+
+
+/* True if `size1' is non-NULL and PTR is pointing anywhere inside
+   `string1' or just past its end.  This works if PTR is NULL, which is
+   a good thing.  */
+#define FIRST_STRING_P(ptr) 					\
+  (size1 && string1 <= (ptr) && (ptr) <= string1 + size1)
+
+/* (Re)Allocate N items of type T using malloc, or fail.  */
+#define TALLOC(n, t) ((t *) malloc ((n) * sizeof (t)))
+#define RETALLOC(addr, n, t) ((addr) = (t *) realloc (addr, (n) * sizeof (t)))
+#define REGEX_TALLOC(n, t) ((t *) REGEX_ALLOCATE ((n) * sizeof (t)))
+
+#define BYTEWIDTH 8 /* In bits.  */
+
+#define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
+
+#define MAX(a, b) ((a) > (b) ? (a) : (b))
+#define MIN(a, b) ((a) < (b) ? (a) : (b))
+
+typedef char boolean;
+#define false 0
+#define true 1
+
+/* These are the command codes that appear in compiled regular
+   expressions.  Some opcodes are followed by argument bytes.  A
+   command code can specify any interpretation whatsoever for its
+   arguments.  Zero bytes may appear in the compiled regular expression.
+
+   The value of `exactn' is needed in search.c (search_buffer) in Emacs.
+   So regex.h defines a symbol `RE_EXACTN_VALUE' to be 1; the value of
+   `exactn' we use here must also be 1.  */
+
+typedef enum
+{
+  no_op = 0,
+
+        /* Followed by one byte giving n, then by n literal bytes.  */
+  exactn = 1,
+
+        /* Matches any (more or less) character.  */
+  anychar,
+
+        /* Matches any one char belonging to specified set.  First
+           following byte is number of bitmap bytes.  Then come bytes
+           for a bitmap saying which chars are in.  Bits in each byte
+           are ordered low-bit-first.  A character is in the set if its
+           bit is 1.  A character too large to have a bit in the map is
+           automatically not in the set.  */
+  charset,
+
+        /* Same parameters as charset, but match any character that is
+           not one of those specified.  */
+  charset_not,
+
+        /* Start remembering the text that is matched, for storing in a
+           register.  Followed by one byte with the register number, in
+           the range 0 to one less than the pattern buffer's re_nsub
+           field.  Then followed by one byte with the number of groups
+           inner to this one.  (This last has to be part of the
+           start_memory only because we need it in the on_failure_jump
+           of re_match_2.)  */
+  start_memory,
+
+        /* Stop remembering the text that is matched and store it in a
+           memory register.  Followed by one byte with the register
+           number, in the range 0 to one less than `re_nsub' in the
+           pattern buffer, and one byte with the number of inner groups,
+           just like `start_memory'.  (We need the number of inner
+           groups here because we don't have any easy way of finding the
+           corresponding start_memory when we're at a stop_memory.)  */
+  stop_memory,
+
+        /* Match a duplicate of something remembered. Followed by one
+           byte containing the register number.  */
+  duplicate,
+
+        /* Fail unless at beginning of line.  */
+  begline,
+
+        /* Fail unless at end of line.  */
+  endline,
+
+        /* Succeeds if at beginning of buffer (if emacs) or at beginning
+           of string to be matched (if not).  */
+  begbuf,
+
+        /* Analogously, for end of buffer/string.  */
+  endbuf,
+
+        /* Followed by two byte relative address to which to jump.  */
+  jump,
+
+    /* Same as jump, but marks the end of an alternative.  */
+  jump_past_alt,
+
+        /* Followed by two-byte relative address of place to resume at
+           in case of failure.  */
+  on_failure_jump,
+
+        /* Like on_failure_jump, but pushes a placeholder instead of the
+           current string position when executed.  */
+  on_failure_keep_string_jump,
+
+        /* Throw away latest failure point and then jump to following
+           two-byte relative address.  */
+  pop_failure_jump,
+
+        /* Change to pop_failure_jump if know won't have to backtrack to
+           match; otherwise change to jump.  This is used to jump
+           back to the beginning of a repeat.  If what follows this jump
+           clearly won't match what the repeat does, such that we can be
+           sure that there is no use backtracking out of repetitions
+           already matched, then we change it to a pop_failure_jump.
+           Followed by two-byte address.  */
+  maybe_pop_jump,
+
+        /* Jump to following two-byte address, and push a dummy failure
+           point. This failure point will be thrown away if an attempt
+           is made to use it for a failure.  A `+' construct makes this
+           before the first repeat.  Also used as an intermediary kind
+           of jump when compiling an alternative.  */
+  dummy_failure_jump,
+
+    /* Push a dummy failure point and continue.  Used at the end of
+       alternatives.  */
+  push_dummy_failure,
+
+        /* Followed by two-byte relative address and two-byte number n.
+           After matching N times, jump to the address upon failure.  */
+  succeed_n,
+
+        /* Followed by two-byte relative address, and two-byte number n.
+           Jump to the address N times, then fail.  */
+  jump_n,
+
+        /* Set the following two-byte relative address to the
+           subsequent two-byte number.  The address *includes* the two
+           bytes of number.  */
+  set_number_at,
+
+  wordchar,	/* Matches any word-constituent character.  */
+  notwordchar,	/* Matches any char that is not a word-constituent.  */
+
+  wordbeg,	/* Succeeds if at word beginning.  */
+  wordend,	/* Succeeds if at word end.  */
+
+  wordbound,	/* Succeeds if at a word boundary.  */
+  notwordbound	/* Succeeds if not at a word boundary.  */
+
+#ifdef emacs
+  ,before_dot,	/* Succeeds if before point.  */
+  at_dot,	/* Succeeds if at point.  */
+  after_dot,	/* Succeeds if after point.  */
+
+    /* Matches any character whose syntax is specified.  Followed by
+           a byte which contains a syntax code, e.g., Sword.  */
+  syntaxspec,
+
+    /* Matches any character whose syntax is not that specified.  */
+  notsyntaxspec
+#endif /* emacs */
+} re_opcode_t;
+
+/* Common operations on the compiled pattern.  */
+
+/* Store NUMBER in two contiguous bytes starting at DESTINATION.  */
+
+#define STORE_NUMBER(destination, number)				\
+  do {									\
+    (destination)[0] = (number) & 0377;					\
+    (destination)[1] = (number) >> 8;					\
+  } while (0)
+
+/* Same as STORE_NUMBER, except increment DESTINATION to
+   the byte after where the number is stored.  Therefore, DESTINATION
+   must be an lvalue.  */
+
+#define STORE_NUMBER_AND_INCR(destination, number)			\
+  do {									\
+    STORE_NUMBER (destination, number);					\
+    (destination) += 2;							\
+  } while (0)
+
+/* Put into DESTINATION a number stored in two contiguous bytes starting
+   at SOURCE.  */
+
+#define EXTRACT_NUMBER(destination, source)				\
+  do {									\
+    (destination) = *(source) & 0377;					\
+    (destination) += SIGN_EXTEND_CHAR (*((source) + 1)) << 8;		\
+  } while (0)
+
+#ifdef DEBUG
+static void
+extract_number (dest, source)
+    int *dest;
+    unsigned char *source;
+{
+  int temp = SIGN_EXTEND_CHAR (*(source + 1));
+  *dest = *source & 0377;
+  *dest += temp << 8;
+}
+
+#ifndef EXTRACT_MACROS /* To debug the macros.  */
+#undef EXTRACT_NUMBER
+#define EXTRACT_NUMBER(dest, src) extract_number (&dest, src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+
+/* Same as EXTRACT_NUMBER, except increment SOURCE to after the number.
+   SOURCE must be an lvalue.  */
+
+#define EXTRACT_NUMBER_AND_INCR(destination, source)			\
+  do {									\
+    EXTRACT_NUMBER (destination, source);				\
+    (source) += 2; 							\
+  } while (0)
+
+#ifdef DEBUG
+static void
+extract_number_and_incr (destination, source)
+    int *destination;
+    unsigned char **source;
+{
+  extract_number (destination, *source);
+  *source += 2;
+}
+
+#ifndef EXTRACT_MACROS
+#undef EXTRACT_NUMBER_AND_INCR
+#define EXTRACT_NUMBER_AND_INCR(dest, src) \
+  extract_number_and_incr (&dest, &src)
+#endif /* not EXTRACT_MACROS */
+
+#endif /* DEBUG */
+
+/* If DEBUG is defined, Regex prints many voluminous messages about what
+   it is doing (if the variable `debug' is nonzero).  If linked with the
+   main program in `iregex.c', you can enter patterns and strings
+   interactively.  And if linked with the main program in `main.c' and
+   the other test files, you can run the already-written tests.  */
+
+#ifdef DEBUG
+
+/* We use standard I/O for debugging.  */
+#include <stdio.h>
+
+/* It is useful to test things that ``must'' be true when debugging.  */
+#include <assert.h>
+
+static int debug = 0;
+
+#define DEBUG_STATEMENT(e) e
+#define DEBUG_PRINT1(x) if (debug) printf (x)
+#define DEBUG_PRINT2(x1, x2) if (debug) printf (x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3) if (debug) printf (x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4) if (debug) printf (x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e) 				\
+  if (debug) print_partial_compiled_pattern (s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)			\
+  if (debug) print_double_string (w, s1, sz1, s2, sz2)
+
+
+extern void printchar ();
+
+/* Print the fastmap in human-readable form.  */
+
+void
+print_fastmap (fastmap)
+    char *fastmap;
+{
+  unsigned was_a_range = 0;
+  unsigned i = 0;
+
+  while (i < (1 << BYTEWIDTH))
+    {
+      if (fastmap[i++])
+    {
+      was_a_range = 0;
+          printchar (i - 1);
+          while (i < (1 << BYTEWIDTH)  &&  fastmap[i])
+            {
+              was_a_range = 1;
+              i++;
+            }
+      if (was_a_range)
+            {
+              printf ("-");
+              printchar (i - 1);
+            }
+        }
+    }
+  putchar ('\n');
+}
+
+
+/* Print a compiled pattern string in human-readable form, starting at
+   the START pointer into it and ending just before the pointer END.  */
+
+void
+print_partial_compiled_pattern (start, end)
+    unsigned char *start;
+    unsigned char *end;
+{
+  int mcnt, mcnt2;
+  unsigned char *p = start;
+  unsigned char *pend = end;
+
+  if (start == NULL)
+    {
+      printf ("(null)\n");
+      return;
+    }
+
+  /* Loop over pattern commands.  */
+  while (p < pend)
+    {
+      switch ((re_opcode_t) *p++)
+    {
+        case no_op:
+          printf ("/no_op");
+          break;
+
+    case exactn:
+      mcnt = *p++;
+          printf ("/exactn/%d", mcnt);
+          do
+        {
+              putchar ('/');
+          printchar (*p++);
+            }
+          while (--mcnt);
+          break;
+
+    case start_memory:
+          mcnt = *p++;
+          printf ("/start_memory/%d/%d", mcnt, *p++);
+          break;
+
+    case stop_memory:
+          mcnt = *p++;
+      printf ("/stop_memory/%d/%d", mcnt, *p++);
+          break;
+
+    case duplicate:
+      printf ("/duplicate/%d", *p++);
+      break;
+
+    case anychar:
+      printf ("/anychar");
+      break;
+
+    case charset:
+        case charset_not:
+          {
+            register int c;
+
+            printf ("/charset%s",
+                (re_opcode_t) *(p - 1) == charset_not ? "_not" : "");
+
+            assert (p + *p < pend);
+
+            for (c = 0; c < *p; c++)
+              {
+                unsigned bit;
+                unsigned char map_byte = p[1 + c];
+
+                putchar ('/');
+
+        for (bit = 0; bit < BYTEWIDTH; bit++)
+                  if (map_byte & (1 << bit))
+                    printchar (c * BYTEWIDTH + bit);
+              }
+        p += 1 + *p;
+        break;
+      }
+
+    case begline:
+      printf ("/begline");
+          break;
+
+    case endline:
+          printf ("/endline");
+          break;
+
+    case on_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+      printf ("/on_failure_jump/0/%d", mcnt);
+          break;
+
+    case on_failure_keep_string_jump:
+          extract_number_and_incr (&mcnt, &p);
+      printf ("/on_failure_keep_string_jump/0/%d", mcnt);
+          break;
+
+    case dummy_failure_jump:
+          extract_number_and_incr (&mcnt, &p);
+      printf ("/dummy_failure_jump/0/%d", mcnt);
+          break;
+
+    case push_dummy_failure:
+          printf ("/push_dummy_failure");
+          break;
+
+        case maybe_pop_jump:
+          extract_number_and_incr (&mcnt, &p);
+      printf ("/maybe_pop_jump/0/%d", mcnt);
+      break;
+
+        case pop_failure_jump:
+      extract_number_and_incr (&mcnt, &p);
+      printf ("/pop_failure_jump/0/%d", mcnt);
+      break;
+
+        case jump_past_alt:
+      extract_number_and_incr (&mcnt, &p);
+      printf ("/jump_past_alt/0/%d", mcnt);
+      break;
+
+        case jump:
+      extract_number_and_incr (&mcnt, &p);
+      printf ("/jump/0/%d", mcnt);
+      break;
+
+        case succeed_n:
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+      printf ("/succeed_n/0/%d/0/%d", mcnt, mcnt2);
+          break;
+
+        case jump_n:
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+      printf ("/jump_n/0/%d/0/%d", mcnt, mcnt2);
+          break;
+
+        case set_number_at:
+          extract_number_and_incr (&mcnt, &p);
+          extract_number_and_incr (&mcnt2, &p);
+      printf ("/set_number_at/0/%d/0/%d", mcnt, mcnt2);
+          break;
+
+        case wordbound:
+      printf ("/wordbound");
+      break;
+
+    case notwordbound:
+      printf ("/notwordbound");
+          break;
+
+    case wordbeg:
+      printf ("/wordbeg");
+      break;
+
+    case wordend:
+      printf ("/wordend");
+
+#ifdef emacs
+    case before_dot:
+      printf ("/before_dot");
+          break;
+
+    case at_dot:
+      printf ("/at_dot");
+          break;
+
+    case after_dot:
+      printf ("/after_dot");
+          break;
+
+    case syntaxspec:
+          printf ("/syntaxspec");
+      mcnt = *p++;
+      printf ("/%d", mcnt);
+          break;
+
+    case notsyntaxspec:
+          printf ("/notsyntaxspec");
+      mcnt = *p++;
+      printf ("/%d", mcnt);
+      break;
+#endif /* emacs */
+
+    case wordchar:
+      printf ("/wordchar");
+          break;
+
+    case notwordchar:
+      printf ("/notwordchar");
+          break;
+
+    case begbuf:
+      printf ("/begbuf");
+          break;
+
+    case endbuf:
+      printf ("/endbuf");
+          break;
+
+        default:
+          printf ("?%d", *(p-1));
+    }
+    }
+  printf ("/\n");
+}
+
+
+void
+print_compiled_pattern (bufp)
+    struct re_pattern_buffer *bufp;
+{
+  unsigned char *buffer = bufp->buffer;
+
+  print_partial_compiled_pattern (buffer, buffer + bufp->used);
+  printf ("%d bytes used/%d bytes allocated.\n", bufp->used, bufp->allocated);
+
+  if (bufp->fastmap_accurate && bufp->fastmap)
+    {
+      printf ("fastmap: ");
+      print_fastmap (bufp->fastmap);
+    }
+
+  printf ("re_nsub: %d\t", bufp->re_nsub);
+  printf ("regs_alloc: %d\t", bufp->regs_allocated);
+  printf ("can_be_null: %d\t", bufp->can_be_null);
+  printf ("newline_anchor: %d\n", bufp->newline_anchor);
+  printf ("no_sub: %d\t", bufp->no_sub);
+  printf ("not_bol: %d\t", bufp->not_bol);
+  printf ("not_eol: %d\t", bufp->not_eol);
+  printf ("syntax: %d\n", bufp->syntax);
+  /* Perhaps we should print the translate table?  */
+}
+
+
+void
+print_double_string (where, string1, size1, string2, size2)
+    const char *where;
+    const char *string1;
+    const char *string2;
+    int size1;
+    int size2;
+{
+  unsigned this_char;
+
+  if (where == NULL)
+    printf ("(null)");
+  else
+    {
+      if (FIRST_STRING_P (where))
+        {
+          for (this_char = where - string1; this_char < size1; this_char++)
+            printchar (string1[this_char]);
+
+          where = string2;
+        }
+
+      for (this_char = where - string2; this_char < size2; this_char++)
+        printchar (string2[this_char]);
+    }
+}
+
+#else /* not DEBUG */
+
+#undef assert
+#define assert(e)
+
+#define DEBUG_STATEMENT(e)
+#define DEBUG_PRINT1(x)
+#define DEBUG_PRINT2(x1, x2)
+#define DEBUG_PRINT3(x1, x2, x3)
+#define DEBUG_PRINT4(x1, x2, x3, x4)
+#define DEBUG_PRINT_COMPILED_PATTERN(p, s, e)
+#define DEBUG_PRINT_DOUBLE_STRING(w, s1, sz1, s2, sz2)
+
+#endif /* not DEBUG */
+
+/* Set by `re_set_syntax' to the current regexp syntax to recognize.  Can
+   also be assigned to arbitrarily: each pattern buffer stores its own
+   syntax, so it can be changed between regex compilations.  */
+reg_syntax_t re_syntax_options = RE_SYNTAX_EMACS;
+
+
+/* Specify the precise syntax of regexps for compilation.  This provides
+   for compatibility for various utilities which historically have
+   different, incompatible syntaxes.
+
+   The argument SYNTAX is a bit mask comprised of the various bits
+   defined in regex.h.  We return the old syntax.  */
+
+reg_syntax_t
+re_set_syntax (syntax)
+    reg_syntax_t syntax;
+{
+  reg_syntax_t ret = re_syntax_options;
+
+  re_syntax_options = syntax;
+  return ret;
+}
+
+/* This table gives an error message for each of the error codes listed
+   in regex.h.  Obviously the order here has to be same as there.  */
+
+static const char *re_error_msg[] =
+  { NULL,					/* REG_NOERROR */
+    "No match",					/* REG_NOMATCH */
+    "Invalid regular expression",		/* REG_BADPAT */
+    "Invalid collation character",		/* REG_ECOLLATE */
+    "Invalid character class name",		/* REG_ECTYPE */
+    "Trailing backslash",			/* REG_EESCAPE */
+    "Invalid back reference",			/* REG_ESUBREG */
+    "Unmatched [ or [^",			/* REG_EBRACK */
+    "Unmatched ( or \\(",			/* REG_EPAREN */
+    "Unmatched \\{",				/* REG_EBRACE */
+    "Invalid content of \\{\\}",		/* REG_BADBR */
+    "Invalid range end",			/* REG_ERANGE */
+    "Memory exhausted",				/* REG_ESPACE */
+    "Invalid preceding regular expression",	/* REG_BADRPT */
+    "Premature end of regular expression",	/* REG_EEND */
+    "Regular expression too big",		/* REG_ESIZE */
+    "Unmatched ) or \\)",			/* REG_ERPAREN */
+  };
+
+/* Subroutine declarations and macros for regex_compile.  */
+
+static void store_op1 (), store_op2 ();
+static void insert_op1 (), insert_op2 ();
+static boolean at_begline_loc_p (), at_endline_loc_p ();
+static boolean group_in_compile_stack ();
+static reg_errcode_t compile_range ();
+
+/* Fetch the next character in the uncompiled pattern---translating it
+   if necessary.  Also cast from a signed character in the constant
+   string passed to us by the user to an unsigned char that we can use
+   as an array index (in, e.g., `translate').  */
+#define PATFETCH(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++;						\
+    if (translate) c = translate[c]; 					\
+  } while (0)
+
+/* Fetch the next character in the uncompiled pattern, with no
+   translation.  */
+#define PATFETCH_RAW(c)							\
+  do {if (p == pend) return REG_EEND;					\
+    c = (unsigned char) *p++; 						\
+  } while (0)
+
+/* Go backwards one character in the pattern.  */
+#define PATUNFETCH p--
+
+
+/* If `translate' is non-null, return translate[D], else just D.  We
+   cast the subscript to translate because some data is declared as
+   `char *', to avoid warnings when a string constant is passed.  But
+   when we use a character as a subscript we must make it unsigned.  */
+#define TRANSLATE(d) (translate ? translate[(unsigned char) (d)] : (d))
+
+
+/* Macros for outputting the compiled pattern into `buffer'.  */
+
+/* If the buffer isn't allocated when it comes in, use this.  */
+#define INIT_BUF_SIZE  32
+
+/* Make sure we have at least N more bytes of space in buffer.  */
+#define GET_BUFFER_SPACE(n)						\
+    while (b - bufp->buffer + (n) > bufp->allocated)			\
+      EXTEND_BUFFER ()
+
+/* Make sure we have one more byte of buffer space and then add C to it.  */
+#define BUF_PUSH(c)							\
+  do {									\
+    GET_BUFFER_SPACE (1);						\
+    *b++ = (unsigned char) (c);						\
+  } while (0)
+
+
+/* Ensure we have two more bytes of buffer space and then append C1 and C2.  */
+#define BUF_PUSH_2(c1, c2)						\
+  do {									\
+    GET_BUFFER_SPACE (2);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+  } while (0)
+
+
+/* As with BUF_PUSH_2, except for three bytes.  */
+#define BUF_PUSH_3(c1, c2, c3)						\
+  do {									\
+    GET_BUFFER_SPACE (3);						\
+    *b++ = (unsigned char) (c1);					\
+    *b++ = (unsigned char) (c2);					\
+    *b++ = (unsigned char) (c3);					\
+  } while (0)
+
+
+/* Store a jump with opcode OP at LOC to location TO.  We store a
+   relative address offset by the three bytes the jump itself occupies.  */
+#define STORE_JUMP(op, loc, to) \
+  store_op1 (op, loc, (to) - (loc) - 3)
+
+/* Likewise, for a two-argument jump.  */
+#define STORE_JUMP2(op, loc, to, arg) \
+  store_op2 (op, loc, (to) - (loc) - 3, arg)
+
+/* Like `STORE_JUMP', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP(op, loc, to) \
+  insert_op1 (op, loc, (to) - (loc) - 3, b)
+
+/* Like `STORE_JUMP2', but for inserting.  Assume `b' is the buffer end.  */
+#define INSERT_JUMP2(op, loc, to, arg) \
+  insert_op2 (op, loc, (to) - (loc) - 3, arg, b)
+
+
+/* This is not an arbitrary limit: the arguments which represent offsets
+   into the pattern are two bytes long.  So if 2^16 bytes turns out to
+   be too small, many things would have to change.  */
+#define MAX_BUF_SIZE (1L << 16)
+
+
+/* Extend the buffer by twice its current size via realloc and
+   reset the pointers that pointed into the old block to point to the
+   correct places in the new one.  If extending the buffer results in it
+   being larger than MAX_BUF_SIZE, then flag memory exhausted.  */
+#define EXTEND_BUFFER()							\
+  do { 									\
+    unsigned char *old_buffer = bufp->buffer;				\
+    if (bufp->allocated == MAX_BUF_SIZE) 				\
+      return REG_ESIZE;							\
+    bufp->allocated <<= 1;						\
+    if (bufp->allocated > MAX_BUF_SIZE)					\
+      bufp->allocated = MAX_BUF_SIZE; 					\
+    bufp->buffer = (unsigned char *) realloc (bufp->buffer, bufp->allocated);\
+    if (bufp->buffer == NULL)						\
+      return REG_ESPACE;						\
+    /* If the buffer moved, move all the pointers into it.  */		\
+    if (old_buffer != bufp->buffer)					\
+      {									\
+        b = (b - old_buffer) + bufp->buffer;				\
+        begalt = (begalt - old_buffer) + bufp->buffer;			\
+        if (fixup_alt_jump)						\
+          fixup_alt_jump = (fixup_alt_jump - old_buffer) + bufp->buffer;\
+        if (laststart)							\
+          laststart = (laststart - old_buffer) + bufp->buffer;		\
+        if (pending_exact)						\
+          pending_exact = (pending_exact - old_buffer) + bufp->buffer;	\
+      }									\
+  } while (0)
+
+
+/* Since we have one byte reserved for the register number argument to
+   {start,stop}_memory, the maximum number of groups we can report
+   things about is what fits in that byte.  */
+#define MAX_REGNUM 255
+
+/* But patterns can have more than `MAX_REGNUM' registers.  We just
+   ignore the excess.  */
+typedef unsigned regnum_t;
+
+
+/* Macros for the compile stack.  */
+
+/* Since offsets can go either forwards or backwards, this type needs to
+   be able to hold values from -(MAX_BUF_SIZE - 1) to MAX_BUF_SIZE - 1.  */
+typedef int pattern_offset_t;
+
+typedef struct
+{
+  pattern_offset_t begalt_offset;
+  pattern_offset_t fixup_alt_jump;
+  pattern_offset_t inner_group_offset;
+  pattern_offset_t laststart_offset;
+  regnum_t regnum;
+} compile_stack_elt_t;
+
+
+typedef struct
+{
+  compile_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} compile_stack_type;
+
+
+#define INIT_COMPILE_STACK_SIZE 32
+
+#define COMPILE_STACK_EMPTY  (compile_stack.avail == 0)
+#define COMPILE_STACK_FULL  (compile_stack.avail == compile_stack.size)
+
+/* The next available element.  */
+#define COMPILE_STACK_TOP (compile_stack.stack[compile_stack.avail])
+
+
+/* Set the bit for character C in a list.  */
+#define SET_LIST_BIT(c)                               \
+  (b[((unsigned char) (c)) / BYTEWIDTH]               \
+   |= 1 << (((unsigned char) c) % BYTEWIDTH))
+
+
+/* Get the next unsigned number in the uncompiled pattern.  */
+#define GET_UNSIGNED_NUMBER(num) 					\
+  { if (p != pend)							\
+     {									\
+       PATFETCH (c); 							\
+       while (ISDIGIT (c)) 						\
+         { 								\
+           if (num < 0)							\
+              num = 0;							\
+           num = num * 10 + c - '0'; 					\
+           if (p == pend) 						\
+              break; 							\
+           PATFETCH (c);						\
+         } 								\
+       } 								\
+    }
+
+#define CHAR_CLASS_MAX_LENGTH  6 /* Namely, `xdigit'.  */
+
+#define IS_CHAR_CLASS(string)						\
+   (STREQ (string, "alpha") || STREQ (string, "upper")			\
+    || STREQ (string, "lower") || STREQ (string, "digit")		\
+    || STREQ (string, "alnum") || STREQ (string, "xdigit")		\
+    || STREQ (string, "space") || STREQ (string, "print")		\
+    || STREQ (string, "punct") || STREQ (string, "graph")		\
+    || STREQ (string, "cntrl") || STREQ (string, "blank"))
+
+/* `regex_compile' compiles PATTERN (of length SIZE) according to SYNTAX.
+   Returns one of error codes defined in `regex.h', or zero for success.
+
+   Assumes the `allocated' (and perhaps `buffer') and `translate'
+   fields are set in BUFP on entry.
+
+   If it succeeds, results are put in BUFP (if it returns an error, the
+   contents of BUFP are undefined):
+     `buffer' is the compiled pattern;
+     `syntax' is set to SYNTAX;
+     `used' is set to the length of the compiled pattern;
+     `fastmap_accurate' is zero;
+     `re_nsub' is the number of subexpressions in PATTERN;
+     `not_bol' and `not_eol' are zero;
+
+   The `fastmap' and `newline_anchor' fields are neither
+   examined nor set.  */
+
+static reg_errcode_t
+regex_compile (pattern, size, syntax, bufp)
+     const char *pattern;
+     int size;
+     reg_syntax_t syntax;
+     struct re_pattern_buffer *bufp;
+{
+  /* We fetch characters from PATTERN here.  Even though PATTERN is
+     `char *' (i.e., signed), we declare these variables as unsigned, so
+     they can be reliably used as array indices.  */
+  register unsigned char c, c1;
+
+  /* A random tempory spot in PATTERN.  */
+  const char *p1;
+
+  /* Points to the end of the buffer, where we should append.  */
+  register unsigned char *b;
+
+  /* Keeps track of unclosed groups.  */
+  compile_stack_type compile_stack;
+
+  /* Points to the current (ending) position in the pattern.  */
+  const char *p = pattern;
+  const char *pend = pattern + size;
+
+  /* How to translate the characters in the pattern.  */
+  char *translate = bufp->translate;
+
+  /* Address of the count-byte of the most recently inserted `exactn'
+     command.  This makes it possible to tell if a new exact-match
+     character can be added to that command or if the character requires
+     a new `exactn' command.  */
+  unsigned char *pending_exact = 0;
+
+  /* Address of start of the most recently finished expression.
+     This tells, e.g., postfix * where to find the start of its
+     operand.  Reset at the beginning of groups and alternatives.  */
+  unsigned char *laststart = 0;
+
+  /* Address of beginning of regexp, or inside of last group.  */
+  unsigned char *begalt;
+
+  /* Place in the uncompiled pattern (i.e., the {) to
+     which to go back if the interval is invalid.  */
+  const char *beg_interval;
+
+  /* Address of the place where a forward jump should go to the end of
+     the containing expression.  Each alternative of an `or' -- except the
+     last -- ends with a forward jump of this sort.  */
+  unsigned char *fixup_alt_jump = 0;
+
+  /* Counts open-groups as they are encountered.  Remembered for the
+     matching close-group on the compile stack, so the same register
+     number is put in the stop_memory as the start_memory.  */
+  regnum_t regnum = 0;
+
+#ifdef DEBUG
+  DEBUG_PRINT1 ("\nCompiling pattern: ");
+  if (debug)
+    {
+      unsigned debug_count;
+
+      for (debug_count = 0; debug_count < size; debug_count++)
+        printchar (pattern[debug_count]);
+      putchar ('\n');
+    }
+#endif /* DEBUG */
+
+  /* Initialize the compile stack.  */
+  compile_stack.stack = TALLOC (INIT_COMPILE_STACK_SIZE, compile_stack_elt_t);
+  if (compile_stack.stack == NULL)
+    return REG_ESPACE;
+
+  compile_stack.size = INIT_COMPILE_STACK_SIZE;
+  compile_stack.avail = 0;
+
+  /* Initialize the pattern buffer.  */
+  bufp->syntax = syntax;
+  bufp->fastmap_accurate = 0;
+  bufp->not_bol = bufp->not_eol = 0;
+
+  /* Set `used' to zero, so that if we return an error, the pattern
+     printer (for debugging) will think there's no pattern.  We reset it
+     at the end.  */
+  bufp->used = 0;
+
+  /* Always count groups, whether or not bufp->no_sub is set.  */
+  bufp->re_nsub = 0;
+
+#if !defined (emacs) && !defined (SYNTAX_TABLE)
+  /* Initialize the syntax table.  */
+   init_syntax_once ();
+#endif
+
+  if (bufp->allocated == 0)
+    {
+      if (bufp->buffer)
+    { /* If zero allocated, but buffer is non-null, try to realloc
+             enough space.  This loses if buffer's address is bogus, but
+             that is the user's responsibility.  */
+          RETALLOC (bufp->buffer, INIT_BUF_SIZE, unsigned char);
+        }
+      else
+        { /* Caller did not allocate a buffer.  Do it for them.  */
+          bufp->buffer = TALLOC (INIT_BUF_SIZE, unsigned char);
+        }
+      if (!bufp->buffer) return REG_ESPACE;
+
+      bufp->allocated = INIT_BUF_SIZE;
+    }
+
+  begalt = b = bufp->buffer;
+
+  /* Loop through the uncompiled pattern until we're at the end.  */
+  while (p != pend)
+    {
+      PATFETCH (c);
+
+      switch (c)
+        {
+        case '^':
+          {
+            if (   /* If at start of pattern, it's an operator.  */
+                   p == pattern + 1
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's come before.  */
+                || at_begline_loc_p (pattern, p, syntax))
+              BUF_PUSH (begline);
+            else
+              goto normal_char;
+          }
+          break;
+
+
+        case '$':
+          {
+            if (   /* If at end of pattern, it's an operator.  */
+                   p == pend
+                   /* If context independent, it's an operator.  */
+                || syntax & RE_CONTEXT_INDEP_ANCHORS
+                   /* Otherwise, depends on what's next.  */
+                || at_endline_loc_p (p, pend, syntax))
+               BUF_PUSH (endline);
+             else
+               goto normal_char;
+           }
+           break;
+
+
+    case '+':
+        case '?':
+          if ((syntax & RE_BK_PLUS_QM)
+              || (syntax & RE_LIMITED_OPS))
+            goto normal_char;
+        handle_plus:
+        case '*':
+          /* If there is no previous pattern... */
+          if (!laststart)
+            {
+              if (syntax & RE_CONTEXT_INVALID_OPS)
+                return REG_BADRPT;
+              else if (!(syntax & RE_CONTEXT_INDEP_OPS))
+                goto normal_char;
+            }
+
+          {
+            /* Are we optimizing this jump?  */
+            boolean keep_string_p = false;
+
+            /* 1 means zero (many) matches is allowed.  */
+            char zero_times_ok = 0, many_times_ok = 0;
+
+            /* If there is a sequence of repetition chars, collapse it
+               down to just one (the right one).  We can't combine
+               interval operators with these because of, e.g., `a{2}*',
+               which should only match an even number of `a's.  */
+
+            for (;;)
+              {
+                zero_times_ok |= c != '+';
+                many_times_ok |= c != '?';
+
+                if (p == pend)
+                  break;
+
+                PATFETCH (c);
+
+                if (c == '*'
+                    || (!(syntax & RE_BK_PLUS_QM) && (c == '+' || c == '?')))
+                  ;
+
+                else if (syntax & RE_BK_PLUS_QM  &&  c == '\\')
+                  {
+                    if (p == pend) return REG_EESCAPE;
+
+                    PATFETCH (c1);
+                    if (!(c1 == '+' || c1 == '?'))
+                      {
+                        PATUNFETCH;
+                        PATUNFETCH;
+                        break;
+                      }
+
+                    c = c1;
+                  }
+                else
+                  {
+                    PATUNFETCH;
+                    break;
+                  }
+
+                /* If we get here, we found another repeat character.  */
+               }
+
+            /* Star, etc. applied to an empty pattern is equivalent
+               to an empty pattern.  */
+            if (!laststart)
+              break;
+
+            /* Now we know whether or not zero matches is allowed
+               and also whether or not two or more matches is allowed.  */
+            if (many_times_ok)
+              { /* More than one repetition is allowed, so put in at the
+                   end a backward relative jump from `b' to before the next
+                   jump we're going to put in below (which jumps from
+                   laststart to after this jump).
+
+                   But if we are at the `*' in the exact sequence `.*\n',
+                   insert an unconditional jump backwards to the .,
+                   instead of the beginning of the loop.  This way we only
+                   push a failure point once, instead of every time
+                   through the loop.  */
+                assert (p - 1 > pattern);
+
+                /* Allocate the space for the jump.  */
+                GET_BUFFER_SPACE (3);
+
+                /* We know we are not at the first character of the pattern,
+                   because laststart was nonzero.  And we've already
+                   incremented `p', by the way, to be the character after
+                   the `*'.  Do we have to do something analogous here
+                   for null bytes, because of RE_DOT_NOT_NULL?  */
+                if (TRANSLATE (*(p - 2)) == TRANSLATE ('.')
+            && zero_times_ok
+                    && p < pend && TRANSLATE (*p) == TRANSLATE ('\n')
+                    && !(syntax & RE_DOT_NEWLINE))
+                  { /* We have .*\n.  */
+                    STORE_JUMP (jump, b, laststart);
+                    keep_string_p = true;
+                  }
+                else
+                  /* Anything else.  */
+                  STORE_JUMP (maybe_pop_jump, b, laststart - 3);
+
+                /* We've added more stuff to the buffer.  */
+                b += 3;
+              }
+
+            /* On failure, jump from laststart to b + 3, which will be the
+               end of the buffer after this jump is inserted.  */
+            GET_BUFFER_SPACE (3);
+            INSERT_JUMP (keep_string_p ? on_failure_keep_string_jump
+                                       : on_failure_jump,
+                         laststart, b + 3);
+            pending_exact = 0;
+            b += 3;
+
+            if (!zero_times_ok)
+              {
+                /* At least one repetition is required, so insert a
+                   `dummy_failure_jump' before the initial
+                   `on_failure_jump' instruction of the loop. This
+                   effects a skip over that instruction the first time
+                   we hit that loop.  */
+                GET_BUFFER_SPACE (3);
+                INSERT_JUMP (dummy_failure_jump, laststart, laststart + 6);
+                b += 3;
+              }
+            }
+      break;
+
+
+    case '.':
+          laststart = b;
+          BUF_PUSH (anychar);
+          break;
+
+
+        case '[':
+          {
+            boolean had_char_class = false;
+
+            if (p == pend) return REG_EBRACK;
+
+            /* Ensure that we have enough space to push a charset: the
+               opcode, the length count, and the bitset; 34 bytes in all.  */
+        GET_BUFFER_SPACE (34);
+
+            laststart = b;
+
+            /* We test `*p == '^' twice, instead of using an if
+               statement, so we only need one BUF_PUSH.  */
+            BUF_PUSH (*p == '^' ? charset_not : charset);
+            if (*p == '^')
+              p++;
+
+            /* Remember the first position in the bracket expression.  */
+            p1 = p;
+
+            /* Push the number of bytes in the bitmap.  */
+            BUF_PUSH ((1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* Clear the whole map.  */
+            bzero (b, (1 << BYTEWIDTH) / BYTEWIDTH);
+
+            /* charset_not matches newline according to a syntax bit.  */
+            if ((re_opcode_t) b[-2] == charset_not
+                && (syntax & RE_HAT_LISTS_NOT_NEWLINE))
+              SET_LIST_BIT ('\n');
+
+            /* Read in characters and ranges, setting map bits.  */
+            for (;;)
+              {
+                if (p == pend) return REG_EBRACK;
+
+                PATFETCH (c);
+
+                /* \ might escape characters inside [...] and [^...].  */
+                if ((syntax & RE_BACKSLASH_ESCAPE_IN_LISTS) && c == '\\')
+                  {
+                    if (p == pend) return REG_EESCAPE;
+
+                    PATFETCH (c1);
+                    SET_LIST_BIT (c1);
+                    continue;
+                  }
+
+                /* Could be the end of the bracket expression.  If it's
+                   not (i.e., when the bracket expression is `[]' so
+                   far), the ']' character bit gets set way below.  */
+                if (c == ']' && p != p1 + 1)
+                  break;
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character class.  */
+                if (had_char_class && c == '-' && *p != ']')
+                  return REG_ERANGE;
+
+                /* Look ahead to see if it's a range when the last thing
+                   was a character: if this is a hyphen not at the
+                   beginning or the end of a list, then it's the range
+                   operator.  */
+                if (c == '-'
+                    && !(p - 2 >= pattern && p[-2] == '[')
+                    && !(p - 3 >= pattern && p[-3] == '[' && p[-2] == '^')
+                    && *p != ']')
+                  {
+                    reg_errcode_t ret
+                      = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) return ret;
+                  }
+
+                else if (p[0] == '-' && p[1] != ']')
+                  { /* This handles ranges made up of characters only.  */
+                    reg_errcode_t ret;
+
+            /* Move past the `-'.  */
+                    PATFETCH (c1);
+
+                    ret = compile_range (&p, pend, translate, syntax, b);
+                    if (ret != REG_NOERROR) return ret;
+                  }
+
+                /* See if we're at the beginning of a possible character
+                   class.  */
+
+                else if (syntax & RE_CHAR_CLASSES && c == '[' && *p == ':')
+                  { /* Leave room for the null.  */
+                    char str[CHAR_CLASS_MAX_LENGTH + 1];
+
+                    PATFETCH (c);
+                    c1 = 0;
+
+                    /* If pattern is `[[:'.  */
+                    if (p == pend) return REG_EBRACK;
+
+                    for (;;)
+                      {
+                        PATFETCH (c);
+                        if (c == ':' || c == ']' || p == pend
+                            || c1 == CHAR_CLASS_MAX_LENGTH)
+                          break;
+                        str[c1++] = c;
+                      }
+                    str[c1] = '\0';
+
+                    /* If isn't a word bracketed by `[:' and:`]':
+                       undo the ending character, the letters, and leave
+                       the leading `:' and `[' (but set bits for them).  */
+                    if (c == ':' && *p == ']')
+                      {
+                        int ch;
+                        boolean is_alnum = STREQ (str, "alnum");
+                        boolean is_alpha = STREQ (str, "alpha");
+                        boolean is_blank = STREQ (str, "blank");
+                        boolean is_cntrl = STREQ (str, "cntrl");
+                        boolean is_digit = STREQ (str, "digit");
+                        boolean is_graph = STREQ (str, "graph");
+                        boolean is_lower = STREQ (str, "lower");
+                        boolean is_print = STREQ (str, "print");
+                        boolean is_punct = STREQ (str, "punct");
+                        boolean is_space = STREQ (str, "space");
+                        boolean is_upper = STREQ (str, "upper");
+                        boolean is_xdigit = STREQ (str, "xdigit");
+
+                        if (!IS_CHAR_CLASS (str)) return REG_ECTYPE;
+
+                        /* Throw away the ] at the end of the character
+                           class.  */
+                        PATFETCH (c);
+
+                        if (p == pend) return REG_EBRACK;
+
+                        for (ch = 0; ch < 1 << BYTEWIDTH; ch++)
+                          {
+                            if (   (is_alnum  && ISALNUM (ch))
+                                || (is_alpha  && ISALPHA (ch))
+                                || (is_blank  && ISBLANK (ch))
+                                || (is_cntrl  && ISCNTRL (ch))
+                                || (is_digit  && ISDIGIT (ch))
+                                || (is_graph  && ISGRAPH (ch))
+                                || (is_lower  && ISLOWER (ch))
+                                || (is_print  && ISPRINT (ch))
+                                || (is_punct  && ISPUNCT (ch))
+                                || (is_space  && ISSPACE (ch))
+                                || (is_upper  && ISUPPER (ch))
+                                || (is_xdigit && ISXDIGIT (ch)))
+                            SET_LIST_BIT (ch);
+                          }
+                        had_char_class = true;
+                      }
+                    else
+                      {
+                        c1++;
+                        while (c1--)
+                          PATUNFETCH;
+                        SET_LIST_BIT ('[');
+                        SET_LIST_BIT (':');
+                        had_char_class = false;
+                      }
+                  }
+                else
+                  {
+                    had_char_class = false;
+                    SET_LIST_BIT (c);
+                  }
+              }
+
+            /* Discard any (non)matching list bytes that are all 0 at the
+               end of the map.  Decrease the map-length byte too.  */
+            while ((int) b[-1] > 0 && b[b[-1] - 1] == 0)
+              b[-1]--;
+            b += b[-1];
+          }
+          break;
+
+
+    case '(':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_open;
+          else
+            goto normal_char;
+
+
+        case ')':
+          if (syntax & RE_NO_BK_PARENS)
+            goto handle_close;
+          else
+            goto normal_char;
+
+
+        case '\n':
+          if (syntax & RE_NEWLINE_ALT)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+    case '|':
+          if (syntax & RE_NO_BK_VBAR)
+            goto handle_alt;
+          else
+            goto normal_char;
+
+
+        case '{':
+           if (syntax & RE_INTERVALS && syntax & RE_NO_BK_BRACES)
+             goto handle_interval;
+           else
+             goto normal_char;
+
+
+        case '\\':
+          if (p == pend) return REG_EESCAPE;
+
+          /* Do not translate the character after the \, so that we can
+             distinguish, e.g., \B from \b, even if we normally would
+             translate, e.g., B to b.  */
+          PATFETCH_RAW (c);
+
+          switch (c)
+            {
+            case '(':
+              if (syntax & RE_NO_BK_PARENS)
+                goto normal_backslash;
+
+            handle_open:
+              bufp->re_nsub++;
+              regnum++;
+
+              if (COMPILE_STACK_FULL)
+                {
+                  RETALLOC (compile_stack.stack, compile_stack.size << 1,
+                            compile_stack_elt_t);
+                  if (compile_stack.stack == NULL) return REG_ESPACE;
+
+                  compile_stack.size <<= 1;
+                }
+
+              /* These are the values to restore when we hit end of this
+                 group.  They are all relative offsets, so that if the
+                 whole pattern moves because of realloc, they will still
+                 be valid.  */
+              COMPILE_STACK_TOP.begalt_offset = begalt - bufp->buffer;
+              COMPILE_STACK_TOP.fixup_alt_jump
+                = fixup_alt_jump ? fixup_alt_jump - bufp->buffer + 1 : 0;
+              COMPILE_STACK_TOP.laststart_offset = b - bufp->buffer;
+              COMPILE_STACK_TOP.regnum = regnum;
+
+              /* We will eventually replace the 0 with the number of
+                 groups inner to this one.  But do not push a
+                 start_memory for groups beyond the last one we can
+                 represent in the compiled pattern.  */
+              if (regnum <= MAX_REGNUM)
+                {
+                  COMPILE_STACK_TOP.inner_group_offset = b - bufp->buffer + 2;
+                  BUF_PUSH_3 (start_memory, regnum, 0);
+                }
+
+              compile_stack.avail++;
+
+              fixup_alt_jump = 0;
+              laststart = 0;
+              begalt = b;
+          /* If we've reached MAX_REGNUM groups, then this open
+         won't actually generate any code, so we'll have to
+         clear pending_exact explicitly.  */
+          pending_exact = 0;
+              break;
+
+
+            case ')':
+              if (syntax & RE_NO_BK_PARENS) goto normal_backslash;
+
+              if (COMPILE_STACK_EMPTY)
+                if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+                  goto normal_backslash;
+                else
+                  return REG_ERPAREN;
+
+            handle_close:
+              if (fixup_alt_jump)
+                { /* Push a dummy failure point at the end of the
+                     alternative for a possible future
+                     `pop_failure_jump' to pop.  See comments at
+                     `push_dummy_failure' in `re_match_2'.  */
+                  BUF_PUSH (push_dummy_failure);
+
+                  /* We allocated space for this jump when we assigned
+                     to `fixup_alt_jump', in the `handle_alt' case below.  */
+                  STORE_JUMP (jump_past_alt, fixup_alt_jump, b - 1);
+                }
+
+              /* See similar code for backslashed left paren above.  */
+              if (COMPILE_STACK_EMPTY)
+                if (syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)
+                  goto normal_char;
+                else
+                  return REG_ERPAREN;
+
+              /* Since we just checked for an empty stack above, this
+                 ``can't happen''.  */
+              assert (compile_stack.avail != 0);
+              {
+                /* We don't just want to restore into `regnum', because
+                   later groups should continue to be numbered higher,
+                   as in `(ab)c(de)' -- the second group is #2.  */
+                regnum_t this_group_regnum;
+
+                compile_stack.avail--;
+                begalt = bufp->buffer + COMPILE_STACK_TOP.begalt_offset;
+                fixup_alt_jump
+                  = COMPILE_STACK_TOP.fixup_alt_jump
+                    ? bufp->buffer + COMPILE_STACK_TOP.fixup_alt_jump - 1
+                    : 0;
+                laststart = bufp->buffer + COMPILE_STACK_TOP.laststart_offset;
+                this_group_regnum = COMPILE_STACK_TOP.regnum;
+        /* If we've reached MAX_REGNUM groups, then this open
+           won't actually generate any code, so we'll have to
+           clear pending_exact explicitly.  */
+        pending_exact = 0;
+
+                /* We're at the end of the group, so now we know how many
+                   groups were inside this one.  */
+                if (this_group_regnum <= MAX_REGNUM)
+                  {
+                    unsigned char *inner_group_loc
+                      = bufp->buffer + COMPILE_STACK_TOP.inner_group_offset;
+
+                    *inner_group_loc = regnum - this_group_regnum;
+                    BUF_PUSH_3 (stop_memory, this_group_regnum,
+                                regnum - this_group_regnum);
+                  }
+              }
+              break;
+
+
+            case '|':					/* `\|'.  */
+              if (syntax & RE_LIMITED_OPS || syntax & RE_NO_BK_VBAR)
+                goto normal_backslash;
+            handle_alt:
+              if (syntax & RE_LIMITED_OPS)
+                goto normal_char;
+
+              /* Insert before the previous alternative a jump which
+                 jumps to this alternative if the former fails.  */
+              GET_BUFFER_SPACE (3);
+              INSERT_JUMP (on_failure_jump, begalt, b + 6);
+              pending_exact = 0;
+              b += 3;
+
+              /* The alternative before this one has a jump after it
+                 which gets executed if it gets matched.  Adjust that
+                 jump so it will jump to this alternative's analogous
+                 jump (put in below, which in turn will jump to the next
+                 (if any) alternative's such jump, etc.).  The last such
+                 jump jumps to the correct final destination.  A picture:
+                          _____ _____
+                          |   | |   |
+                          |   v |   v
+                         a | b   | c
+
+                 If we are at `b', then fixup_alt_jump right now points to a
+                 three-byte space after `a'.  We'll put in the jump, set
+                 fixup_alt_jump to right after `b', and leave behind three
+                 bytes which we'll fill in when we get to after `c'.  */
+
+              if (fixup_alt_jump)
+                STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+              /* Mark and leave space for a jump after this alternative,
+                 to be filled in later either by next alternative or
+                 when know we're at the end of a series of alternatives.  */
+              fixup_alt_jump = b;
+              GET_BUFFER_SPACE (3);
+              b += 3;
+
+              laststart = 0;
+              begalt = b;
+              break;
+
+
+            case '{':
+              /* If \{ is a literal.  */
+              if (!(syntax & RE_INTERVALS)
+                     /* If we're at `\{' and it's not the open-interval
+                        operator.  */
+                  || ((syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES))
+                  || (p - 2 == pattern  &&  p == pend))
+                goto normal_backslash;
+
+            handle_interval:
+              {
+                /* If got here, then the syntax allows intervals.  */
+
+                /* At least (most) this many matches must be made.  */
+                int lower_bound = -1, upper_bound = -1;
+
+                beg_interval = p - 1;
+
+                if (p == pend)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      return REG_EBRACE;
+                  }
+
+                GET_UNSIGNED_NUMBER (lower_bound);
+
+                if (c == ',')
+                  {
+                    GET_UNSIGNED_NUMBER (upper_bound);
+                    if (upper_bound < 0) upper_bound = RE_DUP_MAX;
+                  }
+                else
+                  /* Interval such as `{1}' => match exactly once. */
+                  upper_bound = lower_bound;
+
+                if (lower_bound < 0 || upper_bound > RE_DUP_MAX
+                    || lower_bound > upper_bound)
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      return REG_BADBR;
+                  }
+
+                if (!(syntax & RE_NO_BK_BRACES))
+                  {
+                    if (c != '\\') return REG_EBRACE;
+
+                    PATFETCH (c);
+                  }
+
+                if (c != '}')
+                  {
+                    if (syntax & RE_NO_BK_BRACES)
+                      goto unfetch_interval;
+                    else
+                      return REG_BADBR;
+                  }
+
+                /* We just parsed a valid interval.  */
+
+                /* If it's invalid to have no preceding re.  */
+                if (!laststart)
+                  {
+                    if (syntax & RE_CONTEXT_INVALID_OPS)
+                      return REG_BADRPT;
+                    else if (syntax & RE_CONTEXT_INDEP_OPS)
+                      laststart = b;
+                    else
+                      goto unfetch_interval;
+                  }
+
+                /* If the upper bound is zero, don't want to succeed at
+                   all; jump from `laststart' to `b + 3', which will be
+                   the end of the buffer after we insert the jump.  */
+                 if (upper_bound == 0)
+                   {
+                     GET_BUFFER_SPACE (3);
+                     INSERT_JUMP (jump, laststart, b + 3);
+                     b += 3;
+                   }
+
+                 /* Otherwise, we have a nontrivial interval.  When
+                    we're all done, the pattern will look like:
+                      set_number_at <jump count> <upper bound>
+                      set_number_at <succeed_n count> <lower bound>
+                      succeed_n <after jump addr> <succed_n count>
+                      <body of loop>
+                      jump_n <succeed_n addr> <jump count>
+                    (The upper bound and `jump_n' are omitted if
+                    `upper_bound' is 1, though.)  */
+                 else
+                   { /* If the upper bound is > 1, we need to insert
+                        more at the end of the loop.  */
+                     unsigned nbytes = 10 + (upper_bound > 1) * 10;
+
+                     GET_BUFFER_SPACE (nbytes);
+
+                     /* Initialize lower bound of the `succeed_n', even
+                        though it will be set during matching by its
+                        attendant `set_number_at' (inserted next),
+                        because `re_compile_fastmap' needs to know.
+                        Jump to the `jump_n' we might insert below.  */
+                     INSERT_JUMP2 (succeed_n, laststart,
+                                   b + 5 + (upper_bound > 1) * 5,
+                                   lower_bound);
+                     b += 5;
+
+                     /* Code to initialize the lower bound.  Insert
+                        before the `succeed_n'.  The `5' is the last two
+                        bytes of this `set_number_at', plus 3 bytes of
+                        the following `succeed_n'.  */
+                     insert_op2 (set_number_at, laststart, 5, lower_bound, b);
+                     b += 5;
+
+                     if (upper_bound > 1)
+                       { /* More than one repetition is allowed, so
+                            append a backward jump to the `succeed_n'
+                            that starts this interval.
+
+                            When we've reached this during matching,
+                            we'll have matched the interval once, so
+                            jump back only `upper_bound - 1' times.  */
+                         STORE_JUMP2 (jump_n, b, laststart + 5,
+                                      upper_bound - 1);
+                         b += 5;
+
+                         /* The location we want to set is the second
+                            parameter of the `jump_n'; that is `b-2' as
+                            an absolute address.  `laststart' will be
+                            the `set_number_at' we're about to insert;
+                            `laststart+3' the number to set, the source
+                            for the relative address.  But we are
+                            inserting into the middle of the pattern --
+                            so everything is getting moved up by 5.
+                            Conclusion: (b - 2) - (laststart + 3) + 5,
+                            i.e., b - laststart.
+
+                            We insert this at the beginning of the loop
+                            so that if we fail during matching, we'll
+                            reinitialize the bounds.  */
+                         insert_op2 (set_number_at, laststart, b - laststart,
+                                     upper_bound - 1, b);
+                         b += 5;
+                       }
+                   }
+                pending_exact = 0;
+                beg_interval = NULL;
+              }
+              break;
+
+            unfetch_interval:
+              /* If an invalid interval, match the characters as literals.  */
+               assert (beg_interval);
+               p = beg_interval;
+               beg_interval = NULL;
+
+               /* normal_char and normal_backslash need `c'.  */
+               PATFETCH (c);
+
+               if (!(syntax & RE_NO_BK_BRACES))
+                 {
+                   if (p > pattern  &&  p[-1] == '\\')
+                     goto normal_backslash;
+                 }
+               goto normal_char;
+
+#ifdef emacs
+            /* There is no way to specify the before_dot and after_dot
+               operators.  rms says this is ok.  --karl  */
+            case '=':
+              BUF_PUSH (at_dot);
+              break;
+
+            case 's':
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (syntaxspec, syntax_spec_code[c]);
+              break;
+
+            case 'S':
+              laststart = b;
+              PATFETCH (c);
+              BUF_PUSH_2 (notsyntaxspec, syntax_spec_code[c]);
+              break;
+#endif /* emacs */
+
+
+            case 'w':
+              laststart = b;
+              BUF_PUSH (wordchar);
+              break;
+
+
+            case 'W':
+              laststart = b;
+              BUF_PUSH (notwordchar);
+              break;
+
+
+            case '<':
+              BUF_PUSH (wordbeg);
+              break;
+
+            case '>':
+              BUF_PUSH (wordend);
+              break;
+
+            case 'b':
+              BUF_PUSH (wordbound);
+              break;
+
+            case 'B':
+              BUF_PUSH (notwordbound);
+              break;
+
+            case '`':
+              BUF_PUSH (begbuf);
+              break;
+
+            case '\'':
+              BUF_PUSH (endbuf);
+              break;
+
+            case '1': case '2': case '3': case '4': case '5':
+            case '6': case '7': case '8': case '9':
+              if (syntax & RE_NO_BK_REFS)
+                goto normal_char;
+
+              c1 = c - '0';
+
+              if (c1 > regnum)
+                return REG_ESUBREG;
+
+              /* Can't back reference to a subexpression if inside of it.  */
+              if (group_in_compile_stack (compile_stack, c1))
+                goto normal_char;
+
+              laststart = b;
+              BUF_PUSH_2 (duplicate, c1);
+              break;
+
+
+            case '+':
+            case '?':
+              if (syntax & RE_BK_PLUS_QM)
+                goto handle_plus;
+              else
+                goto normal_backslash;
+
+            default:
+            normal_backslash:
+              /* You might think it would be useful for \ to mean
+                 not to translate; but if we don't translate it
+                 it will never match anything.  */
+              c = TRANSLATE (c);
+              goto normal_char;
+            }
+          break;
+
+
+    default:
+        /* Expects the character in `c'.  */
+    normal_char:
+          /* If no exactn currently being built.  */
+          if (!pending_exact
+
+              /* If last exactn not at current position.  */
+              || pending_exact + *pending_exact + 1 != b
+
+              /* We have only one byte following the exactn for the count.  */
+          || *pending_exact == (1 << BYTEWIDTH) - 1
+
+              /* If followed by a repetition operator.  */
+              || *p == '*' || *p == '^'
+          || ((syntax & RE_BK_PLUS_QM)
+          ? *p == '\\' && (p[1] == '+' || p[1] == '?')
+          : (*p == '+' || *p == '?'))
+          || ((syntax & RE_INTERVALS)
+                  && ((syntax & RE_NO_BK_BRACES)
+              ? *p == '{'
+                      : (p[0] == '\\' && p[1] == '{'))))
+        {
+          /* Start building a new exactn.  */
+
+              laststart = b;
+
+          BUF_PUSH_2 (exactn, 0);
+          pending_exact = b - 1;
+            }
+
+      BUF_PUSH (c);
+          (*pending_exact)++;
+      break;
+        } /* switch (c) */
+    } /* while p != pend */
+
+
+  /* Through the pattern now.  */
+
+  if (fixup_alt_jump)
+    STORE_JUMP (jump_past_alt, fixup_alt_jump, b);
+
+  if (!COMPILE_STACK_EMPTY)
+    return REG_EPAREN;
+
+  free (compile_stack.stack);
+
+  /* We have succeeded; set the length of the buffer.  */
+  bufp->used = b - bufp->buffer;
+
+#ifdef DEBUG
+  if (debug)
+    {
+      DEBUG_PRINT1 ("\nCompiled pattern: ");
+      print_compiled_pattern (bufp);
+    }
+#endif /* DEBUG */
+
+  return REG_NOERROR;
+} /* regex_compile */
+
+/* Subroutines for `regex_compile'.  */
+
+/* Store OP at LOC followed by two-byte integer parameter ARG.  */
+
+static void
+store_op1 (op, loc, arg)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg);
+}
+
+
+/* Like `store_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+store_op2 (op, loc, arg1, arg2)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+{
+  *loc = (unsigned char) op;
+  STORE_NUMBER (loc + 1, arg1);
+  STORE_NUMBER (loc + 3, arg2);
+}
+
+
+/* Copy the bytes from LOC to END to open up three bytes of space at LOC
+   for OP followed by two-byte integer parameter ARG.  */
+
+static void
+insert_op1 (op, loc, arg, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg;
+    unsigned char *end;
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 3;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+
+  store_op1 (op, loc, arg);
+}
+
+
+/* Like `insert_op1', but for two two-byte parameters ARG1 and ARG2.  */
+
+static void
+insert_op2 (op, loc, arg1, arg2, end)
+    re_opcode_t op;
+    unsigned char *loc;
+    int arg1, arg2;
+    unsigned char *end;
+{
+  register unsigned char *pfrom = end;
+  register unsigned char *pto = end + 5;
+
+  while (pfrom != loc)
+    *--pto = *--pfrom;
+
+  store_op2 (op, loc, arg1, arg2);
+}
+
+
+/* P points to just after a ^ in PATTERN.  Return true if that ^ comes
+   after an alternative or a begin-subexpression.  We assume there is at
+   least one character before the ^.  */
+
+static boolean
+at_begline_loc_p (pattern, p, syntax)
+    const char *pattern, *p;
+    reg_syntax_t syntax;
+{
+  const char *prev = p - 2;
+  boolean prev_prev_backslash = prev > pattern && prev[-1] == '\\';
+
+  return
+       /* After a subexpression?  */
+       (*prev == '(' && (syntax & RE_NO_BK_PARENS || prev_prev_backslash))
+       /* After an alternative?  */
+    || (*prev == '|' && (syntax & RE_NO_BK_VBAR || prev_prev_backslash));
+}
+
+
+/* The dual of at_begline_loc_p.  This one is for $.  We assume there is
+   at least one character after the $, i.e., `P < PEND'.  */
+
+static boolean
+at_endline_loc_p (p, pend, syntax)
+    const char *p, *pend;
+    int syntax;
+{
+  const char *next = p;
+  boolean next_backslash = *next == '\\';
+  const char *next_next = p + 1 < pend ? p + 1 : NULL;
+
+  return
+       /* Before a subexpression?  */
+       (syntax & RE_NO_BK_PARENS ? *next == ')'
+        : next_backslash && next_next && *next_next == ')')
+       /* Before an alternative?  */
+    || (syntax & RE_NO_BK_VBAR ? *next == '|'
+        : next_backslash && next_next && *next_next == '|');
+}
+
+
+/* Returns true if REGNUM is in one of COMPILE_STACK's elements and
+   false if it's not.  */
+
+static boolean
+group_in_compile_stack (compile_stack, regnum)
+    compile_stack_type compile_stack;
+    regnum_t regnum;
+{
+  int this_element;
+
+  for (this_element = compile_stack.avail - 1;
+       this_element >= 0;
+       this_element--)
+    if (compile_stack.stack[this_element].regnum == regnum)
+      return true;
+
+  return false;
+}
+
+
+/* Read the ending character of a range (in a bracket expression) from the
+   uncompiled pattern *P_PTR (which ends at PEND).  We assume the
+   starting character is in `P[-2]'.  (`P[-1]' is the character `-'.)
+   Then we set the translation of all bits between the starting and
+   ending characters (inclusive) in the compiled pattern B.
+
+   Return an error code.
+
+   We use these short variable names so we can use the same macros as
+   `regex_compile' itself.  */
+
+static reg_errcode_t
+compile_range (p_ptr, pend, translate, syntax, b)
+    const char **p_ptr, *pend;
+    char *translate;
+    reg_syntax_t syntax;
+    unsigned char *b;
+{
+  unsigned this_char;
+
+  const char *p = *p_ptr;
+  int range_start, range_end;
+
+  if (p == pend)
+    return REG_ERANGE;
+
+  /* Even though the pattern is a signed `char *', we need to fetch
+     with unsigned char *'s; if the high bit of the pattern character
+     is set, the range endpoints will be negative if we fetch using a
+     signed char *.
+
+     We also want to fetch the endpoints without translating them; the
+     appropriate translation is done in the bit-setting loop below.  */
+  range_start = ((unsigned char *) p)[-2];
+  range_end   = ((unsigned char *) p)[0];
+
+  /* Have to increment the pointer into the pattern string, so the
+     caller isn't still at the ending character.  */
+  (*p_ptr)++;
+
+  /* If the start is after the end, the range is empty.  */
+  if (range_start > range_end)
+    return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR;
+
+  /* Here we see why `this_char' has to be larger than an `unsigned
+     char' -- the range is inclusive, so if `range_end' == 0xff
+     (assuming 8-bit characters), we would otherwise go into an infinite
+     loop, since all characters <= 0xff.  */
+  for (this_char = range_start; this_char <= range_end; this_char++)
+    {
+      SET_LIST_BIT (TRANSLATE (this_char));
+    }
+
+  return REG_NOERROR;
+}
+
+/* Failure stack declarations and macros; both re_compile_fastmap and
+   re_match_2 use a failure stack.  These have to be macros because of
+   REGEX_ALLOCATE.  */
+
+
+/* Number of failure points for which to initially allocate space
+   when matching.  If this number is exceeded, we allocate more
+   space, so it is not a hard limit.  */
+#ifndef INIT_FAILURE_ALLOC
+#define INIT_FAILURE_ALLOC 5
+#endif
+
+/* Roughly the maximum number of failure points on the stack.  Would be
+   exactly that if always used MAX_FAILURE_SPACE each time we failed.
+   This is a variable only so users of regex can assign to it; we never
+   change it ourselves.  */
+int re_max_failures = 2000;
+
+typedef const unsigned char *fail_stack_elt_t;
+
+typedef struct
+{
+  fail_stack_elt_t *stack;
+  unsigned size;
+  unsigned avail;			/* Offset of next open position.  */
+} fail_stack_type;
+
+#define FAIL_STACK_EMPTY()     (fail_stack.avail == 0)
+#define FAIL_STACK_PTR_EMPTY() (fail_stack_ptr->avail == 0)
+#define FAIL_STACK_FULL()      (fail_stack.avail == fail_stack.size)
+#define FAIL_STACK_TOP()       (fail_stack.stack[fail_stack.avail])
+
+
+/* Initialize `fail_stack'.  Do `return -2' if the alloc fails.  */
+
+#define INIT_FAIL_STACK()						\
+  do {									\
+    fail_stack.stack = (fail_stack_elt_t *)				\
+      REGEX_ALLOCATE (INIT_FAILURE_ALLOC * sizeof (fail_stack_elt_t));	\
+                                    \
+    if (fail_stack.stack == NULL)					\
+      return -2;							\
+                                    \
+    fail_stack.size = INIT_FAILURE_ALLOC;				\
+    fail_stack.avail = 0;						\
+  } while (0)
+
+
+/* Double the size of FAIL_STACK, up to approximately `re_max_failures' items.
+
+   Return 1 if succeeds, and 0 if either ran out of memory
+   allocating space for it or it was already too large.
+
+   REGEX_REALLOCATE requires `destination' be declared.   */
+
+#define DOUBLE_FAIL_STACK(fail_stack)					\
+  ((fail_stack).size > re_max_failures * MAX_FAILURE_ITEMS		\
+   ? 0									\
+   : ((fail_stack).stack = (fail_stack_elt_t *)				\
+        REGEX_REALLOCATE ((fail_stack).stack, 				\
+          (fail_stack).size * sizeof (fail_stack_elt_t),		\
+          ((fail_stack).size << 1) * sizeof (fail_stack_elt_t)),	\
+                                    \
+      (fail_stack).stack == NULL					\
+      ? 0								\
+      : ((fail_stack).size <<= 1, 					\
+         1)))
+
+
+/* Push PATTERN_OP on FAIL_STACK.
+
+   Return 1 if was able to do so and 0 if ran out of memory allocating
+   space to do so.  */
+#define PUSH_PATTERN_OP(pattern_op, fail_stack)				\
+  ((FAIL_STACK_FULL ()							\
+    && !DOUBLE_FAIL_STACK (fail_stack))					\
+    ? 0									\
+    : ((fail_stack).stack[(fail_stack).avail++] = pattern_op,		\
+       1))
+
+/* This pushes an item onto the failure stack.  Must be a four-byte
+   value.  Assumes the variable `fail_stack'.  Probably should only
+   be called from within `PUSH_FAILURE_POINT'.  */
+#define PUSH_FAILURE_ITEM(item)						\
+  fail_stack.stack[fail_stack.avail++] = (fail_stack_elt_t) item
+
+/* The complement operation.  Assumes `fail_stack' is nonempty.  */
+#define POP_FAILURE_ITEM() fail_stack.stack[--fail_stack.avail]
+
+/* Used to omit pushing failure point id's when we're not debugging.  */
+#ifdef DEBUG
+#define DEBUG_PUSH PUSH_FAILURE_ITEM
+#define DEBUG_POP(item_addr) *(item_addr) = POP_FAILURE_ITEM ()
+#else
+#define DEBUG_PUSH(item)
+#define DEBUG_POP(item_addr)
+#endif
+
+
+/* Push the information about the state we will need
+   if we ever fail back to it.
+
+   Requires variables fail_stack, regstart, regend, reg_info, and
+   num_regs be declared.  DOUBLE_FAIL_STACK requires `destination' be
+   declared.
+
+   Does `return FAILURE_CODE' if runs out of memory.  */
+
+#define PUSH_FAILURE_POINT(pattern_place, string_place, failure_code)	\
+  do {									\
+    char *destination;							\
+    /* Must be int, so when we don't save any registers, the arithmetic	\
+       of 0 + -1 isn't done as unsigned.  */				\
+    int this_reg;							\
+                                        \
+    DEBUG_STATEMENT (failure_id++);					\
+    DEBUG_STATEMENT (nfailure_points_pushed++);				\
+    DEBUG_PRINT2 ("\nPUSH_FAILURE_POINT #%u:\n", failure_id);		\
+    DEBUG_PRINT2 ("  Before push, next avail: %d\n", (fail_stack).avail);\
+    DEBUG_PRINT2 ("                     size: %d\n", (fail_stack).size);\
+                                    \
+    DEBUG_PRINT2 ("  slots needed: %d\n", NUM_FAILURE_ITEMS);		\
+    DEBUG_PRINT2 ("     available: %d\n", REMAINING_AVAIL_SLOTS);	\
+                                    \
+    /* Ensure we have enough space allocated for what we will push.  */	\
+    while (REMAINING_AVAIL_SLOTS < NUM_FAILURE_ITEMS)			\
+      {									\
+        if (!DOUBLE_FAIL_STACK (fail_stack))			\
+          return failure_code;						\
+                                    \
+        DEBUG_PRINT2 ("\n  Doubled stack; size now: %d\n",		\
+               (fail_stack).size);				\
+        DEBUG_PRINT2 ("  slots available: %d\n", REMAINING_AVAIL_SLOTS);\
+      }									\
+                                    \
+    /* Push the info, starting with the registers.  */			\
+    DEBUG_PRINT1 ("\n");						\
+                                    \
+    for (this_reg = lowest_active_reg; this_reg <= highest_active_reg;	\
+         this_reg++)							\
+      {									\
+    DEBUG_PRINT2 ("  Pushing reg: %d\n", this_reg);			\
+        DEBUG_STATEMENT (num_regs_pushed++);				\
+                                    \
+    DEBUG_PRINT2 ("    start: 0x%x\n", regstart[this_reg]);		\
+        PUSH_FAILURE_ITEM (regstart[this_reg]);				\
+                                                                        \
+    DEBUG_PRINT2 ("    end: 0x%x\n", regend[this_reg]);		\
+        PUSH_FAILURE_ITEM (regend[this_reg]);				\
+                                    \
+    DEBUG_PRINT2 ("    info: 0x%x\n      ", reg_info[this_reg]);	\
+        DEBUG_PRINT2 (" match_null=%d",					\
+                      REG_MATCH_NULL_STRING_P (reg_info[this_reg]));	\
+        DEBUG_PRINT2 (" active=%d", IS_ACTIVE (reg_info[this_reg]));	\
+        DEBUG_PRINT2 (" matched_something=%d",				\
+                      MATCHED_SOMETHING (reg_info[this_reg]));		\
+        DEBUG_PRINT2 (" ever_matched=%d",				\
+                      EVER_MATCHED_SOMETHING (reg_info[this_reg]));	\
+    DEBUG_PRINT1 ("\n");						\
+        PUSH_FAILURE_ITEM (reg_info[this_reg].word);			\
+      }									\
+                                    \
+    DEBUG_PRINT2 ("  Pushing  low active reg: %d\n", lowest_active_reg);\
+    PUSH_FAILURE_ITEM (lowest_active_reg);				\
+                                    \
+    DEBUG_PRINT2 ("  Pushing high active reg: %d\n", highest_active_reg);\
+    PUSH_FAILURE_ITEM (highest_active_reg);				\
+                                    \
+    DEBUG_PRINT2 ("  Pushing pattern 0x%x: ", pattern_place);		\
+    DEBUG_PRINT_COMPILED_PATTERN (bufp, pattern_place, pend);		\
+    PUSH_FAILURE_ITEM (pattern_place);					\
+                                    \
+    DEBUG_PRINT2 ("  Pushing string 0x%x: `", string_place);		\
+    DEBUG_PRINT_DOUBLE_STRING (string_place, string1, size1, string2,   \
+                 size2);				\
+    DEBUG_PRINT1 ("'\n");						\
+    PUSH_FAILURE_ITEM (string_place);					\
+                                    \
+    DEBUG_PRINT2 ("  Pushing failure id: %u\n", failure_id);		\
+    DEBUG_PUSH (failure_id);						\
+  } while (0)
+
+/* This is the number of items that are pushed and popped on the stack
+   for each register.  */
+#define NUM_REG_ITEMS  3
+
+/* Individual items aside from the registers.  */
+#ifdef DEBUG
+#define NUM_NONREG_ITEMS 5 /* Includes failure point id.  */
+#else
+#define NUM_NONREG_ITEMS 4
+#endif
+
+/* We push at most this many items on the stack.  */
+#define MAX_FAILURE_ITEMS ((num_regs - 1) * NUM_REG_ITEMS + NUM_NONREG_ITEMS)
+
+/* We actually push this many items.  */
+#define NUM_FAILURE_ITEMS						\
+  ((highest_active_reg - lowest_active_reg + 1) * NUM_REG_ITEMS 	\
+    + NUM_NONREG_ITEMS)
+
+/* How many items can still be added to the stack without overflowing it.  */
+#define REMAINING_AVAIL_SLOTS ((fail_stack).size - (fail_stack).avail)
+
+
+/* Pops what PUSH_FAIL_STACK pushes.
+
+   We restore into the parameters, all of which should be lvalues:
+     STR -- the saved data position.
+     PAT -- the saved pattern position.
+     LOW_REG, HIGH_REG -- the highest and lowest active registers.
+     REGSTART, REGEND -- arrays of string positions.
+     REG_INFO -- array of information about each subexpression.
+
+   Also assumes the variables `fail_stack' and (if debugging), `bufp',
+   `pend', `string1', `size1', `string2', and `size2'.  */
+
+#define POP_FAILURE_POINT(str, pat, low_reg, high_reg, regstart, regend, reg_info)\
+{									\
+  DEBUG_STATEMENT (fail_stack_elt_t failure_id;)			\
+  int this_reg;								\
+  const unsigned char *string_temp;					\
+                                    \
+  assert (!FAIL_STACK_EMPTY ());					\
+                                    \
+  /* Remove failure points and point to how many regs pushed.  */	\
+  DEBUG_PRINT1 ("POP_FAILURE_POINT:\n");				\
+  DEBUG_PRINT2 ("  Before pop, next avail: %d\n", fail_stack.avail);	\
+  DEBUG_PRINT2 ("                    size: %d\n", fail_stack.size);	\
+                                    \
+  assert (fail_stack.avail >= NUM_NONREG_ITEMS);			\
+                                    \
+  DEBUG_POP (&failure_id);						\
+  DEBUG_PRINT2 ("  Popping failure id: %u\n", failure_id);		\
+                                    \
+  /* If the saved string location is NULL, it came from an		\
+     on_failure_keep_string_jump opcode, and we want to throw away the	\
+     saved NULL, thus retaining our current position in the string.  */	\
+  string_temp = POP_FAILURE_ITEM ();					\
+  if (string_temp != NULL)						\
+    str = (const char *) string_temp;					\
+                                    \
+  DEBUG_PRINT2 ("  Popping string 0x%x: `", str);			\
+  DEBUG_PRINT_DOUBLE_STRING (str, string1, size1, string2, size2);	\
+  DEBUG_PRINT1 ("'\n");							\
+                                    \
+  pat = (unsigned char *) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping pattern 0x%x: ", pat);			\
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, pat, pend);			\
+                                    \
+  /* Restore register info.  */						\
+  high_reg = (unsigned) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping high active reg: %d\n", high_reg);		\
+                                    \
+  low_reg = (unsigned) POP_FAILURE_ITEM ();				\
+  DEBUG_PRINT2 ("  Popping  low active reg: %d\n", low_reg);		\
+                                    \
+  for (this_reg = high_reg; this_reg >= low_reg; this_reg--)		\
+    {									\
+      DEBUG_PRINT2 ("    Popping reg: %d\n", this_reg);			\
+                                    \
+      reg_info[this_reg].word = POP_FAILURE_ITEM ();			\
+      DEBUG_PRINT2 ("      info: 0x%x\n", reg_info[this_reg]);		\
+                                    \
+      regend[this_reg] = (const char *) POP_FAILURE_ITEM ();		\
+      DEBUG_PRINT2 ("      end: 0x%x\n", regend[this_reg]);		\
+                                    \
+      regstart[this_reg] = (const char *) POP_FAILURE_ITEM ();		\
+      DEBUG_PRINT2 ("      start: 0x%x\n", regstart[this_reg]);		\
+    }									\
+                                    \
+  DEBUG_STATEMENT (nfailure_points_popped++);				\
+} /* POP_FAILURE_POINT */
+
+/* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in
+   BUFP.  A fastmap records which of the (1 << BYTEWIDTH) possible
+   characters can start a string that matches the pattern.  This fastmap
+   is used by re_search to skip quickly over impossible starting points.
+
+   The caller must supply the address of a (1 << BYTEWIDTH)-byte data
+   area as BUFP->fastmap.
+
+   We set the `fastmap', `fastmap_accurate', and `can_be_null' fields in
+   the pattern buffer.
+
+   Returns 0 if we succeed, -2 if an internal error.   */
+
+int
+re_compile_fastmap (bufp)
+     struct re_pattern_buffer *bufp;
+{
+  int j, k;
+  fail_stack_type fail_stack;
+#ifndef REGEX_MALLOC
+  char *destination;
+#endif
+  /* We don't push any register information onto the failure stack.  */
+  unsigned num_regs = 0;
+
+  register char *fastmap = bufp->fastmap;
+  unsigned char *pattern = bufp->buffer;
+  unsigned long size = bufp->used;
+  const unsigned char *p = pattern;
+  register unsigned char *pend = pattern + size;
+
+  /* Assume that each path through the pattern can be null until
+     proven otherwise.  We set this false at the bottom of switch
+     statement, to which we get only if a particular path doesn't
+     match the empty string.  */
+  boolean path_can_be_null = true;
+
+  /* We aren't doing a `succeed_n' to begin with.  */
+  boolean succeed_n_p = false;
+
+  assert (fastmap != NULL && p != NULL);
+
+  INIT_FAIL_STACK ();
+  bzero (fastmap, 1 << BYTEWIDTH);  /* Assume nothing's valid.  */
+  bufp->fastmap_accurate = 1;	    /* It will be when we're done.  */
+  bufp->can_be_null = 0;
+
+  while (p != pend || !FAIL_STACK_EMPTY ())
+    {
+      if (p == pend)
+        {
+          bufp->can_be_null |= path_can_be_null;
+
+          /* Reset for next path.  */
+          path_can_be_null = true;
+
+          p = fail_stack.stack[--fail_stack.avail];
+    }
+
+      /* We should never be about to go beyond the end of the pattern.  */
+      assert (p < pend);
+
+#ifdef SWITCH_ENUM_BUG
+      switch ((int) ((re_opcode_t) *p++))
+#else
+      switch ((re_opcode_t) *p++)
+#endif
+    {
+
+        /* I guess the idea here is to simply not bother with a fastmap
+           if a backreference is used, since it's too hard to figure out
+           the fastmap for the corresponding group.  Setting
+           `can_be_null' stops `re_search_2' from using the fastmap, so
+           that is all we do.  */
+    case duplicate:
+      bufp->can_be_null = 1;
+          return 0;
+
+
+      /* Following are the cases which match a character.  These end
+         with `break'.  */
+
+    case exactn:
+          fastmap[p[1]] = 1;
+      break;
+
+
+        case charset:
+          for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+        if (p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH)))
+              fastmap[j] = 1;
+      break;
+
+
+    case charset_not:
+      /* Chars beyond end of map must be allowed.  */
+      for (j = *p * BYTEWIDTH; j < (1 << BYTEWIDTH); j++)
+            fastmap[j] = 1;
+
+      for (j = *p++ * BYTEWIDTH - 1; j >= 0; j--)
+        if (!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))))
+              fastmap[j] = 1;
+          break;
+
+
+    case wordchar:
+      for (j = 0; j < (1 << BYTEWIDTH); j++)
+        if (SYNTAX (j) == Sword)
+          fastmap[j] = 1;
+      break;
+
+
+    case notwordchar:
+      for (j = 0; j < (1 << BYTEWIDTH); j++)
+        if (SYNTAX (j) != Sword)
+          fastmap[j] = 1;
+      break;
+
+
+        case anychar:
+          /* `.' matches anything ...  */
+      for (j = 0; j < (1 << BYTEWIDTH); j++)
+            fastmap[j] = 1;
+
+          /* ... except perhaps newline.  */
+          if (!(bufp->syntax & RE_DOT_NEWLINE))
+            fastmap['\n'] = 0;
+
+          /* Return if we have already set `can_be_null'; if we have,
+             then the fastmap is irrelevant.  Something's wrong here.  */
+      else if (bufp->can_be_null)
+        return 0;
+
+          /* Otherwise, have to check alternative paths.  */
+      break;
+
+
+#ifdef emacs
+        case syntaxspec:
+      k = *p++;
+      for (j = 0; j < (1 << BYTEWIDTH); j++)
+        if (SYNTAX (j) == (enum syntaxcode) k)
+          fastmap[j] = 1;
+      break;
+
+
+    case notsyntaxspec:
+      k = *p++;
+      for (j = 0; j < (1 << BYTEWIDTH); j++)
+        if (SYNTAX (j) != (enum syntaxcode) k)
+          fastmap[j] = 1;
+      break;
+
+
+      /* All cases after this match the empty string.  These end with
+         `continue'.  */
+
+
+    case before_dot:
+    case at_dot:
+    case after_dot:
+          continue;
+#endif /* not emacs */
+
+
+        case no_op:
+        case begline:
+        case endline:
+    case begbuf:
+    case endbuf:
+    case wordbound:
+    case notwordbound:
+    case wordbeg:
+    case wordend:
+        case push_dummy_failure:
+          continue;
+
+
+    case jump_n:
+        case pop_failure_jump:
+    case maybe_pop_jump:
+    case jump:
+        case jump_past_alt:
+    case dummy_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+      p += j;
+      if (j > 0)
+        continue;
+
+          /* Jump backward implies we just went through the body of a
+             loop and matched nothing.  Opcode jumped to should be
+             `on_failure_jump' or `succeed_n'.  Just treat it like an
+             ordinary jump.  For a * loop, it has pushed its failure
+             point already; if so, discard that as redundant.  */
+          if ((re_opcode_t) *p != on_failure_jump
+          && (re_opcode_t) *p != succeed_n)
+        continue;
+
+          p++;
+          EXTRACT_NUMBER_AND_INCR (j, p);
+          p += j;
+
+          /* If what's on the stack is where we are now, pop it.  */
+          if (!FAIL_STACK_EMPTY ()
+          && fail_stack.stack[fail_stack.avail - 1] == p)
+            fail_stack.avail--;
+
+          continue;
+
+
+        case on_failure_jump:
+        case on_failure_keep_string_jump:
+    handle_on_failure_jump:
+          EXTRACT_NUMBER_AND_INCR (j, p);
+
+          /* For some patterns, e.g., `(a?)?', `p+j' here points to the
+             end of the pattern.  We don't want to push such a point,
+             since when we restore it above, entering the switch will
+             increment `p' past the end of the pattern.  We don't need
+             to push such a point since we obviously won't find any more
+             fastmap entries beyond `pend'.  Such a pattern can match
+             the null string, though.  */
+          if (p + j < pend)
+            {
+              if (!PUSH_PATTERN_OP (p + j, fail_stack))
+                return -2;
+            }
+          else
+            bufp->can_be_null = 1;
+
+          if (succeed_n_p)
+            {
+              EXTRACT_NUMBER_AND_INCR (k, p);	/* Skip the n.  */
+              succeed_n_p = false;
+        }
+
+          continue;
+
+
+    case succeed_n:
+          /* Get to the number of times to succeed.  */
+          p += 2;
+
+          /* Increment p past the n for when k != 0.  */
+          EXTRACT_NUMBER_AND_INCR (k, p);
+          if (k == 0)
+        {
+              p -= 4;
+          succeed_n_p = true;  /* Spaghetti code alert.  */
+              goto handle_on_failure_jump;
+            }
+          continue;
+
+
+    case set_number_at:
+          p += 4;
+          continue;
+
+
+    case start_memory:
+        case stop_memory:
+      p += 2;
+      continue;
+
+
+    default:
+          abort (); /* We have listed all the cases.  */
+        } /* switch *p++ */
+
+      /* Getting here means we have found the possible starting
+         characters for one path of the pattern -- and that the empty
+         string does not match.  We need not follow this path further.
+         Instead, look at the next alternative (remembered on the
+         stack), or quit if no more.  The test at the top of the loop
+         does these things.  */
+      path_can_be_null = false;
+      p = pend;
+    } /* while p */
+
+  /* Set `can_be_null' for the last path (also the first path, if the
+     pattern is empty).  */
+  bufp->can_be_null |= path_can_be_null;
+  return 0;
+} /* re_compile_fastmap */
+
+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using PATTERN_BUFFER and REGS will use
+   this memory for recording register information.  STARTS and ENDS
+   must be allocated using the malloc library routine, and must each
+   be at least NUM_REGS * sizeof (regoff_t) bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+
+void
+re_set_registers (bufp, regs, num_regs, starts, ends)
+    struct re_pattern_buffer *bufp;
+    struct re_registers *regs;
+    unsigned num_regs;
+    regoff_t *starts, *ends;
+{
+  if (num_regs)
+    {
+      bufp->regs_allocated = REGS_REALLOCATE;
+      regs->num_regs = num_regs;
+      regs->start = starts;
+      regs->end = ends;
+    }
+  else
+    {
+      bufp->regs_allocated = REGS_UNALLOCATED;
+      regs->num_regs = 0;
+      regs->start = regs->end = (regoff_t) 0;
+    }
+}
+
+/* Searching routines.  */
+
+/* Like re_search_2, below, but only one string is specified, and
+   doesn't let you say where to stop matching. */
+
+int
+re_search (bufp, string, size, startpos, range, regs)
+     struct re_pattern_buffer *bufp;
+     const char *string;
+     int size, startpos, range;
+     struct re_registers *regs;
+{
+  return re_search_2 (bufp, NULL, 0, string, size, startpos, range,
+              regs, size);
+}
+
+
+/* Using the compiled pattern in BUFP->buffer, first tries to match the
+   virtual concatenation of STRING1 and STRING2, starting first at index
+   STARTPOS, then at STARTPOS + 1, and so on.
+
+   STRING1 and STRING2 have length SIZE1 and SIZE2, respectively.
+
+   RANGE is how far to scan while trying to match.  RANGE = 0 means try
+   only at STARTPOS; in general, the last start tried is STARTPOS +
+   RANGE.
+
+   In REGS, return the indices of the virtual concatenation of STRING1
+   and STRING2 that matched the entire BUFP->buffer and its contained
+   subexpressions.
+
+   Do not consider matching one past the index STOP in the virtual
+   concatenation of STRING1 and STRING2.
+
+   We return either the position in the strings at which the match was
+   found, -1 if no match, or -2 if error (such as failure
+   stack overflow).  */
+
+int
+re_search_2 (bufp, string1, size1, string2, size2, startpos, range, regs, stop)
+     struct re_pattern_buffer *bufp;
+     const char *string1, *string2;
+     int size1, size2;
+     int startpos;
+     int range;
+     struct re_registers *regs;
+     int stop;
+{
+  int val;
+  register char *fastmap = bufp->fastmap;
+  register char *translate = bufp->translate;
+  int total_size = size1 + size2;
+  int endpos = startpos + range;
+
+  /* Check for out-of-range STARTPOS.  */
+  if (startpos < 0 || startpos > total_size)
+    return -1;
+
+  /* Fix up RANGE if it might eventually take us outside
+     the virtual concatenation of STRING1 and STRING2.  */
+  if (endpos < -1)
+    range = -1 - startpos;
+  else if (endpos > total_size)
+    range = total_size - startpos;
+
+  /* If the search isn't to be a backwards one, don't waste time in a
+     search for a pattern that must be anchored.  */
+  if (bufp->used > 0 && (re_opcode_t) bufp->buffer[0] == begbuf && range > 0)
+    {
+      if (startpos > 0)
+    return -1;
+      else
+    range = 1;
+    }
+
+  /* Update the fastmap now if not correct already.  */
+  if (fastmap && !bufp->fastmap_accurate)
+    if (re_compile_fastmap (bufp) == -2)
+      return -2;
+
+  /* Loop through the string, looking for a place to start matching.  */
+  for (;;)
+    {
+      /* If a fastmap is supplied, skip quickly over characters that
+         cannot be the start of a match.  If the pattern can match the
+         null string, however, we don't need to skip characters; we want
+         the first null string.  */
+      if (fastmap && startpos < total_size && !bufp->can_be_null)
+    {
+      if (range > 0)	/* Searching forwards.  */
+        {
+          register const char *d;
+          register int lim = 0;
+          int irange = range;
+
+              if (startpos < size1 && startpos + range >= size1)
+                lim = range - (size1 - startpos);
+
+          d = (startpos >= size1 ? string2 - size1 : string1) + startpos;
+
+              /* Written out as an if-else to avoid testing `translate'
+                 inside the loop.  */
+          if (translate)
+                while (range > lim
+                       && !fastmap[(unsigned char)
+                   translate[(unsigned char) *d++]])
+                  range--;
+          else
+                while (range > lim && !fastmap[(unsigned char) *d++])
+                  range--;
+
+          startpos += irange - range;
+        }
+      else				/* Searching backwards.  */
+        {
+          register char c = (size1 == 0 || startpos >= size1
+                                 ? string2[startpos - size1]
+                                 : string1[startpos]);
+
+          if (!fastmap[(unsigned char) TRANSLATE (c)])
+        goto advance;
+        }
+    }
+
+      /* If can't match the null string, and that's all we have left, fail.  */
+      if (range >= 0 && startpos == total_size && fastmap
+          && !bufp->can_be_null)
+    return -1;
+
+      val = re_match_2 (bufp, string1, size1, string2, size2,
+                    startpos, regs, stop);
+      if (val >= 0)
+    return startpos;
+
+      if (val == -2)
+    return -2;
+
+    advance:
+      if (!range)
+        break;
+      else if (range > 0)
+        {
+          range--;
+          startpos++;
+        }
+      else
+        {
+          range++;
+          startpos--;
+        }
+    }
+  return -1;
+} /* re_search_2 */
+
+/* Declarations and macros for re_match_2.  */
+
+static int bcmp_translate ();
+static boolean alt_match_null_string_p (),
+               common_op_match_null_string_p (),
+               group_match_null_string_p ();
+
+/* Structure for per-register (a.k.a. per-group) information.
+   This must not be longer than one word, because we push this value
+   onto the failure stack.  Other register information, such as the
+   starting and ending positions (which are addresses), and the list of
+   inner groups (which is a bits list) are maintained in separate
+   variables.
+
+   We are making a (strictly speaking) nonportable assumption here: that
+   the compiler will pack our bit fields into something that fits into
+   the type of `word', i.e., is something that fits into one item on the
+   failure stack.  */
+typedef union
+{
+  fail_stack_elt_t word;
+  struct
+  {
+      /* This field is one if this group can match the empty string,
+         zero if not.  If not yet determined,  `MATCH_NULL_UNSET_VALUE'.  */
+#define MATCH_NULL_UNSET_VALUE 3
+    unsigned match_null_string_p : 2;
+    unsigned is_active : 1;
+    unsigned matched_something : 1;
+    unsigned ever_matched_something : 1;
+  } bits;
+} register_info_type;
+
+#define REG_MATCH_NULL_STRING_P(R)  ((R).bits.match_null_string_p)
+#define IS_ACTIVE(R)  ((R).bits.is_active)
+#define MATCHED_SOMETHING(R)  ((R).bits.matched_something)
+#define EVER_MATCHED_SOMETHING(R)  ((R).bits.ever_matched_something)
+
+
+/* Call this when have matched a real character; it sets `matched' flags
+   for the subexpressions which we are currently inside.  Also records
+   that those subexprs have matched.  */
+#define SET_REGS_MATCHED()						\
+  do									\
+    {									\
+      unsigned r;							\
+      for (r = lowest_active_reg; r <= highest_active_reg; r++)		\
+        {								\
+          MATCHED_SOMETHING (reg_info[r])				\
+            = EVER_MATCHED_SOMETHING (reg_info[r])			\
+            = 1;							\
+        }								\
+    }									\
+  while (0)
+
+
+/* This converts PTR, a pointer into one of the search strings `string1'
+   and `string2' into an offset from the beginning of that string.  */
+#define POINTER_TO_OFFSET(ptr)						\
+  (FIRST_STRING_P (ptr) ? (ptr) - string1 : (ptr) - string2 + size1)
+
+/* Registers are set to a sentinel when they haven't yet matched.  */
+#define REG_UNSET_VALUE ((char *) -1)
+#define REG_UNSET(e) ((e) == REG_UNSET_VALUE)
+
+
+/* Macros for dealing with the split strings in re_match_2.  */
+
+#define MATCHING_IN_FIRST_STRING  (dend == end_match_1)
+
+/* Call before fetching a character with *d.  This switches over to
+   string2 if necessary.  */
+#define PREFETCH()							\
+  while (d == dend)						    	\
+    {									\
+      /* End of string2 => fail.  */					\
+      if (dend == end_match_2) 						\
+        goto fail;							\
+      /* End of string1 => advance to string2.  */ 			\
+      d = string2;						        \
+      dend = end_match_2;						\
+    }
+
+
+/* Test if at very beginning or at very end of the virtual concatenation
+   of `string1' and `string2'.  If only one string, it's `string2'.  */
+#define AT_STRINGS_BEG(d) ((d) == (size1 ? string1 : string2) || !size2)
+#define AT_STRINGS_END(d) ((d) == end2)
+
+
+/* Test if D points to a character which is word-constituent.  We have
+   two special cases to check for: if past the end of string1, look at
+   the first character in string2; and if before the beginning of
+   string2, look at the last character in string1.  */
+#define WORDCHAR_P(d)							\
+  (SYNTAX ((d) == end1 ? *string2					\
+           : (d) == string2 - 1 ? *(end1 - 1) : *(d))			\
+   == Sword)
+
+/* Test if the character before D and the one at D differ with respect
+   to being word-constituent.  */
+#define AT_WORD_BOUNDARY(d)						\
+  (AT_STRINGS_BEG (d) || AT_STRINGS_END (d)				\
+   || WORDCHAR_P (d - 1) != WORDCHAR_P (d))
+
+
+/* Free everything we malloc.  */
+#ifdef REGEX_MALLOC
+#define FREE_VAR(var) if (var) free (var); var = NULL
+#define FREE_VARIABLES()						\
+  do {									\
+    FREE_VAR (fail_stack.stack);					\
+    FREE_VAR (regstart);						\
+    FREE_VAR (regend);							\
+    FREE_VAR (old_regstart);						\
+    FREE_VAR (old_regend);						\
+    FREE_VAR (best_regstart);						\
+    FREE_VAR (best_regend);						\
+    FREE_VAR (reg_info);						\
+    FREE_VAR (reg_dummy);						\
+    FREE_VAR (reg_info_dummy);						\
+  } while (0)
+#else /* not REGEX_MALLOC */
+/* Some MIPS systems (at least) want this to free alloca'd storage.  */
+#define FREE_VARIABLES() alloca (0)
+#endif /* not REGEX_MALLOC */
+
+
+/* These values must meet several constraints.  They must not be valid
+   register values; since we have a limit of 255 registers (because
+   we use only one byte in the pattern for the register number), we can
+   use numbers larger than 255.  They must differ by 1, because of
+   NUM_FAILURE_ITEMS above.  And the value for the lowest register must
+   be larger than the value for the highest register, so we do not try
+   to actually save any registers when none are active.  */
+#define NO_HIGHEST_ACTIVE_REG (1 << BYTEWIDTH)
+#define NO_LOWEST_ACTIVE_REG (NO_HIGHEST_ACTIVE_REG + 1)
+
+/* Matching routines.  */
+
+#ifndef emacs   /* Emacs never uses this.  */
+/* re_match is like re_match_2 except it takes only a single string.  */
+
+int
+re_match (bufp, string, size, pos, regs)
+     struct re_pattern_buffer *bufp;
+     const char *string;
+     int size, pos;
+     struct re_registers *regs;
+ {
+  return re_match_2 (bufp, NULL, 0, string, size, pos, regs, size);
+}
+#endif /* not emacs */
+
+
+/* re_match_2 matches the compiled pattern in BUFP against the
+   the (virtual) concatenation of STRING1 and STRING2 (of length SIZE1
+   and SIZE2, respectively).  We start matching at POS, and stop
+   matching at STOP.
+
+   If REGS is non-null and the `no_sub' field of BUFP is nonzero, we
+   store offsets for the substring each group matched in REGS.  See the
+   documentation for exactly how many groups we fill.
+
+   We return -1 if no match, -2 if an internal error (such as the
+   failure stack overflowing).  Otherwise, we return the length of the
+   matched substring.  */
+
+int
+re_match_2 (bufp, string1, size1, string2, size2, pos, regs, stop)
+     struct re_pattern_buffer *bufp;
+     const char *string1, *string2;
+     int size1, size2;
+     int pos;
+     struct re_registers *regs;
+     int stop;
+{
+  /* General temporaries.  */
+  int mcnt;
+  unsigned char *p1;
+
+  /* Just past the end of the corresponding string.  */
+  const char *end1, *end2;
+
+  /* Pointers into string1 and string2, just past the last characters in
+     each to consider matching.  */
+  const char *end_match_1, *end_match_2;
+
+  /* Where we are in the data, and the end of the current string.  */
+  const char *d, *dend;
+
+  /* Where we are in the pattern, and the end of the pattern.  */
+  unsigned char *p = bufp->buffer;
+  register unsigned char *pend = p + bufp->used;
+
+  /* We use this to map every character in the string.  */
+  char *translate = bufp->translate;
+
+  /* Failure point stack.  Each place that can handle a failure further
+     down the line pushes a failure point on this stack.  It consists of
+     restart, regend, and reg_info for all registers corresponding to
+     the subexpressions we're currently inside, plus the number of such
+     registers, and, finally, two char *'s.  The first char * is where
+     to resume scanning the pattern; the second one is where to resume
+     scanning the strings.  If the latter is zero, the failure point is
+     a ``dummy''; if a failure happens and the failure point is a dummy,
+     it gets discarded and the next next one is tried.  */
+  fail_stack_type fail_stack;
+#ifdef DEBUG
+  static unsigned failure_id = 0;
+  unsigned nfailure_points_pushed = 0, nfailure_points_popped = 0;
+#endif
+
+  /* We fill all the registers internally, independent of what we
+     return, for use in backreferences.  The number here includes
+     an element for register zero.  */
+  unsigned num_regs = bufp->re_nsub + 1;
+
+  /* The currently active registers.  */
+  unsigned lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+  unsigned highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+
+  /* Information on the contents of registers. These are pointers into
+     the input strings; they record just what was matched (on this
+     attempt) by a subexpression part of the pattern, that is, the
+     regnum-th regstart pointer points to where in the pattern we began
+     matching and the regnum-th regend points to right after where we
+     stopped matching the regnum-th subexpression.  (The zeroth register
+     keeps track of what the whole pattern matches.)  */
+  const char **regstart, **regend;
+
+  /* If a group that's operated upon by a repetition operator fails to
+     match anything, then the register for its start will need to be
+     restored because it will have been set to wherever in the string we
+     are when we last see its open-group operator.  Similarly for a
+     register's end.  */
+  const char **old_regstart, **old_regend;
+
+  /* The is_active field of reg_info helps us keep track of which (possibly
+     nested) subexpressions we are currently in. The matched_something
+     field of reg_info[reg_num] helps us tell whether or not we have
+     matched any of the pattern so far this time through the reg_num-th
+     subexpression.  These two fields get reset each time through any
+     loop their register is in.  */
+  register_info_type *reg_info;
+
+  /* The following record the register info as found in the above
+     variables when we find a match better than any we've seen before.
+     This happens as we backtrack through the failure points, which in
+     turn happens only if we have not yet matched the entire string. */
+  unsigned best_regs_set = false;
+  const char **best_regstart, **best_regend;
+
+  /* Logically, this is `best_regend[0]'.  But we don't want to have to
+     allocate space for that if we're not allocating space for anything
+     else (see below).  Also, we never need info about register 0 for
+     any of the other register vectors, and it seems rather a kludge to
+     treat `best_regend' differently than the rest.  So we keep track of
+     the end of the best match so far in a separate variable.  We
+     initialize this to NULL so that when we backtrack the first time
+     and need to test it, it's not garbage.  */
+  const char *match_end = NULL;
+
+  /* Used when we pop values we don't care about.  */
+  const char **reg_dummy;
+  register_info_type *reg_info_dummy;
+
+#ifdef DEBUG
+  /* Counts the total number of registers pushed.  */
+  unsigned num_regs_pushed = 0;
+#endif
+
+  DEBUG_PRINT1 ("\n\nEntering re_match_2.\n");
+
+  INIT_FAIL_STACK ();
+
+  /* Do not bother to initialize all the register variables if there are
+     no groups in the pattern, as it takes a fair amount of time.  If
+     there are groups, we include space for register 0 (the whole
+     pattern), even though we never use it, since it simplifies the
+     array indexing.  We should fix this.  */
+  if (bufp->re_nsub)
+    {
+      regstart = REGEX_TALLOC (num_regs, const char *);
+      regend = REGEX_TALLOC (num_regs, const char *);
+      old_regstart = REGEX_TALLOC (num_regs, const char *);
+      old_regend = REGEX_TALLOC (num_regs, const char *);
+      best_regstart = REGEX_TALLOC (num_regs, const char *);
+      best_regend = REGEX_TALLOC (num_regs, const char *);
+      reg_info = REGEX_TALLOC (num_regs, register_info_type);
+      reg_dummy = REGEX_TALLOC (num_regs, const char *);
+      reg_info_dummy = REGEX_TALLOC (num_regs, register_info_type);
+
+      if (!(regstart && regend && old_regstart && old_regend && reg_info
+            && best_regstart && best_regend && reg_dummy && reg_info_dummy))
+        {
+          FREE_VARIABLES ();
+          return -2;
+        }
+    }
+#ifdef REGEX_MALLOC
+  else
+    {
+      /* We must initialize all our variables to NULL, so that
+         `FREE_VARIABLES' doesn't try to free them.  */
+      regstart = regend = old_regstart = old_regend = best_regstart
+        = best_regend = reg_dummy = NULL;
+      reg_info = reg_info_dummy = (register_info_type *) NULL;
+    }
+#endif /* REGEX_MALLOC */
+
+  /* The starting position is bogus.  */
+  if (pos < 0 || pos > size1 + size2)
+    {
+      FREE_VARIABLES ();
+      return -1;
+    }
+
+  /* Initialize subexpression text positions to -1 to mark ones that no
+     start_memory/stop_memory has been seen for. Also initialize the
+     register information struct.  */
+  for (mcnt = 1; mcnt < num_regs; mcnt++)
+    {
+      regstart[mcnt] = regend[mcnt]
+        = old_regstart[mcnt] = old_regend[mcnt] = REG_UNSET_VALUE;
+
+      REG_MATCH_NULL_STRING_P (reg_info[mcnt]) = MATCH_NULL_UNSET_VALUE;
+      IS_ACTIVE (reg_info[mcnt]) = 0;
+      MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+      EVER_MATCHED_SOMETHING (reg_info[mcnt]) = 0;
+    }
+
+  /* We move `string1' into `string2' if the latter's empty -- but not if
+     `string1' is null.  */
+  if (size2 == 0 && string1 != NULL)
+    {
+      string2 = string1;
+      size2 = size1;
+      string1 = 0;
+      size1 = 0;
+    }
+  end1 = string1 + size1;
+  end2 = string2 + size2;
+
+  /* Compute where to stop matching, within the two strings.  */
+  if (stop <= size1)
+    {
+      end_match_1 = string1 + stop;
+      end_match_2 = string2;
+    }
+  else
+    {
+      end_match_1 = end1;
+      end_match_2 = string2 + stop - size1;
+    }
+
+  /* `p' scans through the pattern as `d' scans through the data.
+     `dend' is the end of the input string that `d' points within.  `d'
+     is advanced into the following input string whenever necessary, but
+     this happens before fetching; therefore, at the beginning of the
+     loop, `d' can be pointing at the end of a string, but it cannot
+     equal `string2'.  */
+  if (size1 > 0 && pos <= size1)
+    {
+      d = string1 + pos;
+      dend = end_match_1;
+    }
+  else
+    {
+      d = string2 + pos - size1;
+      dend = end_match_2;
+    }
+
+  DEBUG_PRINT1 ("The compiled pattern is: ");
+  DEBUG_PRINT_COMPILED_PATTERN (bufp, p, pend);
+  DEBUG_PRINT1 ("The string to match is: `");
+  DEBUG_PRINT_DOUBLE_STRING (d, string1, size1, string2, size2);
+  DEBUG_PRINT1 ("'\n");
+
+  /* This loops over pattern commands.  It exits by returning from the
+     function if the match is complete, or it drops through if the match
+     fails at this starting point in the input data.  */
+  for (;;)
+    {
+      DEBUG_PRINT2 ("\n0x%x: ", p);
+
+      if (p == pend)
+    { /* End of pattern means we might have succeeded.  */
+          DEBUG_PRINT1 ("end of pattern ... ");
+
+      /* If we haven't matched the entire string, and we want the
+             longest match, try backtracking.  */
+          if (d != end_match_2)
+        {
+              DEBUG_PRINT1 ("backtracking.\n");
+
+              if (!FAIL_STACK_EMPTY ())
+                { /* More failure points to try.  */
+                  boolean same_str_p = (FIRST_STRING_P (match_end)
+                                == MATCHING_IN_FIRST_STRING);
+
+                  /* If exceeds best match so far, save it.  */
+                  if (!best_regs_set
+                      || (same_str_p && d > match_end)
+                      || (!same_str_p && !MATCHING_IN_FIRST_STRING))
+                    {
+                      best_regs_set = true;
+                      match_end = d;
+
+                      DEBUG_PRINT1 ("\nSAVING match as best so far.\n");
+
+                      for (mcnt = 1; mcnt < num_regs; mcnt++)
+                        {
+                          best_regstart[mcnt] = regstart[mcnt];
+                          best_regend[mcnt] = regend[mcnt];
+                        }
+                    }
+                  goto fail;
+                }
+
+              /* If no failure points, don't restore garbage.  */
+              else if (best_regs_set)
+                {
+            restore_best_regs:
+                  /* Restore best match.  It may happen that `dend ==
+                     end_match_1' while the restored d is in string2.
+                     For example, the pattern `x.*y.*z' against the
+                     strings `x-' and `y-z-', if the two strings are
+                     not consecutive in memory.  */
+                  DEBUG_PRINT1 ("Restoring best registers.\n");
+
+                  d = match_end;
+                  dend = ((d >= string1 && d <= end1)
+                   ? end_match_1 : end_match_2);
+
+          for (mcnt = 1; mcnt < num_regs; mcnt++)
+            {
+              regstart[mcnt] = best_regstart[mcnt];
+              regend[mcnt] = best_regend[mcnt];
+            }
+                }
+            } /* d != end_match_2 */
+
+          DEBUG_PRINT1 ("Accepting match.\n");
+
+          /* If caller wants register contents data back, do it.  */
+          if (regs && !bufp->no_sub)
+        {
+              /* Have the register data arrays been allocated?  */
+              if (bufp->regs_allocated == REGS_UNALLOCATED)
+                { /* No.  So allocate them with malloc.  We need one
+                     extra element beyond `num_regs' for the `-1' marker
+                     GNU code uses.  */
+                  regs->num_regs = MAX (RE_NREGS, num_regs + 1);
+                  regs->start = TALLOC (regs->num_regs, regoff_t);
+                  regs->end = TALLOC (regs->num_regs, regoff_t);
+                  if (regs->start == NULL || regs->end == NULL)
+                    return -2;
+                  bufp->regs_allocated = REGS_REALLOCATE;
+                }
+              else if (bufp->regs_allocated == REGS_REALLOCATE)
+                { /* Yes.  If we need more elements than were already
+                     allocated, reallocate them.  If we need fewer, just
+                     leave it alone.  */
+                  if (regs->num_regs < num_regs + 1)
+                    {
+                      regs->num_regs = num_regs + 1;
+                      RETALLOC (regs->start, regs->num_regs, regoff_t);
+                      RETALLOC (regs->end, regs->num_regs, regoff_t);
+                      if (regs->start == NULL || regs->end == NULL)
+                        return -2;
+                    }
+                }
+              else
+                assert (bufp->regs_allocated == REGS_FIXED);
+
+              /* Convert the pointer data in `regstart' and `regend' to
+                 indices.  Register zero has to be set differently,
+                 since we haven't kept track of any info for it.  */
+              if (regs->num_regs > 0)
+                {
+                  regs->start[0] = pos;
+                  regs->end[0] = (MATCHING_IN_FIRST_STRING ? d - string1
+                      : d - string2 + size1);
+                }
+
+              /* Go through the first `min (num_regs, regs->num_regs)'
+                 registers, since that is all we initialized.  */
+          for (mcnt = 1; mcnt < MIN (num_regs, regs->num_regs); mcnt++)
+        {
+                  if (REG_UNSET (regstart[mcnt]) || REG_UNSET (regend[mcnt]))
+                    regs->start[mcnt] = regs->end[mcnt] = -1;
+                  else
+                    {
+              regs->start[mcnt] = POINTER_TO_OFFSET (regstart[mcnt]);
+                      regs->end[mcnt] = POINTER_TO_OFFSET (regend[mcnt]);
+                    }
+        }
+
+              /* If the regs structure we return has more elements than
+                 were in the pattern, set the extra elements to -1.  If
+                 we (re)allocated the registers, this is the case,
+                 because we always allocate enough to have at least one
+                 -1 at the end.  */
+              for (mcnt = num_regs; mcnt < regs->num_regs; mcnt++)
+                regs->start[mcnt] = regs->end[mcnt] = -1;
+        } /* regs && !bufp->no_sub */
+
+          FREE_VARIABLES ();
+          DEBUG_PRINT4 ("%u failure points pushed, %u popped (%u remain).\n",
+                        nfailure_points_pushed, nfailure_points_popped,
+                        nfailure_points_pushed - nfailure_points_popped);
+          DEBUG_PRINT2 ("%u registers pushed.\n", num_regs_pushed);
+
+          mcnt = d - pos - (MATCHING_IN_FIRST_STRING
+                ? string1
+                : string2 - size1);
+
+          DEBUG_PRINT2 ("Returning %d from re_match_2.\n", mcnt);
+
+          return mcnt;
+        }
+
+      /* Otherwise match next pattern command.  */
+#ifdef SWITCH_ENUM_BUG
+      switch ((int) ((re_opcode_t) *p++))
+#else
+      switch ((re_opcode_t) *p++)
+#endif
+    {
+        /* Ignore these.  Used to ignore the n of succeed_n's which
+           currently have n == 0.  */
+        case no_op:
+          DEBUG_PRINT1 ("EXECUTING no_op.\n");
+          break;
+
+
+        /* Match the next n pattern characters exactly.  The following
+           byte in the pattern defines n, and the n bytes after that
+           are the characters to match.  */
+    case exactn:
+      mcnt = *p++;
+          DEBUG_PRINT2 ("EXECUTING exactn %d.\n", mcnt);
+
+          /* This is written out as an if-else so we don't waste time
+             testing `translate' inside the loop.  */
+          if (translate)
+        {
+          do
+        {
+          PREFETCH ();
+          if (translate[(unsigned char) *d++] != (char) *p++)
+                    goto fail;
+        }
+          while (--mcnt);
+        }
+      else
+        {
+          do
+        {
+          PREFETCH ();
+          if (*d++ != (char) *p++) goto fail;
+        }
+          while (--mcnt);
+        }
+      SET_REGS_MATCHED ();
+          break;
+
+
+        /* Match any character except possibly a newline or a null.  */
+    case anychar:
+          DEBUG_PRINT1 ("EXECUTING anychar.\n");
+
+          PREFETCH ();
+
+          if ((!(bufp->syntax & RE_DOT_NEWLINE) && TRANSLATE (*d) == '\n')
+              || (bufp->syntax & RE_DOT_NOT_NULL && TRANSLATE (*d) == '\000'))
+        goto fail;
+
+          SET_REGS_MATCHED ();
+          DEBUG_PRINT2 ("  Matched `%d'.\n", *d);
+          d++;
+      break;
+
+
+    case charset:
+    case charset_not:
+      {
+        register unsigned char c;
+        boolean not = (re_opcode_t) *(p - 1) == charset_not;
+
+            DEBUG_PRINT2 ("EXECUTING charset%s.\n", not ? "_not" : "");
+
+        PREFETCH ();
+        c = TRANSLATE (*d); /* The character to match.  */
+
+            /* Cast to `unsigned' instead of `unsigned char' in case the
+               bit list is a full 32 bytes long.  */
+        if (c < (unsigned) (*p * BYTEWIDTH)
+        && p[1 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+          not = !not;
+
+        p += 1 + *p;
+
+        if (!not) goto fail;
+
+        SET_REGS_MATCHED ();
+            d++;
+        break;
+      }
+
+
+        /* The beginning of a group is represented by start_memory.
+           The arguments are the register number in the next byte, and the
+           number of groups inner to this one in the next.  The text
+           matched within the group is recorded (in the internal
+           registers data structure) under the register number.  */
+        case start_memory:
+      DEBUG_PRINT3 ("EXECUTING start_memory %d (%d):\n", *p, p[1]);
+
+          /* Find out if this group can match the empty string.  */
+      p1 = p;		/* To send to group_match_null_string_p.  */
+
+          if (REG_MATCH_NULL_STRING_P (reg_info[*p]) == MATCH_NULL_UNSET_VALUE)
+            REG_MATCH_NULL_STRING_P (reg_info[*p])
+              = group_match_null_string_p (&p1, pend, reg_info);
+
+          /* Save the position in the string where we were the last time
+             we were at this open-group operator in case the group is
+             operated upon by a repetition operator, e.g., with `(a*)*b'
+             against `ab'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regstart[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                             ? REG_UNSET (regstart[*p]) ? d : regstart[*p]
+                             : regstart[*p];
+      DEBUG_PRINT2 ("  old_regstart: %d\n",
+             POINTER_TO_OFFSET (old_regstart[*p]));
+
+          regstart[*p] = d;
+      DEBUG_PRINT2 ("  regstart: %d\n", POINTER_TO_OFFSET (regstart[*p]));
+
+          IS_ACTIVE (reg_info[*p]) = 1;
+          MATCHED_SOMETHING (reg_info[*p]) = 0;
+
+          /* This is the new highest active register.  */
+          highest_active_reg = *p;
+
+          /* If nothing was active before, this is the new lowest active
+             register.  */
+          if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+            lowest_active_reg = *p;
+
+          /* Move past the register number and inner group count.  */
+          p += 2;
+          break;
+
+
+        /* The stop_memory opcode represents the end of a group.  Its
+           arguments are the same as start_memory's: the register
+           number, and the number of inner groups.  */
+    case stop_memory:
+      DEBUG_PRINT3 ("EXECUTING stop_memory %d (%d):\n", *p, p[1]);
+
+          /* We need to save the string position the last time we were at
+             this close-group operator in case the group is operated
+             upon by a repetition operator, e.g., with `((a*)*(b*)*)*'
+             against `aba'; then we want to ignore where we are now in
+             the string in case this attempt to match fails.  */
+          old_regend[*p] = REG_MATCH_NULL_STRING_P (reg_info[*p])
+                           ? REG_UNSET (regend[*p]) ? d : regend[*p]
+               : regend[*p];
+      DEBUG_PRINT2 ("      old_regend: %d\n",
+             POINTER_TO_OFFSET (old_regend[*p]));
+
+          regend[*p] = d;
+      DEBUG_PRINT2 ("      regend: %d\n", POINTER_TO_OFFSET (regend[*p]));
+
+          /* This register isn't active anymore.  */
+          IS_ACTIVE (reg_info[*p]) = 0;
+
+          /* If this was the only register active, nothing is active
+             anymore.  */
+          if (lowest_active_reg == highest_active_reg)
+            {
+              lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+              highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+            }
+          else
+            { /* We must scan for the new highest active register, since
+                 it isn't necessarily one less than now: consider
+                 (a(b)c(d(e)f)g).  When group 3 ends, after the f), the
+                 new highest active register is 1.  */
+              unsigned char r = *p - 1;
+              while (r > 0 && !IS_ACTIVE (reg_info[r]))
+                r--;
+
+              /* If we end up at register zero, that means that we saved
+                 the registers as the result of an `on_failure_jump', not
+                 a `start_memory', and we jumped to past the innermost
+                 `stop_memory'.  For example, in ((.)*) we save
+                 registers 1 and 2 as a result of the *, but when we pop
+                 back to the second ), we are at the stop_memory 1.
+                 Thus, nothing is active.  */
+          if (r == 0)
+                {
+                  lowest_active_reg = NO_LOWEST_ACTIVE_REG;
+                  highest_active_reg = NO_HIGHEST_ACTIVE_REG;
+                }
+              else
+                highest_active_reg = r;
+            }
+
+          /* If just failed to match something this time around with a
+             group that's operated on by a repetition operator, try to
+             force exit from the ``loop'', and restore the register
+             information for this group that we had before trying this
+             last match.  */
+          if ((!MATCHED_SOMETHING (reg_info[*p])
+               || (re_opcode_t) p[-3] == start_memory)
+          && (p + 2) < pend)
+            {
+              boolean is_a_jump_n = false;
+
+              p1 = p + 2;
+              mcnt = 0;
+              switch ((re_opcode_t) *p1++)
+                {
+                  case jump_n:
+            is_a_jump_n = true;
+                  case pop_failure_jump:
+          case maybe_pop_jump:
+          case jump:
+          case dummy_failure_jump:
+                    EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+            if (is_a_jump_n)
+              p1 += 2;
+                    break;
+
+                  default:
+                    /* do nothing */ ;
+                }
+          p1 += mcnt;
+
+              /* If the next operation is a jump backwards in the pattern
+             to an on_failure_jump right before the start_memory
+                 corresponding to this stop_memory, exit from the loop
+                 by forcing a failure after pushing on the stack the
+                 on_failure_jump's jump in the pattern, and d.  */
+              if (mcnt < 0 && (re_opcode_t) *p1 == on_failure_jump
+                  && (re_opcode_t) p1[3] == start_memory && p1[4] == *p)
+        {
+                  /* If this group ever matched anything, then restore
+                     what its registers were before trying this last
+                     failed match, e.g., with `(a*)*b' against `ab' for
+                     regstart[1], and, e.g., with `((a*)*(b*)*)*'
+                     against `aba' for regend[3].
+
+                     Also restore the registers for inner groups for,
+                     e.g., `((a*)(b*))*' against `aba' (register 3 would
+                     otherwise get trashed).  */
+
+                  if (EVER_MATCHED_SOMETHING (reg_info[*p]))
+            {
+              unsigned r;
+
+                      EVER_MATCHED_SOMETHING (reg_info[*p]) = 0;
+
+              /* Restore this and inner groups' (if any) registers.  */
+                      for (r = *p; r < *p + *(p + 1); r++)
+                        {
+                          regstart[r] = old_regstart[r];
+
+                          /* xx why this test?  */
+                          if ((int) old_regend[r] >= (int) regstart[r])
+                            regend[r] = old_regend[r];
+                        }
+                    }
+          p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  PUSH_FAILURE_POINT (p1 + mcnt, d, -2);
+
+                  goto fail;
+                }
+            }
+
+          /* Move past the register number and the inner group count.  */
+          p += 2;
+          break;
+
+
+    /* \<digit> has been turned into a `duplicate' command which is
+           followed by the numeric value of <digit> as the register number.  */
+        case duplicate:
+      {
+        register const char *d2, *dend2;
+        int regno = *p++;   /* Get which register to match against.  */
+        DEBUG_PRINT2 ("EXECUTING duplicate %d.\n", regno);
+
+        /* Can't back reference a group which we've never matched.  */
+            if (REG_UNSET (regstart[regno]) || REG_UNSET (regend[regno]))
+              goto fail;
+
+            /* Where in input to try to start matching.  */
+            d2 = regstart[regno];
+
+            /* Where to stop matching; if both the place to start and
+               the place to stop matching are in the same string, then
+               set to the place to stop, otherwise, for now have to use
+               the end of the first string.  */
+
+            dend2 = ((FIRST_STRING_P (regstart[regno])
+              == FIRST_STRING_P (regend[regno]))
+             ? regend[regno] : end_match_1);
+        for (;;)
+          {
+        /* If necessary, advance to next segment in register
+                   contents.  */
+        while (d2 == dend2)
+          {
+            if (dend2 == end_match_2) break;
+            if (dend2 == regend[regno]) break;
+
+                    /* End of string1 => advance to string2. */
+                    d2 = string2;
+                    dend2 = regend[regno];
+          }
+        /* At end of register contents => success */
+        if (d2 == dend2) break;
+
+        /* If necessary, advance to next segment in data.  */
+        PREFETCH ();
+
+        /* How many characters left in this segment to match.  */
+        mcnt = dend - d;
+
+        /* Want how many consecutive characters we can match in
+                   one shot, so, if necessary, adjust the count.  */
+                if (mcnt > dend2 - d2)
+          mcnt = dend2 - d2;
+
+        /* Compare that many; failure if mismatch, else move
+                   past them.  */
+        if (translate
+                    ? bcmp_translate (d, d2, mcnt, translate)
+                    : bcmp (d, d2, mcnt))
+          goto fail;
+        d += mcnt, d2 += mcnt;
+          }
+      }
+      break;
+
+
+        /* begline matches the empty string at the beginning of the string
+           (unless `not_bol' is set in `bufp'), and, if
+           `newline_anchor' is set, after newlines.  */
+    case begline:
+          DEBUG_PRINT1 ("EXECUTING begline.\n");
+
+          if (AT_STRINGS_BEG (d))
+            {
+              if (!bufp->not_bol) break;
+            }
+          else if (d[-1] == '\n' && bufp->newline_anchor)
+            {
+              break;
+            }
+          /* In all other cases, we fail.  */
+          goto fail;
+
+
+        /* endline is the dual of begline.  */
+    case endline:
+          DEBUG_PRINT1 ("EXECUTING endline.\n");
+
+          if (AT_STRINGS_END (d))
+            {
+              if (!bufp->not_eol) break;
+            }
+
+          /* We have to ``prefetch'' the next character.  */
+          else if ((d == end1 ? *string2 : *d) == '\n'
+                   && bufp->newline_anchor)
+            {
+              break;
+            }
+          goto fail;
+
+
+    /* Match at the very beginning of the data.  */
+        case begbuf:
+          DEBUG_PRINT1 ("EXECUTING begbuf.\n");
+          if (AT_STRINGS_BEG (d))
+            break;
+          goto fail;
+
+
+    /* Match at the very end of the data.  */
+        case endbuf:
+          DEBUG_PRINT1 ("EXECUTING endbuf.\n");
+      if (AT_STRINGS_END (d))
+        break;
+          goto fail;
+
+
+        /* on_failure_keep_string_jump is used to optimize `.*\n'.  It
+           pushes NULL as the value for the string on the stack.  Then
+           `pop_failure_point' will keep the current value for the
+           string, instead of restoring it.  To see why, consider
+           matching `foo\nbar' against `.*\n'.  The .* matches the foo;
+           then the . fails against the \n.  But the next thing we want
+           to do is match the \n against the \n; if we restored the
+           string value, we would be back at the foo.
+
+           Because this is used only in specific cases, we don't need to
+           check all the things that `on_failure_jump' does, to make
+           sure the right things get saved on the stack.  Hence we don't
+           share its code.  The only reason to push anything on the
+           stack at all is that otherwise we would have to change
+           `anychar's code to do something besides goto fail in this
+           case; that seems worse than this.  */
+        case on_failure_keep_string_jump:
+          DEBUG_PRINT1 ("EXECUTING on_failure_keep_string_jump");
+
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT3 (" %d (to 0x%x):\n", mcnt, p + mcnt);
+
+          PUSH_FAILURE_POINT (p + mcnt, NULL, -2);
+          break;
+
+
+    /* Uses of on_failure_jump:
+
+           Each alternative starts with an on_failure_jump that points
+           to the beginning of the next alternative.  Each alternative
+           except the last ends with a jump that in effect jumps past
+           the rest of the alternatives.  (They really jump to the
+           ending jump of the following alternative, because tensioning
+           these jumps is a hassle.)
+
+           Repeats start with an on_failure_jump that points past both
+           the repetition text and either the following jump or
+           pop_failure_jump back to this on_failure_jump.  */
+    case on_failure_jump:
+        on_failure:
+          DEBUG_PRINT1 ("EXECUTING on_failure_jump");
+
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT3 (" %d (to 0x%x)", mcnt, p + mcnt);
+
+          /* If this on_failure_jump comes right before a group (i.e.,
+             the original * applied to a group), save the information
+             for that group and all inner ones, so that if we fail back
+             to this point, the group's information will be correct.
+             For example, in \(a*\)*\1, we need the preceding group,
+             and in \(\(a*\)b*\)\2, we need the inner group.  */
+
+          /* We can't use `p' to check ahead because we push
+             a failure point to `p + mcnt' after we do this.  */
+          p1 = p;
+
+          /* We need to skip no_op's before we look for the
+             start_memory in case this on_failure_jump is happening as
+             the result of a completed succeed_n, as in \(a\)\{1,3\}b\1
+             against aba.  */
+          while (p1 < pend && (re_opcode_t) *p1 == no_op)
+            p1++;
+
+          if (p1 < pend && (re_opcode_t) *p1 == start_memory)
+            {
+              /* We have a new highest active register now.  This will
+                 get reset at the start_memory we are about to get to,
+                 but we will have saved all the registers relevant to
+                 this repetition op, as described above.  */
+              highest_active_reg = *(p1 + 1) + *(p1 + 2);
+              if (lowest_active_reg == NO_LOWEST_ACTIVE_REG)
+                lowest_active_reg = *(p1 + 1);
+            }
+
+          DEBUG_PRINT1 (":\n");
+          PUSH_FAILURE_POINT (p + mcnt, d, -2);
+          break;
+
+
+        /* A smart repeat ends with `maybe_pop_jump'.
+       We change it to either `pop_failure_jump' or `jump'.  */
+        case maybe_pop_jump:
+          EXTRACT_NUMBER_AND_INCR (mcnt, p);
+          DEBUG_PRINT2 ("EXECUTING maybe_pop_jump %d.\n", mcnt);
+          {
+        register unsigned char *p2 = p;
+
+            /* Compare the beginning of the repeat with what in the
+               pattern follows its end. If we can establish that there
+               is nothing that they would both match, i.e., that we
+               would have to backtrack because of (as in, e.g., `a*a')
+               then we can change to pop_failure_jump, because we'll
+               never have to backtrack.
+
+               This is not true in the case of alternatives: in
+               `(a|ab)*' we do need to backtrack to the `ab' alternative
+               (e.g., if the string was `ab').  But instead of trying to
+               detect that here, the alternative has put on a dummy
+               failure point which is what we will end up popping.  */
+
+        /* Skip over open/close-group commands.  */
+        while (p2 + 2 < pend
+           && ((re_opcode_t) *p2 == stop_memory
+               || (re_opcode_t) *p2 == start_memory))
+          p2 += 3;			/* Skip over args, too.  */
+
+            /* If we're at the end of the pattern, we can change.  */
+            if (p2 == pend)
+          {
+        /* Consider what happens when matching ":\(.*\)"
+           against ":/".  I don't really understand this code
+           yet.  */
+            p[-3] = (unsigned char) pop_failure_jump;
+                DEBUG_PRINT1
+                  ("  End of pattern: change to `pop_failure_jump'.\n");
+              }
+
+            else if ((re_opcode_t) *p2 == exactn
+             || (bufp->newline_anchor && (re_opcode_t) *p2 == endline))
+          {
+        register unsigned char c
+                  = *p2 == (unsigned char) endline ? '\n' : p2[2];
+        p1 = p + mcnt;
+
+                /* p1[0] ... p1[2] are the `on_failure_jump' corresponding
+                   to the `maybe_finalize_jump' of this case.  Examine what
+                   follows.  */
+                if ((re_opcode_t) p1[3] == exactn && p1[5] != c)
+                  {
+            p[-3] = (unsigned char) pop_failure_jump;
+                    DEBUG_PRINT3 ("  %c != %c => pop_failure_jump.\n",
+                                  c, p1[5]);
+                  }
+
+        else if ((re_opcode_t) p1[3] == charset
+             || (re_opcode_t) p1[3] == charset_not)
+          {
+            int not = (re_opcode_t) p1[3] == charset_not;
+
+            if (c < (unsigned char) (p1[4] * BYTEWIDTH)
+            && p1[5 + c / BYTEWIDTH] & (1 << (c % BYTEWIDTH)))
+              not = !not;
+
+                    /* `not' is equal to 1 if c would match, which means
+                        that we can't change to pop_failure_jump.  */
+            if (!not)
+                      {
+                p[-3] = (unsigned char) pop_failure_jump;
+                        DEBUG_PRINT1 ("  No match => pop_failure_jump.\n");
+                      }
+          }
+          }
+      }
+      p -= 2;		/* Point at relative address again.  */
+      if ((re_opcode_t) p[-1] != pop_failure_jump)
+        {
+          p[-1] = (unsigned char) jump;
+              DEBUG_PRINT1 ("  Match => jump.\n");
+          goto unconditional_jump;
+        }
+        /* Note fall through.  */
+
+
+    /* The end of a simple repeat has a pop_failure_jump back to
+           its matching on_failure_jump, where the latter will push a
+           failure point.  The pop_failure_jump takes off failure
+           points put on by this pop_failure_jump's matching
+           on_failure_jump; we got through the pattern to here from the
+           matching on_failure_jump, so didn't fail.  */
+        case pop_failure_jump:
+          {
+            /* We need to pass separate storage for the lowest and
+               highest registers, even though we don't care about the
+               actual values.  Otherwise, we will restore only one
+               register from the stack, since lowest will == highest in
+               `pop_failure_point'.  */
+            unsigned dummy_low_reg, dummy_high_reg;
+            unsigned char *pdummy;
+            const char *sdummy;
+
+            DEBUG_PRINT1 ("EXECUTING pop_failure_jump.\n");
+            POP_FAILURE_POINT (sdummy, pdummy,
+                               dummy_low_reg, dummy_high_reg,
+                               reg_dummy, reg_dummy, reg_info_dummy);
+          }
+          /* Note fall through.  */
+
+
+        /* Unconditionally jump (without popping any failure points).  */
+        case jump:
+    unconditional_jump:
+      EXTRACT_NUMBER_AND_INCR (mcnt, p);	/* Get the amount to jump.  */
+          DEBUG_PRINT2 ("EXECUTING jump %d ", mcnt);
+      p += mcnt;				/* Do the jump.  */
+          DEBUG_PRINT2 ("(to 0x%x).\n", p);
+      break;
+
+
+        /* We need this opcode so we can detect where alternatives end
+           in `group_match_null_string_p' et al.  */
+        case jump_past_alt:
+          DEBUG_PRINT1 ("EXECUTING jump_past_alt.\n");
+          goto unconditional_jump;
+
+
+        /* Normally, the on_failure_jump pushes a failure point, which
+           then gets popped at pop_failure_jump.  We will end up at
+           pop_failure_jump, also, and with a pattern of, say, `a+', we
+           are skipping over the on_failure_jump, so we have to push
+           something meaningless for pop_failure_jump to pop.  */
+        case dummy_failure_jump:
+          DEBUG_PRINT1 ("EXECUTING dummy_failure_jump.\n");
+          /* It doesn't matter what we push for the string here.  What
+             the code at `fail' tests is the value for the pattern.  */
+          PUSH_FAILURE_POINT (0, 0, -2);
+          goto unconditional_jump;
+
+
+        /* At the end of an alternative, we need to push a dummy failure
+           point in case we are followed by a `pop_failure_jump', because
+           we don't want the failure point for the alternative to be
+           popped.  For example, matching `(a|ab)*' against `aab'
+           requires that we match the `ab' alternative.  */
+        case push_dummy_failure:
+          DEBUG_PRINT1 ("EXECUTING push_dummy_failure.\n");
+          /* See comments just above at `dummy_failure_jump' about the
+             two zeroes.  */
+          PUSH_FAILURE_POINT (0, 0, -2);
+          break;
+
+        /* Have to succeed matching what follows at least n times.
+           After that, handle like `on_failure_jump'.  */
+        case succeed_n:
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING succeed_n %d.\n", mcnt);
+
+          assert (mcnt >= 0);
+          /* Originally, this is how many times we HAVE to succeed.  */
+          if (mcnt > 0)
+            {
+               mcnt--;
+           p += 2;
+               STORE_NUMBER_AND_INCR (p, mcnt);
+               DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p, mcnt);
+            }
+      else if (mcnt == 0)
+            {
+              DEBUG_PRINT2 ("  Setting two bytes from 0x%x to no_op.\n", p+2);
+          p[2] = (unsigned char) no_op;
+              p[3] = (unsigned char) no_op;
+              goto on_failure;
+            }
+          break;
+
+        case jump_n:
+          EXTRACT_NUMBER (mcnt, p + 2);
+          DEBUG_PRINT2 ("EXECUTING jump_n %d.\n", mcnt);
+
+          /* Originally, this is how many times we CAN jump.  */
+          if (mcnt)
+            {
+               mcnt--;
+               STORE_NUMBER (p + 2, mcnt);
+           goto unconditional_jump;
+            }
+          /* If don't have to jump any more, skip over the rest of command.  */
+      else
+        p += 4;
+          break;
+
+    case set_number_at:
+      {
+            DEBUG_PRINT1 ("EXECUTING set_number_at.\n");
+
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+            p1 = p + mcnt;
+            EXTRACT_NUMBER_AND_INCR (mcnt, p);
+            DEBUG_PRINT3 ("  Setting 0x%x to %d.\n", p1, mcnt);
+        STORE_NUMBER (p1, mcnt);
+            break;
+          }
+
+        case wordbound:
+          DEBUG_PRINT1 ("EXECUTING wordbound.\n");
+          if (AT_WORD_BOUNDARY (d))
+        break;
+          goto fail;
+
+    case notwordbound:
+          DEBUG_PRINT1 ("EXECUTING notwordbound.\n");
+      if (AT_WORD_BOUNDARY (d))
+        goto fail;
+          break;
+
+    case wordbeg:
+          DEBUG_PRINT1 ("EXECUTING wordbeg.\n");
+      if (WORDCHAR_P (d) && (AT_STRINGS_BEG (d) || !WORDCHAR_P (d - 1)))
+        break;
+          goto fail;
+
+    case wordend:
+          DEBUG_PRINT1 ("EXECUTING wordend.\n");
+      if (!AT_STRINGS_BEG (d) && WORDCHAR_P (d - 1)
+              && (!WORDCHAR_P (d) || AT_STRINGS_END (d)))
+        break;
+          goto fail;
+
+#ifdef emacs
+#ifdef emacs19
+    case before_dot:
+          DEBUG_PRINT1 ("EXECUTING before_dot.\n");
+      if (PTR_CHAR_POS ((unsigned char *) d) >= point)
+        goto fail;
+      break;
+
+    case at_dot:
+          DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+      if (PTR_CHAR_POS ((unsigned char *) d) != point)
+        goto fail;
+      break;
+
+    case after_dot:
+          DEBUG_PRINT1 ("EXECUTING after_dot.\n");
+          if (PTR_CHAR_POS ((unsigned char *) d) <= point)
+        goto fail;
+      break;
+#else /* not emacs19 */
+    case at_dot:
+          DEBUG_PRINT1 ("EXECUTING at_dot.\n");
+      if (PTR_CHAR_POS ((unsigned char *) d) + 1 != point)
+        goto fail;
+      break;
+#endif /* not emacs19 */
+
+    case syntaxspec:
+          DEBUG_PRINT2 ("EXECUTING syntaxspec %d.\n", mcnt);
+      mcnt = *p++;
+      goto matchsyntax;
+
+        case wordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs wordchar.\n");
+      mcnt = (int) Sword;
+        matchsyntax:
+      PREFETCH ();
+      if (SYNTAX (*d++) != (enum syntaxcode) mcnt)
+            goto fail;
+          SET_REGS_MATCHED ();
+      break;
+
+    case notsyntaxspec:
+          DEBUG_PRINT2 ("EXECUTING notsyntaxspec %d.\n", mcnt);
+      mcnt = *p++;
+      goto matchnotsyntax;
+
+        case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING Emacs notwordchar.\n");
+      mcnt = (int) Sword;
+        matchnotsyntax:
+      PREFETCH ();
+      if (SYNTAX (*d++) == (enum syntaxcode) mcnt)
+            goto fail;
+      SET_REGS_MATCHED ();
+          break;
+
+#else /* not emacs */
+    case wordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs wordchar.\n");
+      PREFETCH ();
+          if (!WORDCHAR_P (d))
+            goto fail;
+      SET_REGS_MATCHED ();
+          d++;
+      break;
+
+    case notwordchar:
+          DEBUG_PRINT1 ("EXECUTING non-Emacs notwordchar.\n");
+      PREFETCH ();
+      if (WORDCHAR_P (d))
+            goto fail;
+          SET_REGS_MATCHED ();
+          d++;
+      break;
+#endif /* not emacs */
+
+        default:
+          abort ();
+    }
+      continue;  /* Successfully executed one pattern command; keep going.  */
+
+
+    /* We goto here if a matching operation fails. */
+    fail:
+      if (!FAIL_STACK_EMPTY ())
+    { /* A restart point is known.  Restore to that state.  */
+          DEBUG_PRINT1 ("\nFAIL:\n");
+          POP_FAILURE_POINT (d, p,
+                             lowest_active_reg, highest_active_reg,
+                             regstart, regend, reg_info);
+
+          /* If this failure point is a dummy, try the next one.  */
+          if (!p)
+        goto fail;
+
+          /* If we failed to the end of the pattern, don't examine *p.  */
+      assert (p <= pend);
+          if (p < pend)
+            {
+              boolean is_a_jump_n = false;
+
+              /* If failed to a backwards jump that's part of a repetition
+                 loop, need to pop this failure point and use the next one.  */
+              switch ((re_opcode_t) *p)
+                {
+                case jump_n:
+                  is_a_jump_n = true;
+                case maybe_pop_jump:
+                case pop_failure_jump:
+                case jump:
+                  p1 = p + 1;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  p1 += mcnt;
+
+                  if ((is_a_jump_n && (re_opcode_t) *p1 == succeed_n)
+                      || (!is_a_jump_n
+                          && (re_opcode_t) *p1 == on_failure_jump))
+                    goto fail;
+                  break;
+                default:
+                  /* do nothing */ ;
+                }
+            }
+
+          if (d >= string1 && d <= end1)
+        dend = end_match_1;
+        }
+      else
+        break;   /* Matching at this starting point really fails.  */
+    } /* for (;;) */
+
+  if (best_regs_set)
+    goto restore_best_regs;
+
+  FREE_VARIABLES ();
+
+  return -1;         			/* Failure to match.  */
+} /* re_match_2 */
+
+/* Subroutine definitions for re_match_2.  */
+
+
+/* We are passed P pointing to a register number after a start_memory.
+
+   Return true if the pattern up to the corresponding stop_memory can
+   match the empty string, and false otherwise.
+
+   If we find the matching stop_memory, sets P to point to one past its number.
+   Otherwise, sets P to an undefined byte less than or equal to END.
+
+   We don't handle duplicates properly (yet).  */
+
+static boolean
+group_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  /* Point to after the args to the start_memory.  */
+  unsigned char *p1 = *p + 2;
+
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and return true or
+     false, as appropriate, when we get to one that can't, or to the
+         matching stop_memory.  */
+
+      switch ((re_opcode_t) *p1)
+        {
+        /* Could be either a loop or a series of alternatives.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+          /* If the next operation is not a jump backwards in the
+         pattern.  */
+
+      if (mcnt >= 0)
+        {
+              /* Go through the on_failure_jumps of the alternatives,
+                 seeing if any of the alternatives cannot match nothing.
+                 The last alternative starts with only a jump,
+                 whereas the rest start with on_failure_jump and end
+                 with a jump, e.g., here is the pattern for `a|b|c':
+
+                 /on_failure_jump/0/6/exactn/1/a/jump_past_alt/0/6
+                 /on_failure_jump/0/6/exactn/1/b/jump_past_alt/0/3
+                 /exactn/1/c
+
+                 So, we have to first go through the first (n-1)
+                 alternatives and then deal with the last one separately.  */
+
+
+              /* Deal with the first (n-1) alternatives, which start
+                 with an on_failure_jump (see above) that jumps to right
+                 past a jump_past_alt.  */
+
+              while ((re_opcode_t) p1[mcnt-3] == jump_past_alt)
+                {
+                  /* `mcnt' holds how many bytes long the alternative
+                     is, including the ending `jump_past_alt' and
+                     its number.  */
+
+                  if (!alt_match_null_string_p (p1, p1 + mcnt - 3,
+                                      reg_info))
+                    return false;
+
+                  /* Move to right after this alternative, including the
+             jump_past_alt.  */
+                  p1 += mcnt;
+
+                  /* Break if it's the beginning of an n-th alternative
+                     that doesn't begin with an on_failure_jump.  */
+                  if ((re_opcode_t) *p1 != on_failure_jump)
+                    break;
+
+          /* Still have to check that it's not an n-th
+             alternative that starts with an on_failure_jump.  */
+          p1++;
+                  EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+                  if ((re_opcode_t) p1[mcnt-3] != jump_past_alt)
+                    {
+              /* Get to the beginning of the n-th alternative.  */
+                      p1 -= 3;
+                      break;
+                    }
+                }
+
+              /* Deal with the last alternative: go back and get number
+                 of the `jump_past_alt' just before it.  `mcnt' contains
+                 the length of the alternative.  */
+              EXTRACT_NUMBER (mcnt, p1 - 2);
+
+              if (!alt_match_null_string_p (p1, p1 + mcnt, reg_info))
+                return false;
+
+              p1 += mcnt;	/* Get past the n-th alternative.  */
+            } /* if mcnt > 0 */
+          break;
+
+
+        case stop_memory:
+      assert (p1[1] == **p);
+          *p = p1 + 2;
+          return true;
+
+
+        default:
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    } /* while p1 < end */
+
+  return false;
+} /* group_match_null_string_p */
+
+
+/* Similar to group_match_null_string_p, but doesn't deal with alternatives:
+   It expects P to be the first byte of a single alternative and END one
+   byte past the last. The alternative can contain groups.  */
+
+static boolean
+alt_match_null_string_p (p, end, reg_info)
+    unsigned char *p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  unsigned char *p1 = p;
+
+  while (p1 < end)
+    {
+      /* Skip over opcodes that can match nothing, and break when we get
+         to one that can't.  */
+
+      switch ((re_opcode_t) *p1)
+        {
+    /* It's a loop.  */
+        case on_failure_jump:
+          p1++;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+          break;
+
+    default:
+          if (!common_op_match_null_string_p (&p1, end, reg_info))
+            return false;
+        }
+    }  /* while p1 < end */
+
+  return true;
+} /* alt_match_null_string_p */
+
+
+/* Deals with the ops common to group_match_null_string_p and
+   alt_match_null_string_p.
+
+   Sets P to one after the op and its arguments, if any.  */
+
+static boolean
+common_op_match_null_string_p (p, end, reg_info)
+    unsigned char **p, *end;
+    register_info_type *reg_info;
+{
+  int mcnt;
+  boolean ret;
+  int reg_no;
+  unsigned char *p1 = *p;
+
+  switch ((re_opcode_t) *p1++)
+    {
+    case no_op:
+    case begline:
+    case endline:
+    case begbuf:
+    case endbuf:
+    case wordbeg:
+    case wordend:
+    case wordbound:
+    case notwordbound:
+#ifdef emacs
+    case before_dot:
+    case at_dot:
+    case after_dot:
+#endif
+      break;
+
+    case start_memory:
+      reg_no = *p1;
+      assert (reg_no > 0 && reg_no <= MAX_REGNUM);
+      ret = group_match_null_string_p (&p1, end, reg_info);
+
+      /* Have to set this here in case we're checking a group which
+         contains a group and a back reference to it.  */
+
+      if (REG_MATCH_NULL_STRING_P (reg_info[reg_no]) == MATCH_NULL_UNSET_VALUE)
+        REG_MATCH_NULL_STRING_P (reg_info[reg_no]) = ret;
+
+      if (!ret)
+        return false;
+      break;
+
+    /* If this is an optimized succeed_n for zero times, make the jump.  */
+    case jump:
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+      if (mcnt >= 0)
+        p1 += mcnt;
+      else
+        return false;
+      break;
+
+    case succeed_n:
+      /* Get to the number of times to succeed.  */
+      p1 += 2;
+      EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+
+      if (mcnt == 0)
+        {
+          p1 -= 4;
+          EXTRACT_NUMBER_AND_INCR (mcnt, p1);
+          p1 += mcnt;
+        }
+      else
+        return false;
+      break;
+
+    case duplicate:
+      if (!REG_MATCH_NULL_STRING_P (reg_info[*p1]))
+        return false;
+      break;
+
+    case set_number_at:
+      p1 += 4;
+
+    default:
+      /* All other opcodes mean we cannot match the empty string.  */
+      return false;
+  }
+
+  *p = p1;
+  return true;
+} /* common_op_match_null_string_p */
+
+
+/* Return zero if TRANSLATE[S1] and TRANSLATE[S2] are identical for LEN
+   bytes; nonzero otherwise.  */
+
+static int
+bcmp_translate (s1, s2, len, translate)
+     unsigned char *s1, *s2;
+     register int len;
+     char *translate;
+{
+  register unsigned char *p1 = s1, *p2 = s2;
+  while (len)
+    {
+      if (translate[*p1++] != translate[*p2++]) return 1;
+      len--;
+    }
+  return 0;
+}
+
+/* Entry points for GNU code.  */
+
+/* re_compile_pattern is the GNU regular expression compiler: it
+   compiles PATTERN (of length SIZE) and puts the result in BUFP.
+   Returns 0 if the pattern was valid, otherwise an error string.
+
+   Assumes the `allocated' (and perhaps `buffer') and `translate' fields
+   are set in BUFP on entry.
+
+   We call regex_compile to do the actual compilation.  */
+
+const char *
+re_compile_pattern (pattern, length, bufp)
+     const char *pattern;
+     int length;
+     struct re_pattern_buffer *bufp;
+{
+  reg_errcode_t ret;
+
+  /* GNU code is written to assume at least RE_NREGS registers will be set
+     (and at least one extra will be -1).  */
+  bufp->regs_allocated = REGS_UNALLOCATED;
+
+  /* And GNU code determines whether or not to get register information
+     by passing null for the REGS argument to re_match, etc., not by
+     setting no_sub.  */
+  bufp->no_sub = 0;
+
+  /* Match anchors at newline.  */
+  bufp->newline_anchor = 1;
+
+  ret = regex_compile (pattern, length, re_syntax_options, bufp);
+
+  return re_error_msg[(int) ret];
+}
+
+/* Entry points compatible with 4.2 BSD regex library.  We don't define
+   them if this is an Emacs or POSIX compilation.  */
+
+#if !defined (emacs) && !defined (_POSIX_SOURCE)
+
+/* BSD has one and only one pattern buffer.  */
+static struct re_pattern_buffer re_comp_buf;
+
+char *
+re_comp (s)
+    const char *s;
+{
+  reg_errcode_t ret;
+
+  if (!s)
+    {
+      if (!re_comp_buf.buffer)
+    return "No previous regular expression";
+      return 0;
+    }
+
+  if (!re_comp_buf.buffer)
+    {
+      re_comp_buf.buffer = (unsigned char *) malloc (200);
+      if (re_comp_buf.buffer == NULL)
+        return "Memory exhausted";
+      re_comp_buf.allocated = 200;
+
+      re_comp_buf.fastmap = (char *) malloc (1 << BYTEWIDTH);
+      if (re_comp_buf.fastmap == NULL)
+    return "Memory exhausted";
+    }
+
+  /* Since `re_exec' always passes NULL for the `regs' argument, we
+     don't need to initialize the pattern buffer fields which affect it.  */
+
+  /* Match anchors at newlines.  */
+  re_comp_buf.newline_anchor = 1;
+
+  ret = regex_compile (s, strlen (s), re_syntax_options, &re_comp_buf);
+
+  /* Yes, we're discarding `const' here.  */
+  return (char *) re_error_msg[(int) ret];
+}
+
+
+int
+re_exec (s)
+    const char *s;
+{
+  const int len = strlen (s);
+  return
+    0 <= re_search (&re_comp_buf, s, len, 0, len, (struct re_registers *) 0);
+}
+#endif /* not emacs and not _POSIX_SOURCE */
+
+/* POSIX.2 functions.  Don't define these for Emacs.  */
+
+#ifndef emacs
+
+/* regcomp takes a regular expression as a string and compiles it.
+
+   PREG is a regex_t *.  We do not expect any fields to be initialized,
+   since POSIX says we shouldn't.  Thus, we set
+
+     `buffer' to the compiled pattern;
+     `used' to the length of the compiled pattern;
+     `syntax' to RE_SYNTAX_POSIX_EXTENDED if the
+       REG_EXTENDED bit in CFLAGS is set; otherwise, to
+       RE_SYNTAX_POSIX_BASIC;
+     `newline_anchor' to REG_NEWLINE being set in CFLAGS;
+     `fastmap' and `fastmap_accurate' to zero;
+     `re_nsub' to the number of subexpressions in PATTERN.
+
+   PATTERN is the address of the pattern string.
+
+   CFLAGS is a series of bits which affect compilation.
+
+     If REG_EXTENDED is set, we use POSIX extended syntax; otherwise, we
+     use POSIX basic syntax.
+
+     If REG_NEWLINE is set, then . and [^...] don't match newline.
+     Also, regexec will try a match beginning after every newline.
+
+     If REG_ICASE is set, then we considers upper- and lowercase
+     versions of letters to be equivalent when matching.
+
+     If REG_NOSUB is set, then when PREG is passed to regexec, that
+     routine will report only success or failure, and nothing about the
+     registers.
+
+   It returns 0 if it succeeds, nonzero if it doesn't.  (See regex.h for
+   the return codes and their meanings.)  */
+
+int
+regcomp (preg, pattern, cflags)
+    regex_t *preg;
+    const char *pattern;
+    int cflags;
+{
+  reg_errcode_t ret;
+  unsigned syntax
+    = (cflags & REG_EXTENDED) ?
+      RE_SYNTAX_POSIX_EXTENDED : RE_SYNTAX_POSIX_BASIC;
+
+  /* regex_compile will allocate the space for the compiled pattern.  */
+  preg->buffer = 0;
+  preg->allocated = 0;
+
+  /* Don't bother to use a fastmap when searching.  This simplifies the
+     REG_NEWLINE case: if we used a fastmap, we'd have to put all the
+     characters after newlines into the fastmap.  This way, we just try
+     every character.  */
+  preg->fastmap = 0;
+
+  if (cflags & REG_ICASE)
+    {
+      unsigned i;
+
+      preg->translate = (char *) malloc (CHAR_SET_SIZE);
+      if (preg->translate == NULL)
+        return (int) REG_ESPACE;
+
+      /* Map uppercase characters to corresponding lowercase ones.  */
+      for (i = 0; i < CHAR_SET_SIZE; i++)
+        preg->translate[i] = ISUPPER (i) ? tolower (i) : i;
+    }
+  else
+    preg->translate = NULL;
+
+  /* If REG_NEWLINE is set, newlines are treated differently.  */
+  if (cflags & REG_NEWLINE)
+    { /* REG_NEWLINE implies neither . nor [^...] match newline.  */
+      syntax &= ~RE_DOT_NEWLINE;
+      syntax |= RE_HAT_LISTS_NOT_NEWLINE;
+      /* It also changes the matching behavior.  */
+      preg->newline_anchor = 1;
+    }
+  else
+    preg->newline_anchor = 0;
+
+  preg->no_sub = !!(cflags & REG_NOSUB);
+
+  /* POSIX says a null character in the pattern terminates it, so we
+     can use strlen here in compiling the pattern.  */
+  ret = regex_compile (pattern, strlen (pattern), syntax, preg);
+
+  /* POSIX doesn't distinguish between an unmatched open-group and an
+     unmatched close-group: both are REG_EPAREN.  */
+  if (ret == REG_ERPAREN) ret = REG_EPAREN;
+
+  return (int) ret;
+}
+
+
+/* regexec searches for a given pattern, specified by PREG, in the
+   string STRING.
+
+   If NMATCH is zero or REG_NOSUB was set in the cflags argument to
+   `regcomp', we ignore PMATCH.  Otherwise, we assume PMATCH has at
+   least NMATCH elements, and we set them to the offsets of the
+   corresponding matched substrings.
+
+   EFLAGS specifies `execution flags' which affect matching: if
+   REG_NOTBOL is set, then ^ does not match at the beginning of the
+   string; if REG_NOTEOL is set, then $ does not match at the end.
+
+   We return 0 if we find a match and REG_NOMATCH if not.  */
+
+int
+regexec (preg, string, nmatch, pmatch, eflags)
+    const regex_t *preg;
+    const char *string;
+    size_t nmatch;
+    regmatch_t pmatch[];
+    int eflags;
+{
+  int ret;
+  struct re_registers regs;
+  regex_t private_preg;
+  int len = strlen (string);
+  boolean want_reg_info = !preg->no_sub && nmatch > 0;
+
+  private_preg = *preg;
+
+  private_preg.not_bol = !!(eflags & REG_NOTBOL);
+  private_preg.not_eol = !!(eflags & REG_NOTEOL);
+
+  /* The user has told us exactly how many registers to return
+     information about, via `nmatch'.  We have to pass that on to the
+     matching routines.  */
+  private_preg.regs_allocated = REGS_FIXED;
+
+  if (want_reg_info)
+    {
+      regs.num_regs = nmatch;
+      regs.start = TALLOC (nmatch, regoff_t);
+      regs.end = TALLOC (nmatch, regoff_t);
+      if (regs.start == NULL || regs.end == NULL)
+        return (int) REG_NOMATCH;
+    }
+
+  /* Perform the searching operation.  */
+  ret = re_search (&private_preg, string, len,
+                   /* start: */ 0, /* range: */ len,
+                   want_reg_info ? &regs : (struct re_registers *) 0);
+
+  /* Copy the register information to the POSIX structure.  */
+  if (want_reg_info)
+    {
+      if (ret >= 0)
+        {
+          unsigned r;
+
+          for (r = 0; r < nmatch; r++)
+            {
+              pmatch[r].rm_so = regs.start[r];
+              pmatch[r].rm_eo = regs.end[r];
+            }
+        }
+
+      /* If we needed the temporary register info, free the space now.  */
+      free (regs.start);
+      free (regs.end);
+    }
+
+  /* We want zero return to mean success, unlike `re_search'.  */
+  return ret >= 0 ? (int) REG_NOERROR : (int) REG_NOMATCH;
+}
+
+
+/* Returns a message corresponding to an error code, ERRCODE, returned
+   from either regcomp or regexec.   We don't use PREG here.  */
+
+size_t
+regerror (errcode_v, preg, errbuf, errbuf_size)
+    int errcode_v;
+    const regex_t *preg;
+    char *errbuf;
+    size_t errbuf_size;
+{
+  const char *msg;
+  size_t msg_size;
+
+  if (errcode_v < 0
+      || errcode_v >= (sizeof (re_error_msg) / sizeof (re_error_msg[0])))
+    /* Only error codes returned by the rest of the code should be passed
+       to this routine.  If we are given anything else, or if other regex
+       code generates an invalid error code, then the program has a bug.
+       Dump core so we can fix it.  */
+    abort ();
+
+  msg = re_error_msg[errcode_v];
+
+  /* POSIX doesn't require that we do anything in this case, but why
+     not be nice.  */
+  if (! msg)
+    msg = "Success";
+
+  msg_size = strlen (msg) + 1; /* Includes the null.  */
+
+  if (errbuf_size != 0)
+    {
+      if (msg_size > errbuf_size)
+        {
+          strncpy (errbuf, msg, errbuf_size - 1);
+          errbuf[errbuf_size - 1] = 0;
+        }
+      else
+        strcpy (errbuf, msg);
+    }
+
+  return msg_size;
+}
+
+
+/* Free dynamically allocated space used by PREG.  */
+
+void
+regfree (preg)
+    regex_t *preg;
+{
+  if (preg->buffer != NULL)
+    free (preg->buffer);
+  preg->buffer = NULL;
+
+  preg->allocated = 0;
+  preg->used = 0;
+
+  if (preg->fastmap != NULL)
+    free (preg->fastmap);
+  preg->fastmap = NULL;
+  preg->fastmap_accurate = 0;
+
+  if (preg->translate != NULL)
+    free (preg->translate);
+  preg->translate = NULL;
+}
+
+#endif /* not emacs  */
+
+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/apertium/win32/regex.h b/apertium/win32/regex.h
new file mode 100644
index 0000000..39511de
--- /dev/null
+++ b/apertium/win32/regex.h
@@ -0,0 +1,498 @@
+/* Definitions for data structures and routines for the regular
+   expression library, version 0.12.
+
+   Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993 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 2, 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, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
+
+#ifndef __REGEXP_LIBRARY_H__
+#define __REGEXP_LIBRARY_H__
+
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+/* POSIX says that <sys/types.h> must be included (by the caller) before
+   <regex.h>.  */
+
+#ifdef VMS
+/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
+   should be there.  */
+#include <stddef.h>
+#endif
+
+
+/* The following bits are used to determine the regexp syntax we
+   recognize.  The set/not-set meanings are chosen so that Emacs syntax
+   remains the value 0.  The bits are given in alphabetical order, and
+   the definitions shifted by one from the previous bit; thus, when we
+   add or remove a bit, only one other definition need change.  */
+typedef unsigned reg_syntax_t;
+
+/* If this bit is not set, then \ inside a bracket expression is literal.
+   If set, then such a \ quotes the following character.  */
+#define RE_BACKSLASH_ESCAPE_IN_LISTS (1)
+
+/* If this bit is not set, then + and ? are operators, and \+ and \? are
+	 literals.
+   If set, then \+ and \? are operators and + and ? are literals.  */
+#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
+
+/* If this bit is set, then character classes are supported.  They are:
+	 [:alpha:], [:upper:], [:lower:],  [:digit:], [:alnum:], [:xdigit:],
+	 [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
+   If not set, then character classes are not supported.  */
+#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
+
+/* If this bit is set, then ^ and $ are always anchors (outside bracket
+	 expressions, of course).
+   If this bit is not set, then it depends:
+		^  is an anchor if it is at the beginning of a regular
+		   expression or after an open-group or an alternation operator;
+		$  is an anchor if it is at the end of a regular expression, or
+		   before a close-group or an alternation operator.
+
+   This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
+   POSIX draft 11.2 says that * etc. in leading positions is undefined.
+   We already implemented a previous draft which made those constructs
+   invalid, though, so we haven't changed the code back.  */
+#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
+
+/* If this bit is set, then special characters are always special
+	 regardless of where they are in the pattern.
+   If this bit is not set, then special characters are special only in
+	 some contexts; otherwise they are ordinary.  Specifically,
+	 * + ? and intervals are only special when not after the beginning,
+	 open-group, or alternation operator.  */
+#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
+
+/* If this bit is set, then *, +, ?, and { cannot be first in an re or
+	 immediately after an alternation or begin-group operator.  */
+#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
+
+/* If this bit is set, then . matches newline.
+   If not set, then it doesn't.  */
+#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
+
+/* If this bit is set, then . doesn't match NUL.
+   If not set, then it does.  */
+#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
+
+/* If this bit is set, nonmatching lists [^...] do not match newline.
+   If not set, they do.  */
+#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
+
+/* If this bit is set, either \{...\} or {...} defines an
+	 interval, depending on RE_NO_BK_BRACES.
+   If not set, \{, \}, {, and } are literals.  */
+#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
+
+/* If this bit is set, +, ? and | aren't recognized as operators.
+   If not set, they are.  */
+#define RE_LIMITED_OPS (RE_INTERVALS << 1)
+
+/* If this bit is set, newline is an alternation operator.
+   If not set, newline is literal.  */
+#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
+
+/* If this bit is set, then `{...}' defines an interval, and \{ and \}
+	 are literals.
+  If not set, then `\{...\}' defines an interval.  */
+#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
+
+/* If this bit is set, (...) defines a group, and \( and \) are literals.
+   If not set, \(...\) defines a group, and ( and ) are literals.  */
+#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
+
+/* If this bit is set, then \<digit> matches <digit>.
+   If not set, then \<digit> is a back-reference.  */
+#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
+
+/* If this bit is set, then | is an alternation operator, and \| is literal.
+   If not set, then \| is an alternation operator, and | is literal.  */
+#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
+
+/* If this bit is set, then an ending range point collating higher
+	 than the starting range point, as in [z-a], is invalid.
+   If not set, then when ending range point collates higher than the
+	 starting range point, the range is ignored.  */
+#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
+
+/* If this bit is set, then an unmatched ) is ordinary.
+   If not set, then an unmatched ) is invalid.  */
+#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
+
+/* This global variable defines the particular regexp syntax to use (for
+   some interfaces).  When a regexp is compiled, the syntax used is
+   stored in the pattern buffer, so changing this does not affect
+   already-compiled regexps.  */
+extern reg_syntax_t re_syntax_options;
+
+/* Define combinations of the above bits for the standard possibilities.
+   (The [[[ comments delimit what gets put into the Texinfo file, so
+   don't delete them!)  */
+/* [[[begin syntaxes]]] */
+#define RE_SYNTAX_EMACS 0
+
+#define RE_SYNTAX_AWK							\
+  (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL			\
+   | RE_NO_BK_PARENS            | RE_NO_BK_REFS				\
+   | RE_NO_BK_VBAR               | RE_NO_EMPTY_RANGES			\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+#define RE_SYNTAX_POSIX_AWK 						\
+  (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)
+
+#define RE_SYNTAX_GREP							\
+  (RE_BK_PLUS_QM              | RE_CHAR_CLASSES				\
+   | RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS				\
+   | RE_NEWLINE_ALT)
+
+#define RE_SYNTAX_EGREP							\
+  (RE_CHAR_CLASSES        | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE			\
+   | RE_NEWLINE_ALT       | RE_NO_BK_PARENS				\
+   | RE_NO_BK_VBAR)
+
+#define RE_SYNTAX_POSIX_EGREP						\
+  (RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
+
+/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff.  */
+#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
+
+#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
+
+/* Syntax bits common to both basic and extended POSIX regex syntax.  */
+#define _RE_SYNTAX_POSIX_COMMON						\
+  (RE_CHAR_CLASSES | RE_DOT_NEWLINE      | RE_DOT_NOT_NULL		\
+   | RE_INTERVALS  | RE_NO_EMPTY_RANGES)
+
+#define RE_SYNTAX_POSIX_BASIC						\
+  (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
+
+/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
+   RE_LIMITED_OPS, i.e., \? \+ \| are not recognized.  Actually, this
+   isn't minimal, since other operators, such as \`, aren't disabled.  */
+#define RE_SYNTAX_POSIX_MINIMAL_BASIC					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
+
+#define RE_SYNTAX_POSIX_EXTENDED					\
+  (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INDEP_OPS  | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS       | RE_NO_BK_VBAR				\
+   | RE_UNMATCHED_RIGHT_PAREN_ORD)
+
+/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
+   replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added.  */
+#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED				\
+  (_RE_SYNTAX_POSIX_COMMON  | RE_CONTEXT_INDEP_ANCHORS			\
+   | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES				\
+   | RE_NO_BK_PARENS        | RE_NO_BK_REFS				\
+   | RE_NO_BK_VBAR	    | RE_UNMATCHED_RIGHT_PAREN_ORD)
+/* [[[end syntaxes]]] */
+
+/* Maximum number of duplicates an interval can allow.  Some systems
+   (erroneously) define this in other header files, but we want our
+   value, so remove any previous define.  */
+#ifdef RE_DUP_MAX
+#undef RE_DUP_MAX
+#endif
+#define RE_DUP_MAX ((1 << 15) - 1)
+
+
+/* POSIX `cflags' bits (i.e., information for `regcomp').  */
+
+/* If this bit is set, then use extended regular expression syntax.
+   If not set, then use basic regular expression syntax.  */
+#define REG_EXTENDED 1
+
+/* If this bit is set, then ignore case when matching.
+   If not set, then case is significant.  */
+#define REG_ICASE (REG_EXTENDED << 1)
+
+/* If this bit is set, then anchors do not match at newline
+	 characters in the string.
+   If not set, then anchors do match at newlines.  */
+#define REG_NEWLINE (REG_ICASE << 1)
+
+/* If this bit is set, then report only success or fail in regexec.
+   If not set, then returns differ between not matching and errors.  */
+#define REG_NOSUB (REG_NEWLINE << 1)
+
+
+/* POSIX `eflags' bits (i.e., information for regexec).  */
+
+/* If this bit is set, then the beginning-of-line operator doesn't match
+	 the beginning of the string (presumably because it's not the
+	 beginning of a line).
+   If not set, then the beginning-of-line operator does match the
+	 beginning of the string.  */
+#define REG_NOTBOL 1
+
+/* Like REG_NOTBOL, except for the end-of-line.  */
+#define REG_NOTEOL (1 << 1)
+
+
+/* If any error codes are removed, changed, or added, update the
+   `re_error_msg' table in regex.c.  */
+typedef enum
+{
+  REG_NOERROR = 0,	/* Success.  */
+  REG_NOMATCH,		/* Didn't find a match (for regexec).  */
+
+  /* POSIX regcomp return error codes.  (In the order listed in the
+	 standard.)  */
+  REG_BADPAT,		/* Invalid pattern.  */
+  REG_ECOLLATE,		/* Not implemented.  */
+  REG_ECTYPE,		/* Invalid character class name.  */
+  REG_EESCAPE,		/* Trailing backslash.  */
+  REG_ESUBREG,		/* Invalid back reference.  */
+  REG_EBRACK,		/* Unmatched left bracket.  */
+  REG_EPAREN,		/* Parenthesis imbalance.  */
+  REG_EBRACE,		/* Unmatched \{.  */
+  REG_BADBR,		/* Invalid contents of \{\}.  */
+  REG_ERANGE,		/* Invalid range end.  */
+  REG_ESPACE,		/* Ran out of memory.  */
+  REG_BADRPT,		/* No preceding re for repetition op.  */
+
+  /* Error codes we've added.  */
+  REG_EEND,		/* Premature end.  */
+  REG_ESIZE,		/* Compiled pattern bigger than 2^16 bytes.  */
+  REG_ERPAREN		/* Unmatched ) or \); not returned from regcomp.  */
+} reg_errcode_t;
+
+/* This data structure represents a compiled pattern.  Before calling
+   the pattern compiler, the fields `buffer', `allocated', `fastmap',
+   `translate', and `no_sub' can be set.  After the pattern has been
+   compiled, the `re_nsub' field is available.  All other fields are
+   private to the regex routines.  */
+
+struct re_pattern_buffer
+{
+/* [[[begin pattern_buffer]]] */
+	/* Space that holds the compiled pattern.  It is declared as
+		  `unsigned char *' because its elements are
+		   sometimes used as array indexes.  */
+  unsigned char *buffer;
+
+	/* Number of bytes to which `buffer' points.  */
+  unsigned long allocated;
+
+	/* Number of bytes actually used in `buffer'.  */
+  unsigned long used;
+
+		/* Syntax setting with which the pattern was compiled.  */
+  reg_syntax_t syntax;
+
+		/* Pointer to a fastmap, if any, otherwise zero.  re_search uses
+		   the fastmap, if there is one, to skip over impossible
+		   starting points for matches.  */
+  char *fastmap;
+
+		/* Either a translate table to apply to all characters before
+		   comparing them, or zero for no translation.  The translation
+		   is applied to a pattern when it is compiled and to a string
+		   when it is matched.  */
+  char *translate;
+
+	/* Number of subexpressions found by the compiler.  */
+  size_t re_nsub;
+
+		/* Zero if this pattern cannot match the empty string, one else.
+		   Well, in truth it's used only in `re_search_2', to see
+		   whether or not we should use the fastmap, so we don't set
+		   this absolutely perfectly; see `re_compile_fastmap' (the
+		   `duplicate' case).  */
+  unsigned can_be_null : 1;
+
+		/* If REGS_UNALLOCATED, allocate space in the `regs' structure
+			 for `max (RE_NREGS, re_nsub + 1)' groups.
+		   If REGS_REALLOCATE, reallocate space if necessary.
+		   If REGS_FIXED, use what's there.  */
+#define REGS_UNALLOCATED 0
+#define REGS_REALLOCATE 1
+#define REGS_FIXED 2
+  unsigned regs_allocated : 2;
+
+		/* Set to zero when `regex_compile' compiles a pattern; set to one
+		   by `re_compile_fastmap' if it updates the fastmap.  */
+  unsigned fastmap_accurate : 1;
+
+		/* If set, `re_match_2' does not return information about
+		   subexpressions.  */
+  unsigned no_sub : 1;
+
+		/* If set, a beginning-of-line anchor doesn't match at the
+		   beginning of the string.  */
+  unsigned not_bol : 1;
+
+		/* Similarly for an end-of-line anchor.  */
+  unsigned not_eol : 1;
+
+		/* If true, an anchor at a newline matches.  */
+  unsigned newline_anchor : 1;
+
+/* [[[end pattern_buffer]]] */
+};
+
+typedef struct re_pattern_buffer regex_t;
+
+
+/* search.c (search_buffer) in Emacs needs this one opcode value.  It is
+   defined both in `regex.c' and here.  */
+#define RE_EXACTN_VALUE 1
+
+/* Type for byte offsets within the string.  POSIX mandates this.  */
+typedef int regoff_t;
+
+
+/* This is the structure we store register match data in.  See
+   regex.texinfo for a full description of what registers match.  */
+struct re_registers
+{
+  unsigned num_regs;
+  regoff_t *start;
+  regoff_t *end;
+};
+
+
+/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
+   `re_match_2' returns information about at least this many registers
+   the first time a `regs' structure is passed.  */
+#ifndef RE_NREGS
+#define RE_NREGS 30
+#endif
+
+
+/* POSIX specification for registers.  Aside from the different names than
+   `re_registers', POSIX uses an array of structures, instead of a
+   structure of arrays.  */
+typedef struct
+{
+  regoff_t rm_so;  /* Byte offset from string's start to substring's start.  */
+  regoff_t rm_eo;  /* Byte offset from string's start to substring's end.  */
+} regmatch_t;
+
+/* Declarations for routines.  */
+
+/* To avoid duplicating every routine declaration -- once with a
+   prototype (if we are ANSI), and once without (if we aren't) -- we
+   use the following macro to declare argument types.  This
+   unfortunately clutters up the declarations a bit, but I think it's
+   worth it.  */
+
+#if __STDC__
+
+#define _RE_ARGS(args) args
+
+#else /* not __STDC__ */
+
+#define _RE_ARGS(args) ()
+
+#endif /* not __STDC__ */
+
+/* Sets the current default syntax to SYNTAX, and return the old syntax.
+   You can also simply assign to the `re_syntax_options' variable.  */
+extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
+
+/* Compile the regular expression PATTERN, with length LENGTH
+   and syntax given by the global `re_syntax_options', into the buffer
+   BUFFER.  Return NULL if successful, and an error string if not.  */
+extern const char *re_compile_pattern
+  _RE_ARGS ((const char *pattern, int length,
+			 struct re_pattern_buffer *buffer));
+
+
+/* Compile a fastmap for the compiled pattern in BUFFER; used to
+   accelerate searches.  Return 0 if successful and -2 if was an
+   internal error.  */
+extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer));
+
+
+/* Search in the string STRING (with length LENGTH) for the pattern
+   compiled into BUFFER.  Start searching at position START, for RANGE
+   characters.  Return the starting position of the match, -1 for no
+   match, or -2 for an internal error.  Also return register
+   information in REGS (if REGS and BUFFER->no_sub are nonzero).  */
+extern int re_search
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
+			int length, int start, int range, struct re_registers *regs));
+
+
+/* Like `re_search', but search in the concatenation of STRING1 and
+   STRING2.  Also, stop searching at index START + STOP.  */
+extern int re_search_2
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
+			 int length1, const char *string2, int length2,
+			 int start, int range, struct re_registers *regs, int stop));
+
+
+/* Like `re_search', but return how many characters in STRING the regexp
+   in BUFFER matched, starting at position START.  */
+extern int re_match
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
+			 int length, int start, struct re_registers *regs));
+
+
+/* Relates to `re_match' as `re_search_2' relates to `re_search'.  */
+extern int re_match_2
+  _RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
+			 int length1, const char *string2, int length2,
+			 int start, struct re_registers *regs, int stop));
+
+
+/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
+   ENDS.  Subsequent matches using BUFFER and REGS will use this memory
+   for recording register information.  STARTS and ENDS must be
+   allocated with malloc, and must each be at least `NUM_REGS * sizeof
+   (regoff_t)' bytes long.
+
+   If NUM_REGS == 0, then subsequent matches should allocate their own
+   register data.
+
+   Unless this function is called, the first search or match using
+   PATTERN_BUFFER will allocate its own register data, without
+   freeing the old data.  */
+extern void re_set_registers
+  _RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs,
+			 unsigned num_regs, regoff_t *starts, regoff_t *ends));
+
+/* 4.2 bsd compatibility.  */
+extern char *re_comp _RE_ARGS ((const char *));
+extern int re_exec _RE_ARGS ((const char *));
+
+/* POSIX compatibility.  */
+extern int regcomp _RE_ARGS ((regex_t *preg, const char *pattern, int cflags));
+extern int regexec
+  _RE_ARGS ((const regex_t *preg, const char *string, size_t nmatch,
+			 regmatch_t pmatch[], int eflags));
+extern size_t regerror
+  _RE_ARGS ((int errcode, const regex_t *preg, char *errbuf,
+			 size_t errbuf_size));
+extern void regfree _RE_ARGS ((regex_t *preg));
+
+#ifdef __cplusplus
+  }
+#endif
+
+#endif /* not __REGEXP_LIBRARY_H__ */
+
+/*
+Local variables:
+make-backup-files: t
+version-control: t
+trim-versions-without-asking: nil
+End:
+*/
diff --git a/apertium/win32/runner_skeleton.c b/apertium/win32/runner_skeleton.c
new file mode 100644
index 0000000..00597f1
--- /dev/null
+++ b/apertium/win32/runner_skeleton.c
@@ -0,0 +1,77 @@
+#include <stdio.h>
+#include <conio.h>
+#include <process.h>
+#include <direct.h>
+#include <stdlib.h>
+#include <string.h>
+#include <wchar.h>
+
+#define PATH_BUF_SIZE 8191
+#define NUM_EXEC_ARGS 3
+#define ARG_BUF_SIZE (8191 - NUM_EXEC_ARGS)
+#define ENV_VAR_SIZE 32768
+
+/* Strip the last component off a pathname.
+   Thus, parent("a\b\c") -> "a\b" */
+char* parent(char* parent_buf) {
+        char* pos = strrchr(parent_buf, '\\');
+        pos[0] = '\0';
+
+        return parent_buf;
+}
+
+/* Remove the .exe if the user invoked this executable with its extension.
+   That is, if the user typed something like apertium.exe instead of apertium. */
+char* remove_extension(char* buf) {
+        char* pos = strrchr(buf, '.');
+
+        if (pos != NULL && strcmp(pos, ".exe") == 0) {
+                pos[0] = '\0';
+        }
+
+        return buf;
+}
+
+#define MIN(x, y) ((x) < (y) ? x : y)
+
+int main(int argc, char* argv[]) {
+        char *args[ARG_BUF_SIZE];
+        char base_path[PATH_BUF_SIZE + 1];
+        char script_path[PATH_BUF_SIZE + 1];
+        char shell_path[PATH_BUF_SIZE + 1];
+        char env_path[ENV_VAR_SIZE];
+        int argi;
+
+        _fullpath(shell_path, argv[0], PATH_BUF_SIZE);
+        strcpy(script_path, shell_path);
+        strcpy(base_path, shell_path);
+
+        parent(shell_path);
+        strcat(shell_path, "\\sh.exe");
+
+        remove_extension(script_path);
+        parent(base_path);
+
+        args[0] = shell_path;
+        args[1] = "--norc";
+        args[2] = script_path;
+
+        /* Any parameters passed on the command line will be passed through to the shell script */
+        for (argi = 0; argi < MIN(argc - 1, ARG_BUF_SIZE); argi++) {
+                printf("%s\n", argv[argi + 1]);
+                args[argi + NUM_EXEC_ARGS] = argv[argi + 1];
+        }
+        /* Signal the end of the argument list */
+        args[argi + NUM_EXEC_ARGS] = NULL;
+
+        /* Add this executable's directory to the path */
+        strcpy(env_path, "PATH=");
+        strcat(env_path, getenv("PATH"));
+        strcat(env_path, ";");
+        strcat(env_path, base_path);
+        _putenv(env_path);
+
+        _spawnv(_P_WAIT, args[0], &args[1]);
+
+        _flushall();
+}
diff --git a/apertium/win32/snprintf.c b/apertium/win32/snprintf.c
new file mode 100644
index 0000000..86f42e9
--- /dev/null
+++ b/apertium/win32/snprintf.c
@@ -0,0 +1,1025 @@
+/*
+ * snprintf.c - a portable implementation of snprintf
+ *
+ * AUTHOR
+ *   Mark Martinec <mark.martinec at ijs.si>, April 1999.
+ *
+ *   Copyright 1999, Mark Martinec. All rights reserved.
+ *
+ * TERMS AND CONDITIONS
+ *   This program is free software; you can redistribute it and/or modify
+ *   it under the terms of the "Frontier Artistic License" which comes
+ *   with this Kit.
+ *
+ *   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 Frontier Artistic License for more details.
+ *
+ *   You should have received a copy of the Frontier Artistic License
+ *   with this Kit in the file named LICENSE.txt .
+ *   If not, I'll be glad to provide one.
+ *
+ * FEATURES
+ * - careful adherence to specs regarding flags, field width and precision;
+ * - good performance for large string handling (large format, large
+ *   argument or large paddings). Performance is similar to system's sprintf
+ *   and in several cases significantly better (make sure you compile with
+ *   optimizations turned on, tell the compiler the code is strict ANSI
+ *   if necessary to give it more freedom for optimizations);
+ * - return value semantics per ISO/IEC 9899:1999 ("ISO C99");
+ * - written in standard ISO/ANSI C - requires an ANSI C compiler.
+ *
+ * SUPPORTED CONVERSION SPECIFIERS AND DATA TYPES
+ *
+ * This snprintf only supports the following conversion specifiers:
+ * s, c, d, u, o, x, X, p  (and synonyms: i, D, U, O - see below)
+ * with flags: '-', '+', ' ', '0' and '#'.
+ * An asterisk is supported for field width as well as precision.
+ *
+ * Length modifiers 'h' (short int), 'l' (long int),
+ * and 'll' (long long int) are supported.
+ * NOTE:
+ *   If macro SNPRINTF_LONGLONG_SUPPORT is not defined (default) the
+ *   length modifier 'll' is recognized but treated the same as 'l',
+ *   which may cause argument value truncation! Defining
+ *   SNPRINTF_LONGLONG_SUPPORT requires that your system's sprintf also
+ *   handles length modifier 'll'.  long long int is a language extension
+ *   which may not be portable.
+ *
+ * Conversion of numeric data (conversion specifiers d, u, o, x, X, p)
+ * with length modifiers (none or h, l, ll) is left to the system routine
+ * sprintf, but all handling of flags, field width and precision as well as
+ * c and s conversions is done very carefully by this portable routine.
+ * If a string precision (truncation) is specified (e.g. %.8s) it is
+ * guaranteed the string beyond the specified precision will not be referenced.
+ *
+ * Length modifiers h, l and ll are ignored for c and s conversions (data
+ * types wint_t and wchar_t are not supported).
+ *
+ * The following common synonyms for conversion characters are supported:
+ *   - i is a synonym for d
+ *   - D is a synonym for ld, explicit length modifiers are ignored
+ *   - U is a synonym for lu, explicit length modifiers are ignored
+ *   - O is a synonym for lo, explicit length modifiers are ignored
+ * The D, O and U conversion characters are nonstandard, they are supported
+ * for backward compatibility only, and should not be used for new code.
+ *
+ * The following is specifically NOT supported:
+ *   - flag ' (thousands' grouping character) is recognized but ignored
+ *   - numeric conversion specifiers: f, e, E, g, G and synonym F,
+ *     as well as the new a and A conversion specifiers
+ *   - length modifier 'L' (long double) and 'q' (quad - use 'll' instead)
+ *   - wide character/string conversions: lc, ls, and nonstandard
+ *     synonyms C and S
+ *   - writeback of converted string length: conversion character n
+ *   - the n$ specification for direct reference to n-th argument
+ *   - locales
+ *
+ * It is permitted for str_m to be zero, and it is permitted to specify NULL
+ * pointer for resulting string argument if str_m is zero (as per ISO C99).
+ *
+ * The return value is the number of characters which would be generated
+ * for the given input, excluding the trailing null. If this value
+ * is greater or equal to str_m, not all characters from the result
+ * have been stored in str, output bytes beyond the (str_m-1) -th character
+ * are discarded. If str_m is greater than zero it is guaranteed
+ * the resulting string will be null-terminated.
+ *
+ * NOTE that this matches the ISO C99, OpenBSD, and GNU C library 2.1,
+ * but is different from some older and vendor implementations,
+ * and is also different from XPG, XSH5, SUSv2 specifications.
+ * For historical discussion on changes in the semantics and standards
+ * of snprintf see printf(3) man page in the Linux programmers manual.
+ *
+ * Routines asprintf and vasprintf return a pointer (in the ptr argument)
+ * to a buffer sufficiently large to hold the resulting string. This pointer
+ * should be passed to free(3) to release the allocated storage when it is
+ * no longer needed. If sufficient space cannot be allocated, these functions
+ * will return -1 and set ptr to be a NULL pointer. These two routines are a
+ * GNU C library extensions (glibc).
+ *
+ * Routines asnprintf and vasnprintf are similar to asprintf and vasprintf,
+ * yet, like snprintf and vsnprintf counterparts, will write at most str_m-1
+ * characters into the allocated output string, the last character in the
+ * allocated buffer then gets the terminating null. If the formatted string
+ * length (the return value) is greater than or equal to the str_m argument,
+ * the resulting string was truncated and some of the formatted characters
+ * were discarded. These routines present a handy way to limit the amount
+ * of allocated memory to some sane value.
+ *
+ * AVAILABILITY
+ *   http://www.ijs.si/software/snprintf/
+ *
+ * REVISION HISTORY
+ * 1999-04	V0.9  Mark Martinec
+ *		- initial version, some modifications after comparing printf
+ *		  man pages for Digital Unix 4.0, Solaris 2.6 and HPUX 10,
+ *		  and checking how Perl handles sprintf (differently!);
+ * 1999-04-09	V1.0  Mark Martinec <mark.martinec at ijs.si>
+ *		- added main test program, fixed remaining inconsistencies,
+ *		  added optional (long long int) support;
+ * 1999-04-12	V1.1  Mark Martinec <mark.martinec at ijs.si>
+ *		- support the 'p' conversion (pointer to void);
+ *		- if a string precision is specified
+ *		  make sure the string beyond the specified precision
+ *		  will not be referenced (e.g. by strlen);
+ * 1999-04-13	V1.2  Mark Martinec <mark.martinec at ijs.si>
+ *		- support synonyms %D=%ld, %U=%lu, %O=%lo;
+ *		- speed up the case of long format string with few conversions;
+ * 1999-06-30	V1.3  Mark Martinec <mark.martinec at ijs.si>
+ *		- fixed runaway loop (eventually crashing when str_l wraps
+ *		  beyond 2^31) while copying format string without
+ *		  conversion specifiers to a buffer that is too short
+ *		  (thanks to Edwin Young <edwiny at autonomy.com> for
+ *		  spotting the problem);
+ *		- added macros PORTABLE_SNPRINTF_VERSION_(MAJOR|MINOR)
+ *		  to snprintf.h
+ * 2000-02-14	V2.0 (never released) Mark Martinec <mark.martinec at ijs.si>
+ *		- relaxed license terms: The Artistic License now applies.
+ *		  You may still apply the GNU GENERAL PUBLIC LICENSE
+ *		  as was distributed with previous versions, if you prefer;
+ *		- changed REVISION HISTORY dates to use ISO 8601 date format;
+ *		- added vsnprintf (patch also independently proposed by
+ *		  Caolan McNamara 2000-05-04, and Keith M Willenson 2000-06-01)
+ * 2000-06-27	V2.1  Mark Martinec <mark.martinec at ijs.si>
+ *		- removed POSIX check for str_m<1; value 0 for str_m is
+ *		  allowed by ISO C99 (and GNU C library 2.1) - (pointed out
+ *		  on 2000-05-04 by Caolan McNamara, caolan@ csn dot ul dot ie).
+ *		  Besides relaxed license this change in standards adherence
+ *		  is the main reason to bump up the major version number;
+ *		- added nonstandard routines asnprintf, vasnprintf, asprintf,
+ *		  vasprintf that dynamically allocate storage for the
+ *		  resulting string; these routines are not compiled by default,
+ *		  see comments where NEED_V?ASN?PRINTF macros are defined;
+ *		- autoconf contributed by Caolan McNamara
+ * 2000-10-06	V2.2  Mark Martinec <mark.martinec at ijs.si>
+ *		- BUG FIX: the %c conversion used a temporary variable
+ *		  that was no longer in scope when referenced,
+ *		  possibly causing incorrect resulting character;
+ *		- BUG FIX: make precision and minimal field width unsigned
+ *		  to handle huge values (2^31 <= n < 2^32) correctly;
+ *		  also be more careful in the use of signed/unsigned/size_t
+ *		  internal variables - probably more careful than many
+ *		  vendor implementations, but there may still be a case
+ *		  where huge values of str_m, precision or minimal field
+ *		  could cause incorrect behaviour;
+ *		- use separate variables for signed/unsigned arguments,
+ *		  and for short/int, long, and long long argument lengths
+ *		  to avoid possible incompatibilities on certain
+ *		  computer architectures. Also use separate variable
+ *		  arg_sign to hold sign of a numeric argument,
+ *		  to make code more transparent;
+ *		- some fiddling with zero padding and "0x" to make it
+ *		  Linux compatible;
+ *		- systematically use macros fast_memcpy and fast_memset
+ *		  instead of case-by-case hand optimization; determine some
+ *		  breakeven string lengths for different architectures;
+ *		- terminology change: 'format' -> 'conversion specifier',
+ *		  'C9x' -> 'ISO/IEC 9899:1999 ("ISO C99")',
+ *		  'alternative form' -> 'alternate form',
+ *		  'data type modifier' -> 'length modifier';
+ *		- several comments rephrased and new ones added;
+ *		- make compiler not complain about 'credits' defined but
+ *		  not used;
+ */
+
+
+/* Define HAVE_SNPRINTF if your system already has snprintf and vsnprintf.
+ *
+ * If HAVE_SNPRINTF is defined this module will not produce code for
+ * snprintf and vsnprintf, unless PREFER_PORTABLE_SNPRINTF is defined as well,
+ * causing this portable version of snprintf to be called portable_snprintf
+ * (and portable_vsnprintf).
+ */
+/* #define HAVE_SNPRINTF */
+
+/* Define PREFER_PORTABLE_SNPRINTF if your system does have snprintf and
+ * vsnprintf but you would prefer to use the portable routine(s) instead.
+ * In this case the portable routine is declared as portable_snprintf
+ * (and portable_vsnprintf) and a macro 'snprintf' (and 'vsnprintf')
+ * is defined to expand to 'portable_v?snprintf' - see file snprintf.h .
+ * Defining this macro is only useful if HAVE_SNPRINTF is also defined,
+ * but does does no harm if defined nevertheless.
+ */
+/* #define PREFER_PORTABLE_SNPRINTF */
+
+/* Define SNPRINTF_LONGLONG_SUPPORT if you want to support
+ * data type (long long int) and length modifier 'll' (e.g. %lld).
+ * If undefined, 'll' is recognized but treated as a single 'l'.
+ *
+ * If the system's sprintf does not handle 'll'
+ * the SNPRINTF_LONGLONG_SUPPORT must not be defined!
+ *
+ * This is off by default as (long long int) is a language extension.
+ */
+/* #define SNPRINTF_LONGLONG_SUPPORT */
+
+/* Define NEED_SNPRINTF_ONLY if you only need snprintf, and not vsnprintf.
+ * If NEED_SNPRINTF_ONLY is defined, the snprintf will be defined directly,
+ * otherwise both snprintf and vsnprintf routines will be defined
+ * and snprintf will be a simple wrapper around vsnprintf, at the expense
+ * of an extra procedure call.
+ */
+/* #define NEED_SNPRINTF_ONLY */
+
+/* Define NEED_V?ASN?PRINTF macros if you need library extension
+ * routines asprintf, vasprintf, asnprintf, vasnprintf respectively,
+ * and your system library does not provide them. They are all small
+ * wrapper routines around portable_vsnprintf. Defining any of the four
+ * NEED_V?ASN?PRINTF macros automatically turns off NEED_SNPRINTF_ONLY
+ * and turns on PREFER_PORTABLE_SNPRINTF.
+ *
+ * Watch for name conflicts with the system library if these routines
+ * are already present there.
+ *
+ * NOTE: vasprintf and vasnprintf routines need va_copy() from stdarg.h, as
+ * specified by C99, to be able to traverse the same list of arguments twice.
+ * I don't know of any other standard and portable way of achieving the same.
+ * With some versions of gcc you may use __va_copy(). You might even get away
+ * with "ap2 = ap", in this case you must not call va_end(ap2) !
+ *   #define va_copy(ap2,ap) ap2 = ap
+ */
+/* #define NEED_ASPRINTF   */
+/* #define NEED_ASNPRINTF  */
+/* #define NEED_VASPRINTF  */
+/* #define NEED_VASNPRINTF */
+
+
+/* Define the following macros if desired:
+ *   SOLARIS_COMPATIBLE, SOLARIS_BUG_COMPATIBLE,
+ *   HPUX_COMPATIBLE, HPUX_BUG_COMPATIBLE, LINUX_COMPATIBLE,
+ *   DIGITAL_UNIX_COMPATIBLE, DIGITAL_UNIX_BUG_COMPATIBLE,
+ *   PERL_COMPATIBLE, PERL_BUG_COMPATIBLE,
+ *
+ * - For portable applications it is best not to rely on peculiarities
+ *   of a given implementation so it may be best not to define any
+ *   of the macros that select compatibility and to avoid features
+ *   that vary among the systems.
+ *
+ * - Selecting compatibility with more than one operating system
+ *   is not strictly forbidden but is not recommended.
+ *
+ * - 'x'_BUG_COMPATIBLE implies 'x'_COMPATIBLE .
+ *
+ * - 'x'_COMPATIBLE refers to (and enables) a behaviour that is
+ *   documented in a sprintf man page on a given operating system
+ *   and actually adhered to by the system's sprintf (but not on
+ *   most other operating systems). It may also refer to and enable
+ *   a behaviour that is declared 'undefined' or 'implementation specific'
+ *   in the man page but a given implementation behaves predictably
+ *   in a certain way.
+ *
+ * - 'x'_BUG_COMPATIBLE refers to (and enables) a behaviour of system's sprintf
+ *   that contradicts the sprintf man page on the same operating system.
+ *
+ * - I do not claim that the 'x'_COMPATIBLE and 'x'_BUG_COMPATIBLE
+ *   conditionals take into account all idiosyncrasies of a particular
+ *   implementation, there may be other incompatibilities.
+ */
+
+
+

+/* ============================================= */
+/* NO USER SERVICABLE PARTS FOLLOWING THIS POINT */
+/* ============================================= */
+
+#define PORTABLE_SNPRINTF_VERSION_MAJOR 2
+#define PORTABLE_SNPRINTF_VERSION_MINOR 2
+
+#if defined(NEED_ASPRINTF) || defined(NEED_ASNPRINTF) || defined(NEED_VASPRINTF) || defined(NEED_VASNPRINTF)
+# if defined(NEED_SNPRINTF_ONLY)
+# undef NEED_SNPRINTF_ONLY
+# endif
+# if !defined(PREFER_PORTABLE_SNPRINTF)
+# define PREFER_PORTABLE_SNPRINTF
+# endif
+#endif
+
+#if defined(SOLARIS_BUG_COMPATIBLE) && !defined(SOLARIS_COMPATIBLE)
+#define SOLARIS_COMPATIBLE
+#endif
+
+#if defined(HPUX_BUG_COMPATIBLE) && !defined(HPUX_COMPATIBLE)
+#define HPUX_COMPATIBLE
+#endif
+
+#if defined(DIGITAL_UNIX_BUG_COMPATIBLE) && !defined(DIGITAL_UNIX_COMPATIBLE)
+#define DIGITAL_UNIX_COMPATIBLE
+#endif
+
+#if defined(PERL_BUG_COMPATIBLE) && !defined(PERL_COMPATIBLE)
+#define PERL_COMPATIBLE
+#endif
+
+#if defined(LINUX_BUG_COMPATIBLE) && !defined(LINUX_COMPATIBLE)
+#define LINUX_COMPATIBLE
+#endif
+
+#include <sys/types.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <errno.h>
+
+#ifdef isdigit
+#undef isdigit
+#endif
+#define isdigit(c) ((c) >= '0' && (c) <= '9')
+
+/* For copying strings longer or equal to 'breakeven_point'
+ * it is more efficient to call memcpy() than to do it inline.
+ * The value depends mostly on the processor architecture,
+ * but also on the compiler and its optimization capabilities.
+ * The value is not critical, some small value greater than zero
+ * will be just fine if you don't care to squeeze every drop
+ * of performance out of the code.
+ *
+ * Small values favor memcpy, large values favor inline code.
+ */
+#if defined(__alpha__) || defined(__alpha)
+#  define breakeven_point   2	/* AXP (DEC Alpha)     - gcc or cc or egcs */
+#endif
+#if defined(__i386__)  || defined(__i386)
+#  define breakeven_point  12	/* Intel Pentium/Linux - gcc 2.96 */
+#endif
+#if defined(__hppa)
+#  define breakeven_point  10	/* HP-PA               - gcc */
+#endif
+#if defined(__sparc__) || defined(__sparc)
+#  define breakeven_point  33	/* Sun Sparc 5         - gcc 2.8.1 */
+#endif
+
+/* some other values of possible interest: */
+/* #define breakeven_point  8 */  /* VAX 4000          - vaxc */
+/* #define breakeven_point 19 */  /* VAX 4000          - gcc 2.7.0 */
+
+#ifndef breakeven_point
+#  define breakeven_point   6	/* some reasonable one-size-fits-all value */
+#endif
+
+#define fast_memcpy(d,s,n) \
+  { register size_t nn = (size_t)(n); \
+    if (nn >= breakeven_point) memcpy((d), (s), nn); \
+    else if (nn > 0) { /* proc call overhead is worth only for large strings*/\
+      register char *dd; register const char *ss; \
+      for (ss=(s), dd=(d); nn>0; nn--) *dd++ = *ss++; } }
+
+#define fast_memset(d,c,n) \
+  { register size_t nn = (size_t)(n); \
+    if (nn >= breakeven_point) memset((d), (int)(c), nn); \
+    else if (nn > 0) { /* proc call overhead is worth only for large strings*/\
+      register char *dd; register const int cc=(int)(c); \
+      for (dd=(d); nn>0; nn--) *dd++ = cc; } }
+
+/* prototypes */
+
+#if defined(NEED_ASPRINTF)
+int asprintf   (char **ptr, const char *fmt, /*args*/ ...);
+#endif
+#if defined(NEED_VASPRINTF)
+int vasprintf  (char **ptr, const char *fmt, va_list ap);
+#endif
+#if defined(NEED_ASNPRINTF)
+int asnprintf  (char **ptr, size_t str_m, const char *fmt, /*args*/ ...);
+#endif
+#if defined(NEED_VASNPRINTF)
+int vasnprintf (char **ptr, size_t str_m, const char *fmt, va_list ap);
+#endif
+
+#if defined(HAVE_SNPRINTF)
+/* declare our portable snprintf  routine under name portable_snprintf  */
+/* declare our portable vsnprintf routine under name portable_vsnprintf */
+#else
+/* declare our portable routines under names snprintf and vsnprintf */
+#define portable_snprintf snprintf
+#if !defined(NEED_SNPRINTF_ONLY)
+#define portable_vsnprintf vsnprintf
+#endif
+#endif
+
+#if !defined(HAVE_SNPRINTF) || defined(PREFER_PORTABLE_SNPRINTF)
+int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...);
+#if !defined(NEED_SNPRINTF_ONLY)
+int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap);
+#endif
+#endif
+
+/* declarations */
+
+static char credits[] = "\n\
+@(#)snprintf.c, v2.2: Mark Martinec, <mark.martinec at ijs.si>\n\
+@(#)snprintf.c, v2.2: Copyright 1999, Mark Martinec. Frontier Artistic License applies.\n\
+@(#)snprintf.c, v2.2: http://www.ijs.si/software/snprintf/\n";
+
+#if defined(NEED_ASPRINTF)
+int asprintf(char **ptr, const char *fmt, /*args*/ ...) {
+  va_list ap;
+  size_t str_m;
+  int str_l;
+
+  *ptr = NULL;
+  va_start(ap, fmt);                            /* measure the required size */
+  str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap);
+  va_end(ap);
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  *ptr = (char *) malloc(str_m = (size_t)str_l + 1);
+  if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+  else {
+    int str_l2;
+    va_start(ap, fmt);
+    str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+    va_end(ap);
+    assert(str_l2 == str_l);
+  }
+  return str_l;
+}
+#endif
+
+#if defined(NEED_VASPRINTF)
+int vasprintf(char **ptr, const char *fmt, va_list ap) {
+  size_t str_m;
+  int str_l;
+
+  *ptr = NULL;
+  { va_list ap2;
+    va_copy(ap2, ap);  /* don't consume the original ap, we'll need it again */
+    str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap2);/*get required size*/
+    va_end(ap2);
+  }
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  *ptr = (char *) malloc(str_m = (size_t)str_l + 1);
+  if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+  else {
+    int str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+    assert(str_l2 == str_l);
+  }
+  return str_l;
+}
+#endif
+
+#if defined(NEED_ASNPRINTF)
+int asnprintf (char **ptr, size_t str_m, const char *fmt, /*args*/ ...) {
+  va_list ap;
+  int str_l;
+
+  *ptr = NULL;
+  va_start(ap, fmt);                            /* measure the required size */
+  str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap);
+  va_end(ap);
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  if ((size_t)str_l + 1 < str_m) str_m = (size_t)str_l + 1;      /* truncate */
+  /* if str_m is 0, no buffer is allocated, just set *ptr to NULL */
+  if (str_m == 0) {  /* not interested in resulting string, just return size */
+  } else {
+    *ptr = (char *) malloc(str_m);
+    if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+    else {
+      int str_l2;
+      va_start(ap, fmt);
+      str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+      va_end(ap);
+      assert(str_l2 == str_l);
+    }
+  }
+  return str_l;
+}
+#endif
+
+#if defined(NEED_VASNPRINTF)
+int vasnprintf (char **ptr, size_t str_m, const char *fmt, va_list ap) {
+  int str_l;
+
+  *ptr = NULL;
+  { va_list ap2;
+    va_copy(ap2, ap);  /* don't consume the original ap, we'll need it again */
+    str_l = portable_vsnprintf(NULL, (size_t)0, fmt, ap2);/*get required size*/
+    va_end(ap2);
+  }
+  assert(str_l >= 0);        /* possible integer overflow if str_m > INT_MAX */
+  if ((size_t)str_l + 1 < str_m) str_m = (size_t)str_l + 1;      /* truncate */
+  /* if str_m is 0, no buffer is allocated, just set *ptr to NULL */
+  if (str_m == 0) {  /* not interested in resulting string, just return size */
+  } else {
+    *ptr = (char *) malloc(str_m);
+    if (*ptr == NULL) { errno = ENOMEM; str_l = -1; }
+    else {
+      int str_l2 = portable_vsnprintf(*ptr, str_m, fmt, ap);
+      assert(str_l2 == str_l);
+    }
+  }
+  return str_l;
+}
+#endif
+
+/*
+ * If the system does have snprintf and the portable routine is not
+ * specifically required, this module produces no code for snprintf/vsnprintf.
+ */
+#if !defined(HAVE_SNPRINTF) || defined(PREFER_PORTABLE_SNPRINTF)
+
+#if !defined(NEED_SNPRINTF_ONLY)
+int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...) {
+  va_list ap;
+  int str_l;
+
+  va_start(ap, fmt);
+  str_l = portable_vsnprintf(str, str_m, fmt, ap);
+  va_end(ap);
+  return str_l;
+}
+#endif
+
+#if defined(NEED_SNPRINTF_ONLY)
+int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...) {
+#else
+int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap) {
+#endif
+
+#if defined(NEED_SNPRINTF_ONLY)
+  va_list ap;
+#endif
+  size_t str_l = 0;
+  const char *p = fmt;
+
+/* In contrast with POSIX, the ISO C99 now says
+ * that str can be NULL and str_m can be 0.
+ * This is more useful than the old:  if (str_m < 1) return -1; */
+
+#if defined(NEED_SNPRINTF_ONLY)
+  va_start(ap, fmt);
+#endif
+  if (!p) p = "";
+  while (*p) {
+    if (*p != '%') {
+   /* if (str_l < str_m) str[str_l++] = *p++;    -- this would be sufficient */
+   /* but the following code achieves better performance for cases
+    * where format string is long and contains few conversions */
+      const char *q = strchr(p+1,'%');
+      size_t n = !q ? strlen(p) : (q-p);
+      if (str_l < str_m) {
+        size_t avail = str_m-str_l;
+        fast_memcpy(str+str_l, p, (n>avail?avail:n));
+      }
+      p += n; str_l += n;
+    } else {
+      const char *starting_p;
+      size_t min_field_width = 0, precision = 0;
+      int zero_padding = 0, precision_specified = 0, justify_left = 0;
+      int alternate_form = 0, force_sign = 0;
+      int space_for_positive = 1; /* If both the ' ' and '+' flags appear,
+                                     the ' ' flag should be ignored. */
+      char length_modifier = '\0';            /* allowed values: \0, h, l, L */
+      char tmp[32];/* temporary buffer for simple numeric->string conversion */
+
+      const char *str_arg;      /* string address in case of string argument */
+      size_t str_arg_l;         /* natural field width of arg without padding
+                                   and sign */
+      unsigned char uchar_arg;
+        /* unsigned char argument value - only defined for c conversion.
+           N.B. standard explicitly states the char argument for
+           the c conversion is unsigned */
+
+      size_t number_of_zeros_to_pad = 0;
+        /* number of zeros to be inserted for numeric conversions
+           as required by the precision or minimal field width */
+
+      size_t zero_padding_insertion_ind = 0;
+        /* index into tmp where zero padding is to be inserted */
+
+      char fmt_spec = '\0';
+        /* current conversion specifier character */
+
+      str_arg = credits;/* just to make compiler happy (defined but not used)*/
+      str_arg = NULL;
+      starting_p = p; p++;  /* skip '%' */
+   /* parse flags */
+      while (*p == '0' || *p == '-' || *p == '+' ||
+             *p == ' ' || *p == '#' || *p == '\'') {
+        switch (*p) {
+        case '0': zero_padding = 1; break;
+        case '-': justify_left = 1; break;
+        case '+': force_sign = 1; space_for_positive = 0; break;
+        case ' ': force_sign = 1;
+     /* If both the ' ' and '+' flags appear, the ' ' flag should be ignored */
+#ifdef PERL_COMPATIBLE
+     /* ... but in Perl the last of ' ' and '+' applies */
+                  space_for_positive = 1;
+#endif
+                  break;
+        case '#': alternate_form = 1; break;
+        case '\'': break;
+        }
+        p++;
+      }
+   /* If the '0' and '-' flags both appear, the '0' flag should be ignored. */
+
+   /* parse field width */
+      if (*p == '*') {
+        int j;
+        p++; j = va_arg(ap, int);
+        if (j >= 0) min_field_width = j;
+        else { min_field_width = -j; justify_left = 1; }
+      } else if (isdigit((int)(*p))) {
+        /* size_t could be wider than unsigned int;
+           make sure we treat argument like common implementations do */
+        unsigned int uj = *p++ - '0';
+        while (isdigit((int)(*p))) uj = 10*uj + (unsigned int)(*p++ - '0');
+        min_field_width = uj;
+      }
+   /* parse precision */
+      if (*p == '.') {
+        p++; precision_specified = 1;
+        if (*p == '*') {
+          int j = va_arg(ap, int);
+          p++;
+          if (j >= 0) precision = j;
+          else {
+            precision_specified = 0; precision = 0;
+         /* NOTE:
+          *   Solaris 2.6 man page claims that in this case the precision
+          *   should be set to 0.  Digital Unix 4.0, HPUX 10 and BSD man page
+          *   claim that this case should be treated as unspecified precision,
+          *   which is what we do here.
+          */
+          }
+        } else if (isdigit((int)(*p))) {
+          /* size_t could be wider than unsigned int;
+             make sure we treat argument like common implementations do */
+          unsigned int uj = *p++ - '0';
+          while (isdigit((int)(*p))) uj = 10*uj + (unsigned int)(*p++ - '0');
+          precision = uj;
+        }
+      }
+   /* parse 'h', 'l' and 'll' length modifiers */
+      if (*p == 'h' || *p == 'l') {
+        length_modifier = *p; p++;
+        if (length_modifier == 'l' && *p == 'l') {   /* double l = long long */
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+          length_modifier = '2';                  /* double l encoded as '2' */
+#else
+          length_modifier = 'l';                 /* treat it as a single 'l' */
+#endif
+          p++;
+        }
+      }
+      fmt_spec = *p;
+   /* common synonyms: */
+      switch (fmt_spec) {
+      case 'i': fmt_spec = 'd'; break;
+      case 'D': fmt_spec = 'd'; length_modifier = 'l'; break;
+      case 'U': fmt_spec = 'u'; length_modifier = 'l'; break;
+      case 'O': fmt_spec = 'o'; length_modifier = 'l'; break;
+      default: break;
+      }
+   /* get parameter value, do initial processing */
+      switch (fmt_spec) {
+      case '%': /* % behaves similar to 's' regarding flags and field widths */
+      case 'c': /* c behaves similar to 's' regarding flags and field widths */
+      case 's':
+        length_modifier = '\0';          /* wint_t and wchar_t not supported */
+     /* the result of zero padding flag with non-numeric conversion specifier*/
+     /* is undefined. Solaris and HPUX 10 does zero padding in this case,    */
+     /* Digital Unix and Linux does not. */
+#if !defined(SOLARIS_COMPATIBLE) && !defined(HPUX_COMPATIBLE)
+        zero_padding = 0;    /* turn zero padding off for string conversions */
+#endif
+        str_arg_l = 1;
+        switch (fmt_spec) {
+        case '%':
+          str_arg = p; break;
+        case 'c': {
+          int j = va_arg(ap, int);
+          uchar_arg = (unsigned char) j;   /* standard demands unsigned char */
+          str_arg = (const char *) &uchar_arg;
+          break;
+        }
+        case 's':
+          str_arg = va_arg(ap, const char *);
+          if (!str_arg) str_arg_l = 0;
+       /* make sure not to address string beyond the specified precision !!! */
+          else if (!precision_specified) str_arg_l = strlen(str_arg);
+       /* truncate string if necessary as requested by precision */
+          else if (precision == 0) str_arg_l = 0;
+          else {
+       /* memchr on HP does not like n > 2^31  !!! */
+            const char *q = memchr(str_arg, '\0',
+                             precision <= 0x7fffffff ? precision : 0x7fffffff);
+            str_arg_l = !q ? precision : (q-str_arg);
+          }
+          break;
+        default: break;
+        }
+        break;
+      case 'd': case 'u': case 'o': case 'x': case 'X': case 'p': {
+        /* NOTE: the u, o, x, X and p conversion specifiers imply
+                 the value is unsigned;  d implies a signed value */
+
+        int arg_sign = 0;
+          /* 0 if numeric argument is zero (or if pointer is NULL for 'p'),
+            +1 if greater than zero (or nonzero for unsigned arguments),
+            -1 if negative (unsigned argument is never negative) */
+
+        int int_arg = 0;  unsigned int uint_arg = 0;
+          /* only defined for length modifier h, or for no length modifiers */
+
+        long int long_arg = 0;  unsigned long int ulong_arg = 0;
+          /* only defined for length modifier l */
+
+        void *ptr_arg = NULL;
+          /* pointer argument value -only defined for p conversion */
+
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+        long long int long_long_arg = 0;
+        unsigned long long int ulong_long_arg = 0;
+          /* only defined for length modifier ll */
+#endif
+        if (fmt_spec == 'p') {
+        /* HPUX 10: An l, h, ll or L before any other conversion character
+         *   (other than d, i, u, o, x, or X) is ignored.
+         * Digital Unix:
+         *   not specified, but seems to behave as HPUX does.
+         * Solaris: If an h, l, or L appears before any other conversion
+         *   specifier (other than d, i, u, o, x, or X), the behavior
+         *   is undefined. (Actually %hp converts only 16-bits of address
+         *   and %llp treats address as 64-bit data which is incompatible
+         *   with (void *) argument on a 32-bit system).
+         */
+#ifdef SOLARIS_COMPATIBLE
+#  ifdef SOLARIS_BUG_COMPATIBLE
+          /* keep length modifiers even if it represents 'll' */
+#  else
+          if (length_modifier == '2') length_modifier = '\0';
+#  endif
+#else
+          length_modifier = '\0';
+#endif
+          ptr_arg = va_arg(ap, void *);
+          if (ptr_arg != NULL) arg_sign = 1;
+        } else if (fmt_spec == 'd') {  /* signed */
+          switch (length_modifier) {
+          case '\0':
+          case 'h':
+         /* It is non-portable to specify a second argument of char or short
+          * to va_arg, because arguments seen by the called function
+          * are not char or short.  C converts char and short arguments
+          * to int before passing them to a function.
+          */
+            int_arg = va_arg(ap, int);
+            if      (int_arg > 0) arg_sign =  1;
+            else if (int_arg < 0) arg_sign = -1;
+            break;
+          case 'l':
+            long_arg = va_arg(ap, long int);
+            if      (long_arg > 0) arg_sign =  1;
+            else if (long_arg < 0) arg_sign = -1;
+            break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+          case '2':
+            long_long_arg = va_arg(ap, long long int);
+            if      (long_long_arg > 0) arg_sign =  1;
+            else if (long_long_arg < 0) arg_sign = -1;
+            break;
+#endif
+          }
+        } else {  /* unsigned */
+          switch (length_modifier) {
+          case '\0':
+          case 'h':
+            uint_arg = va_arg(ap, unsigned int);
+            if (uint_arg) arg_sign = 1;
+            break;
+          case 'l':
+            ulong_arg = va_arg(ap, unsigned long int);
+            if (ulong_arg) arg_sign = 1;
+            break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+          case '2':
+            ulong_long_arg = va_arg(ap, unsigned long long int);
+            if (ulong_long_arg) arg_sign = 1;
+            break;
+#endif
+          }
+        }
+        str_arg = tmp; str_arg_l = 0;
+     /* NOTE:
+      *   For d, i, u, o, x, and X conversions, if precision is specified,
+      *   the '0' flag should be ignored. This is so with Solaris 2.6,
+      *   Digital UNIX 4.0, HPUX 10, Linux, FreeBSD, NetBSD; but not with Perl.
+      */
+#ifndef PERL_COMPATIBLE
+        if (precision_specified) zero_padding = 0;
+#endif
+        if (fmt_spec == 'd') {
+          if (force_sign && arg_sign >= 0)
+            tmp[str_arg_l++] = space_for_positive ? ' ' : '+';
+         /* leave negative numbers for sprintf to handle,
+            to avoid handling tricky cases like (short int)(-32768) */
+#ifdef LINUX_COMPATIBLE
+        } else if (fmt_spec == 'p' && force_sign && arg_sign > 0) {
+          tmp[str_arg_l++] = space_for_positive ? ' ' : '+';
+#endif
+        } else if (alternate_form) {
+          if (arg_sign != 0 && (fmt_spec == 'x' || fmt_spec == 'X') )
+            { tmp[str_arg_l++] = '0'; tmp[str_arg_l++] = fmt_spec; }
+         /* alternate form should have no effect for p conversion, but ... */
+#ifdef HPUX_COMPATIBLE
+          else if (fmt_spec == 'p'
+         /* HPUX 10: for an alternate form of p conversion,
+          *          a nonzero result is prefixed by 0x. */
+#ifndef HPUX_BUG_COMPATIBLE
+         /* Actually it uses 0x prefix even for a zero value. */
+                   && arg_sign != 0
+#endif
+                  ) { tmp[str_arg_l++] = '0'; tmp[str_arg_l++] = 'x'; }
+#endif
+        }
+        zero_padding_insertion_ind = str_arg_l;
+        if (!precision_specified) precision = 1;   /* default precision is 1 */
+        if (precision == 0 && arg_sign == 0
+#if defined(HPUX_BUG_COMPATIBLE) || defined(LINUX_COMPATIBLE)
+            && fmt_spec != 'p'
+         /* HPUX 10 man page claims: With conversion character p the result of
+          * converting a zero value with a precision of zero is a null string.
+          * Actually HP returns all zeroes, and Linux returns "(nil)". */
+#endif
+        ) {
+         /* converted to null string */
+         /* When zero value is formatted with an explicit precision 0,
+            the resulting formatted string is empty (d, i, u, o, x, X, p).   */
+        } else {
+          char f[5]; int f_l = 0;
+          f[f_l++] = '%';    /* construct a simple format string for sprintf */
+          if (!length_modifier) { }
+          else if (length_modifier=='2') { f[f_l++] = 'l'; f[f_l++] = 'l'; }
+          else f[f_l++] = length_modifier;
+          f[f_l++] = fmt_spec; f[f_l++] = '\0';
+          if (fmt_spec == 'p') str_arg_l += sprintf(tmp+str_arg_l, f, ptr_arg);
+          else if (fmt_spec == 'd') {  /* signed */
+            switch (length_modifier) {
+            case '\0':
+            case 'h': str_arg_l+=sprintf(tmp+str_arg_l, f, int_arg);  break;
+            case 'l': str_arg_l+=sprintf(tmp+str_arg_l, f, long_arg); break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+            case '2': str_arg_l+=sprintf(tmp+str_arg_l,f,long_long_arg); break;
+#endif
+            }
+          } else {  /* unsigned */
+            switch (length_modifier) {
+            case '\0':
+            case 'h': str_arg_l+=sprintf(tmp+str_arg_l, f, uint_arg);  break;
+            case 'l': str_arg_l+=sprintf(tmp+str_arg_l, f, ulong_arg); break;
+#ifdef SNPRINTF_LONGLONG_SUPPORT
+            case '2': str_arg_l+=sprintf(tmp+str_arg_l,f,ulong_long_arg);break;
+#endif
+            }
+          }
+         /* include the optional minus sign and possible "0x"
+            in the region before the zero padding insertion point */
+          if (zero_padding_insertion_ind < str_arg_l &&
+              tmp[zero_padding_insertion_ind] == '-') {
+            zero_padding_insertion_ind++;
+          }
+          if (zero_padding_insertion_ind+1 < str_arg_l &&
+              tmp[zero_padding_insertion_ind]   == '0' &&
+             (tmp[zero_padding_insertion_ind+1] == 'x' ||
+              tmp[zero_padding_insertion_ind+1] == 'X') ) {
+            zero_padding_insertion_ind += 2;
+          }
+        }
+        { size_t num_of_digits = str_arg_l - zero_padding_insertion_ind;
+          if (alternate_form && fmt_spec == 'o'
+#ifdef HPUX_COMPATIBLE                                  /* ("%#.o",0) -> ""  */
+              && (str_arg_l > 0)
+#endif
+#ifdef DIGITAL_UNIX_BUG_COMPATIBLE                      /* ("%#o",0) -> "00" */
+#else
+              /* unless zero is already the first character */
+              && !(zero_padding_insertion_ind < str_arg_l
+                   && tmp[zero_padding_insertion_ind] == '0')
+#endif
+          ) {        /* assure leading zero for alternate-form octal numbers */
+            if (!precision_specified || precision < num_of_digits+1) {
+             /* precision is increased to force the first character to be zero,
+                except if a zero value is formatted with an explicit precision
+                of zero */
+              precision = num_of_digits+1; precision_specified = 1;
+            }
+          }
+       /* zero padding to specified precision? */
+          if (num_of_digits < precision) 
+            number_of_zeros_to_pad = precision - num_of_digits;
+        }
+     /* zero padding to specified minimal field width? */
+        if (!justify_left && zero_padding) {
+          int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
+          if (n > 0) number_of_zeros_to_pad += n;
+        }
+        break;
+      }
+      default: /* unrecognized conversion specifier, keep format string as-is*/
+        zero_padding = 0;  /* turn zero padding off for non-numeric convers. */
+#ifndef DIGITAL_UNIX_COMPATIBLE
+        justify_left = 1; min_field_width = 0;                /* reset flags */
+#endif
+#if defined(PERL_COMPATIBLE) || defined(LINUX_COMPATIBLE)
+     /* keep the entire format string unchanged */
+        str_arg = starting_p; str_arg_l = p - starting_p;
+     /* well, not exactly so for Linux, which does something inbetween,
+      * and I don't feel an urge to imitate it: "%+++++hy" -> "%+y"  */
+#else
+     /* discard the unrecognized conversion, just keep *
+      * the unrecognized conversion character          */
+        str_arg = p; str_arg_l = 0;
+#endif
+        if (*p) str_arg_l++;  /* include invalid conversion specifier unchanged
+                                 if not at end-of-string */
+        break;
+      }
+      if (*p) p++;      /* step over the just processed conversion specifier */
+   /* insert padding to the left as requested by min_field_width;
+      this does not include the zero padding in case of numerical conversions*/
+      if (!justify_left) {                /* left padding with blank or zero */
+        int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memset(str+str_l, (zero_padding?'0':' '), (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+   /* zero padding as requested by the precision or by the minimal field width
+    * for numeric conversions required? */
+      if (number_of_zeros_to_pad <= 0) {
+     /* will not copy first part of numeric right now, *
+      * force it to be copied later in its entirety    */
+        zero_padding_insertion_ind = 0;
+      } else {
+     /* insert first part of numerics (sign or '0x') before zero padding */
+        int n = zero_padding_insertion_ind;
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memcpy(str+str_l, str_arg, (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+     /* insert zero padding as requested by the precision or min field width */
+        n = number_of_zeros_to_pad;
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memset(str+str_l, '0', (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+   /* insert formatted string
+    * (or as-is conversion specifier for unknown conversions) */
+      { int n = str_arg_l - zero_padding_insertion_ind;
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memcpy(str+str_l, str_arg+zero_padding_insertion_ind,
+                        (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+   /* insert right padding */
+      if (justify_left) {          /* right blank padding to the field width */
+        int n = min_field_width - (str_arg_l+number_of_zeros_to_pad);
+        if (n > 0) {
+          if (str_l < str_m) {
+            size_t avail = str_m-str_l;
+            fast_memset(str+str_l, ' ', (n>avail?avail:n));
+          }
+          str_l += n;
+        }
+      }
+    }
+  }
+#if defined(NEED_SNPRINTF_ONLY)
+  va_end(ap);
+#endif
+  if (str_m > 0) { /* make sure the string is null-terminated
+                      even at the expense of overwriting the last character
+                      (shouldn't happen, but just in case) */
+    str[str_l <= str_m-1 ? str_l : str_m-1] = '\0';
+  }
+  /* Return the number of characters formatted (excluding trailing null
+   * character), that is, the number of characters that would have been
+   * written to the buffer if it were large enough.
+   *
+   * The value of str_l should be returned, but str_l is of unsigned type
+   * size_t, and snprintf is int, possibly leading to an undetected
+   * integer overflow, resulting in a negative return value, which is illegal.
+   * Both XSH5 and ISO C99 (at least the draft) are silent on this issue.
+   * Should errno be set to EOVERFLOW and EOF returned in this case???
+   */
+  return (int) str_l;
+}
+#endif
diff --git a/apertium/win32/snprintf.h b/apertium/win32/snprintf.h
new file mode 100644
index 0000000..70ec841
--- /dev/null
+++ b/apertium/win32/snprintf.h
@@ -0,0 +1,26 @@
+#ifndef _PORTABLE_SNPRINTF_H_
+#define _PORTABLE_SNPRINTF_H_
+
+#define PORTABLE_SNPRINTF_VERSION_MAJOR 2
+#define PORTABLE_SNPRINTF_VERSION_MINOR 2
+
+#ifdef HAVE_SNPRINTF
+#include <stdio.h>
+#else
+extern int snprintf(char *, size_t, const char *, /*args*/ ...);
+extern int vsnprintf(char *, size_t, const char *, va_list);
+#endif
+
+#if defined(HAVE_SNPRINTF) && defined(PREFER_PORTABLE_SNPRINTF)
+extern int portable_snprintf(char *str, size_t str_m, const char *fmt, /*args*/ ...);
+extern int portable_vsnprintf(char *str, size_t str_m, const char *fmt, va_list ap);
+#define snprintf  portable_snprintf
+#define vsnprintf portable_vsnprintf
+#endif
+
+extern int asprintf  (char **ptr, const char *fmt, /*args*/ ...);
+extern int vasprintf (char **ptr, const char *fmt, va_list ap);
+extern int asnprintf (char **ptr, size_t str_m, const char *fmt, /*args*/ ...);
+extern int vasnprintf(char **ptr, size_t str_m, const char *fmt, va_list ap);
+
+#endif
diff --git a/apertium/win32/unistd.h b/apertium/win32/unistd.h
new file mode 100644
index 0000000..5ec9ab4
--- /dev/null
+++ b/apertium/win32/unistd.h
@@ -0,0 +1,13 @@
+// This should really be defined elsewhere
+#define YY_INPUT(buf,result,max_size) \
+	if ( (result = fread( (char *) buf, 1, max_size, yyin )) < 0 ) \
+		YY_FATAL_ERROR( "input in flex scanner failed" );
+
+#define fileno _fileno
+
+#if defined(_WIN32) && defined(isatty)
+#undef isatty
+#define isatty _isatty
+#endif
+
+#define unlink _unlink
diff --git a/apertium/xsd/transfer.xsd b/apertium/xsd/transfer.xsd
new file mode 100644
index 0000000..25bebf1
--- /dev/null
+++ b/apertium/xsd/transfer.xsd
@@ -0,0 +1,1049 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+  <!-- Elements grouped by their "supertype" -->
+  <xs:group name="condition">
+    <xs:choice>
+      <xs:element ref="and"/>
+      <xs:element ref="or"/>
+      <xs:element ref="not"/>
+      <xs:element ref="equal"/>
+      <xs:element ref="begins-with"/>
+      <xs:element ref="begins-with-list"/>
+      <xs:element ref="ends-with"/>
+      <xs:element ref="ends-with-list"/>
+      <xs:element ref="contains-substring"/>
+      <xs:element ref="in"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="container">
+    <xs:choice>
+      <xs:element ref="var"/>
+      <xs:element ref="clip"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="sentence">
+    <xs:choice>
+      <xs:element ref="let"/>
+      <xs:element ref="out"/>
+      <xs:element ref="choose"/>
+      <xs:element ref="modify-case"/>
+      <xs:element ref="call-macro"/>
+      <xs:element ref="append"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="value">
+    <xs:choice>
+      <xs:element ref="b"/>
+      <xs:element ref="clip"/>
+      <xs:element ref="lit"/>
+      <xs:element ref="lit-tag"/>
+      <xs:element ref="var"/>
+      <xs:element ref="get-case-from"/>
+      <xs:element ref="case-of"/>
+      <xs:element ref="concat"/>
+      <xs:element ref="lu"/>
+      <xs:element ref="mlu"/>
+      <xs:element ref="chunk"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="stringvalue">
+    <xs:choice>
+      <xs:element ref="clip"/>
+      <xs:element ref="lit"/>
+      <xs:element ref="var"/>
+      <xs:element ref="get-case-from"/>
+      <xs:element ref="case-of"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="outputable">
+    <xs:choice>
+      <xs:element ref="mlu"/>
+      <xs:element ref="lu"/>
+      <xs:element ref="b"/>
+      <xs:element ref="chunk"/>
+      <xs:element ref="var"/>
+    </xs:choice>
+  </xs:group>
+
+  <xs:element name="transfer" type="transfer_t"> <!-- the transfer_t is added for XSD code generation -->
+    <xs:keyref name="category_name_reference" refer="category_name">
+      <xs:selector xpath=".//pattern-item" />
+      <xs:field xpath="@n" />
+    </xs:keyref>
+    <xs:keyref name="list_name_reference" refer="list_name">
+      <xs:selector xpath=".//list" />
+      <xs:field xpath="@n" />
+    </xs:keyref>
+    <xs:keyref name="macro_name_reference" refer="macro_name">
+      <xs:selector xpath=".//call-macro" />
+      <xs:field xpath="@n" />
+    </xs:keyref>
+    <!--
+	TODO: So far cant' think of a way to express this constraint, since in
+	addition to a reference to an section-def-attrs/def-attr/@n the attribute can also be
+	"lemma","lemh","lemq","whole".
+    -->   
+    <!--xs:keyref name="attribute_name_reference" refer="attribute_name">
+      <xs:selector xpath=".//clip" />
+      <xs:field xpath="@part" />
+    </xs:keyref-->
+    <xs:keyref name="variable_name_reference" refer="variable_name">
+      <xs:selector xpath=".//var" />
+      <xs:field xpath="@n" />
+    </xs:keyref>
+  </xs:element>
+  <xs:annotation>
+    <xs:documentation>
+      'transfer' is the root element containing the whole structural
+      transfer rule file.  Attribute 'default' specifies if
+      unmatched words have to be written as lexical units ("lu", this is
+      the default value) or as chunks ("chunk").
+    </xs:documentation>
+  </xs:annotation>    
+  <xs:complexType name="transfer_t">
+    <xs:sequence>
+      <xs:element ref="section-def-cats"/>
+      <xs:element ref="section-def-attrs" minOccurs="0" />
+      <xs:element ref="section-def-vars" minOccurs="0" />
+      <xs:element ref="section-def-lists" minOccurs="0" />
+      <xs:element ref="section-def-macros" minOccurs="0" />
+      <xs:element ref="section-rules"/>
+    </xs:sequence>
+    <xs:attribute name="default" use="optional">
+      <xs:simpleType>
+        <xs:restriction base="xs:string">
+          <xs:enumeration value="lu"/>
+          <xs:enumeration value="chunk"/>
+        </xs:restriction>
+      </xs:simpleType>
+    </xs:attribute>
+  </xs:complexType>
+  
+
+  <xs:element name="section-def-cats">
+    <xs:annotation>
+      <xs:documentation>
+	The 'def-cats' section defines the categories used to build the
+	patterns used in rules
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="def-cat" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+    <xs:unique name="category_name">
+      <xs:selector xpath="def-cat" />
+      <xs:field xpath="@n" />
+    </xs:unique>
+  </xs:element>
+
+  <xs:element name="def-cat">
+    <xs:annotation>
+      <xs:documentation>
+	Each 'def-cat' defines one category in terms of a list of
+	category items and has a unique name 'n', which is mandatory
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="cat-item" maxOccurs="unbounded"/>
+      </xs:sequence>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="cat-item">
+    <xs:annotation>
+      <xs:documentation>
+	Each 'cat-item' (category item) represents a set of lexical forms
+	and has a mandatory attribute 'tags' whose value is a sequence of
+	dot-separated tag names; this sequence is a subsequence of the
+	tag sequence defining each possible lexical form. For example,
+	tags="n.f" would match all lexical forms containing this tag
+	sequence, such as "^casa<n><f><pl>$".
+	
+	In addition, an optional attribute, "lemma", may be used to
+	define lexical forms having a particular substring in their lemma	
+      </xs:documentation>      
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="lemma" type="xs:string" use="optional"/>
+      <xs:attribute name="tags" type="xs:string" use="required"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="section-def-attrs">
+    <xs:annotation>
+      <xs:documentation>
+	The 'def-attrs' section defines the attributes that will be
+	identified in matched lexical forms 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="def-attr" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+    <xs:unique name="attribute_name">
+      <xs:selector xpath="def-attr" />
+      <xs:field xpath="@n" />
+    </xs:unique>
+  </xs:element>
+  
+  <xs:element name="def-attr">
+    <xs:annotation>
+      <xs:documentation>
+	Each def-attr defines one attribute in terms of a list of
+	attribute items and has a mandatory unique name n 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="attr-item" maxOccurs="unbounded"/>
+      </xs:sequence>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="attr-item">
+    <xs:annotation>
+      <xs:documentation>
+	Each 'attr-item' specifies a subsequence of the tags in
+	that lexical form (attribute 'tags')
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="tags" type="xs:string" use="optional"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="section-def-vars">
+    <xs:annotation>
+      <xs:documentation>
+	The 'def-vars' section defines the global variables
+	that will be used to transfer information between rules
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="def-var" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+    <xs:unique name="variable_name">
+      <xs:selector xpath="def-var" />
+      <xs:field xpath="@n" />    
+    </xs:unique>
+  </xs:element>
+
+  <xs:element name="def-var">
+    <xs:annotation>
+      <xs:documentation>
+	The definition of a global variable has a mandatory unique name 'n' that
+	will be used to refer to it. A value of initialization can also be specified
+	by means the 'v' attribute.  The default value of the initialization is the
+	empty string.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+      <xs:attribute name="v" type="xs:string" use="optional"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="section-def-lists">
+    <xs:annotation>
+      <xs:documentation>
+	Element 'section-def-lists' encloses a set of list definitions
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence maxOccurs="unbounded">
+        <xs:element ref="def-list"/>
+      </xs:sequence>
+    </xs:complexType>
+    <xs:unique name="list_name">
+      <xs:selector xpath="def-list" />
+      <xs:field xpath="@n" />    
+    </xs:unique>
+  </xs:element>
+
+  <xs:element name="def-list">
+    <xs:annotation>
+      <xs:documentation>
+	The 'def-list' element defines a named list to search with the 'in' 
+	element.  Attribute 'n' sets the name of the list
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="list-item" maxOccurs="unbounded"/>
+      </xs:sequence>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="list-item">
+    <xs:annotation>
+      <xs:documentation>
+	Attribute 'v' of 'list-item' element contains the value to be added to 
+	the list being defined     
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="v" type="xs:string" use="required"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="section-def-macros">
+    <xs:annotation>
+      <xs:documentation>
+	The 'def-macros' section defines macros containing portions of
+	code frequently used in the action part of rules
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence maxOccurs="unbounded">
+        <xs:element ref="def-macro"/>
+      </xs:sequence>
+    </xs:complexType>
+    <xs:unique name="macro_name">
+      <xs:selector xpath="def-macro" />
+      <xs:field xpath="@n" />    
+    </xs:unique>
+  </xs:element>
+
+  <xs:element name="def-macro">
+    <xs:annotation>
+      <xs:documentation>
+	Macro definition:
+	
+	A macro has a mandatory name (the value of 'n'), a number of parameters
+	(the value of 'npar') and a body containing arguments and statements.  
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence minOccurs="1" maxOccurs="unbounded">
+        <xs:group ref="sentence"/>
+      </xs:sequence>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+      <xs:attribute name="npar" type="xs:string" use="required"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="section-rules">
+    <xs:annotation>
+      <xs:documentation>
+	The rules section contains a sequence of one or more rules
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="rule" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="rule">
+    <xs:annotation>
+      <xs:documentation>
+	Each rule has a pattern and an action 
+	* attribute 'comment' allows to put in comments about the purpose of
+        the rule being defined
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="pattern"/>
+        <xs:element ref="action"/>
+      </xs:sequence>
+      <xs:attribute name="comment" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="pattern">
+    <xs:annotation>
+      <xs:documentation>
+	The pattern is specified in terms of pattern items, each one
+	representing a lexical form in the matched pattern 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="pattern-item" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="pattern-item">
+    <xs:annotation>
+      <xs:documentation>
+	Each attribute to be activated is referred to by its name in the def-cats section 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="action">
+    <xs:annotation>
+      <xs:documentation>
+	Encloses the procedural part of a rule
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence minOccurs="0" maxOccurs="unbounded">
+        <xs:group ref="sentence"/>
+      </xs:sequence>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="choose">
+    <xs:annotation>
+      <xs:documentation>
+	The choose statement is a selection statement (similar to a case
+	statement) composed of one or more tested cases and an optional
+	otherwise 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="when" maxOccurs="unbounded"/>
+        <xs:element ref="otherwise" minOccurs="0" maxOccurs="1"/>
+      </xs:sequence>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="when">
+    <xs:annotation>
+      <xs:documentation>
+	Each tested case is a block of zero or more statements 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="test"/>
+        <xs:sequence minOccurs="0" maxOccurs="unbounded">
+          <xs:group ref="sentence"/>
+        </xs:sequence>
+      </xs:sequence>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="otherwise">
+    <xs:annotation>
+      <xs:documentation>
+	The otherwise case is also a block of one or more statements 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence minOccurs="1" maxOccurs="unbounded">
+        <xs:group ref="sentence"/>        
+      </xs:sequence>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="test">
+    <xs:annotation>
+      <xs:documentation>
+	The test in a tested case may be a conjunction, a disjunction, or
+	a negation of simpler tests, as well as a simple equality test
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:group ref="condition"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="and">
+    <xs:annotation>
+      <xs:documentation>
+	Each conjuntion test contains two or more simpler tests 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+	<xs:group ref="condition"/>
+	<xs:group ref="condition" minOccurs="1" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="or">
+    <xs:annotation>
+      <xs:documentation>
+	Each disjunction test contains two or more simpler tests 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+	<xs:group ref="condition"/>
+	<xs:group ref="condition" minOccurs="1" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="not">
+    <xs:annotation>
+      <xs:documentation>
+	The negation of a simpler test is a test itself 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:group ref="condition"/>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="equal">
+    <xs:annotation>
+      <xs:documentation>
+	The simplest test is an equality test. The right part and the
+	left part of the equality may both be a clip (see below), a
+	literal string ('lit'), a literal tag ('lit-tag') or the value of 
+	a variable ('var') defined in the def-vars section.  When the attribute
+	'caseless' is set to 'yes', the comparison is made without attending
+	to the case.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="value"/>
+        <xs:group ref="value"/>
+      </xs:sequence>
+      <xs:attribute name="caseless" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="yes"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="begins-with">
+    <xs:annotation>
+      <xs:documentation>
+	Tests if the left part contains the right part at the beginning.
+	Both parts of the test may both be a clip (see below), a
+	literal string ('lit'), a literal tag ('lit-tag') or the value of 
+	a variable ('var') defined in the def-vars section.  When the attribute
+	'caseless' is set to 'yes', the comparison is made without attending
+	to the case.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="value"/>
+        <xs:group ref="value"/>
+      </xs:sequence>
+      <xs:attribute name="caseless" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="yes"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="ends-with">
+    <xs:annotation>
+      <xs:documentation>
+	Tests if the left part contains the right part at the end.
+	Both parts of the test may both be a clip (see below), a
+	literal string ('lit'), a literal tag ('lit-tag') or the value of 
+	a variable ('var') defined in the def-vars section.  When the attribute
+	'caseless' is set to 'yes', the comparison is made without attending
+	to the case.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="value"/>
+        <xs:group ref="value"/>
+      </xs:sequence>
+      <xs:attribute name="caseless" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="yes"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="begins-with-list">
+    <xs:annotation>
+      <xs:documentation>
+	Tests if the left part contains the right part at the beginning.
+	First parts of the test may be a clip (see below), a
+	literal string ('lit'), a literal tag ('lit-tag') or the value of 
+	a variable ('var') defined in the def-vars section. The second part
+	must be always a list.  When the attribute
+	'caseless' is set to 'yes', the comparison is made without attending
+	to the case.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="value"/>
+        <xs:element ref="list"/>
+      </xs:sequence>
+      <xs:attribute name="caseless" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="yes"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="ends-with-list">
+    <xs:annotation>
+      <xs:documentation>
+	Tests if the left part contains the right part at the end.
+	First parts of the test may be a clip (see below), a
+	literal string ('lit'), a literal tag ('lit-tag') or the value of 
+	a variable ('var') defined in the def-vars section. The second part
+	must be always a list.  When the attribute
+	'caseless' is set to 'yes', the comparison is made without attending
+	to the case.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="value"/>
+        <xs:element ref="list"/>
+      </xs:sequence>      
+      <xs:attribute name="caseless" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="yes"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="contains-substring">
+    <xs:annotation>
+      <xs:documentation>
+	Tests if the left part contains the right part.
+	Both parts of the test may both be a clip (see below), a
+	literal string ('lit'), a literal tag ('lit-tag') or the value of 
+	a variable ('var') defined in the def-vars section.  When the attribute
+	'caseless' is set to 'yes', the comparison is made without attending
+	to the case.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="value"/>
+        <xs:group ref="value"/>
+      </xs:sequence>        
+      <xs:attribute name="caseless" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="yes"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="in">
+    <xs:annotation>
+      <xs:documentation>
+	'in' performs a search of a value in a list.  If 'caseless' is set to yes,
+	this search is performed without attending to the case
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>    
+      <xs:sequence>
+        <xs:group ref="value"/>
+        <xs:element ref="list"/>      
+      </xs:sequence>
+      <xs:attribute name="caseless" use="optional">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="no"/>
+            <xs:enumeration value="yes"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+    </xs:complexType>
+  </xs:element>
+
+  <xs:element name="list">
+    <xs:annotation>
+      <xs:documentation>
+	'list' refers, with the name in attribute 'n', a list defined before in
+	the 'section-def-list' section
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="let">
+    <xs:annotation>
+      <xs:documentation>
+	An assignment statement ('let') assigns the value of a clip (see
+	below), a literal string ('lit'), a literal tag('lit-tag') or the 
+	value of a global variable ('var') to either a global variable ('var') 
+	or a clip
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="container"/>
+        <xs:group ref="value"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="append">
+    <xs:annotation>
+      <xs:documentation>
+	This instruction appends the value of a clip (see
+	below), a literal string ('lit'), a literal tag('lit-tag') or the 
+	value of a global variable ('var') to either a global variable ('var') 
+	or a clip, identified by the "n" attribute
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="value" minOccurs="1" maxOccurs="unbounded"/>
+      </xs:sequence>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="out">
+    <xs:annotation>
+      <xs:documentation>
+	'out' is an output statement; it may output any sequence of
+	clips, literal strings, literal tags, variables, and whitespace items 
+	(see below) 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence minOccurs="1" maxOccurs="unbounded">
+	<xs:group ref="outputable"/>
+      </xs:sequence>
+      <xs:attribute name="c" type="xs:string" use="optional"/>      
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="modify-case">
+    <xs:annotation>
+      <xs:documentation>
+	The first argument of 'modify-case' copy the case of the second 
+	argument.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:group ref="container"/>
+        <xs:group ref="stringvalue"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="call-macro">
+    <xs:annotation>
+      <xs:documentation>
+	A macro may be called anywhere by name with one or more
+	arguments
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence minOccurs="0" maxOccurs="unbounded">
+        <xs:element ref="with-param"/>
+      </xs:sequence>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="with-param">
+    <xs:annotation>
+      <xs:documentation>
+	The attribute pos in each argument is used to refer to a lexical
+	form in the current rule. For example, if a 2-parameter macro
+	has been defined to perform noun-adjective agreement operations,
+	it may be used with arguments 1 and 2 in a noun-adjective rule,
+	with arguments 2, 3 and 1 in a determiner-noun-adjective rule, with
+	arguments 1 and 3 in a noun-adverb-adjective rule, and with
+	arguments 2 and 1 in an adjective-noun rule 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="pos" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="clip">
+    <xs:annotation>
+      <xs:documentation>
+	A 'clip' is a substring of a source-language or target-language
+	lexical form, extracted according to an attribute:
+	
+	* 'pos' is an index (1, 2, 3...) used to select a lexical form
+        inside the rule;
+	
+	* 'side' is used to select a source-language ('sl') or a
+        target-language ('tl') clip
+	
+	* the value of 'part' is the name of an attribute defined in
+        def-attrs, but may take also the values 'lem' (referring to
+        the lemma of the lexical form), 'lemh' (lemma head), 'lemq'
+        (lemma queue) and 'whole' (referring to the whole lexical form).
+	
+	* the value of 'queue' may be 'no' or 'yes'.  'yes' is assumed  by 
+        default.
+	
+	* 'link-to' causes the other attributes to be ignored in clip evaluation
+        when using 'clip' as a right hand side element (as value), and 
+        returns its value.  When using as a left hand side (as reference), 
+        the value of the 'as' attribute is ignored.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="pos" type="xs:string" use="required"/>
+      <xs:attribute name="side" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="sl"/>
+            <xs:enumeration value="tl"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="part" type="xs:string" use="optional"/>
+      <xs:attribute name="queue" type="xs:string" use="optional"/>
+      <xs:attribute name="link-to" type="xs:string" use="optional"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="lit">
+    <xs:annotation>
+      <xs:documentation>
+	A literal string value: the value of the literal is the value of
+	the 'v' attribute
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="v" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="lit-tag">
+    <xs:annotation>
+      <xs:documentation>
+	A literal string value: the value of the literal is the value of
+	the 'v' attribute
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="v" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="var">
+    <xs:annotation>
+      <xs:documentation>
+	Each 'var' is a variable identifier: the attribute n is the name
+	of the variable. When it is in an 'out', a 'test', or the right
+	part of a 'let', it represents the value of the variable; when in
+	the left part of a 'let' it represents the reference of the
+	variable. 
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="n" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="get-case-from">
+    <xs:annotation>
+      <xs:documentation>
+	TODO:
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:choice>
+        <xs:element ref="clip"/>
+        <xs:element ref="lit"/>
+        <xs:element ref="var"/>
+      </xs:choice>
+      <xs:attribute name="pos" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="case-of">
+    <xs:annotation>
+      <xs:documentation>
+	A 'case-of' is a value representing the case of a "clip".  This value 
+	will be "aa" (all lowercase), "Aa" (first uppercase) and "AA",
+	(all uppercase).
+
+	* 'pos' is an index (1, 2, 3...) used to select a lexical form
+        inside the rule;
+	
+	* 'side' is used to select a source-language ('sl') or a
+        target-language ('tl') clip
+	
+	* the value of 'part' is the name of an attribute defined in
+        def-attrs, but may take also the values 'lem' (referring to
+        the lemma of the lexical form), 'lemh' (lemma head), 'lemq'
+        (lemma queue) and 'whole' (referring to the whole lexical form).
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="pos" type="xs:string" use="required"/>
+      <xs:attribute name="side" use="required">
+        <xs:simpleType>
+          <xs:restriction base="xs:string">
+            <xs:enumeration value="sl"/>
+            <xs:enumeration value="tl"/>
+          </xs:restriction>
+        </xs:simpleType>
+      </xs:attribute>
+      <xs:attribute name="part" type="xs:string" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="concat">
+    <xs:annotation>
+      <xs:documentation>
+	Concatenates a sequence of values.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+	<xs:group ref="value" minOccurs="1" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="mlu">
+    <xs:annotation>
+      <xs:documentation>
+	Encloses a multiword.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="lu" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="lu">
+    <xs:annotation>
+      <xs:documentation>
+	Encloses a word inside an 'out' element.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+	<xs:group ref="value" minOccurs="1" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="chunk">
+    <xs:annotation>
+      <xs:documentation>
+	Encloses a chunk inside an 'out' element.      
+	* 'name' the pseudolemma of the chunk.
+	* 'namefrom' get the name from a variable.
+	* 'case' the variable to get the uppercase/lowercase policy
+        to apply it to the chunk name
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tags"/>
+        <xs:choice maxOccurs="unbounded">
+          <xs:element ref="mlu"/>
+          <xs:element ref="lu"/>
+          <xs:element ref="b"/>
+          <xs:element ref="var"/>
+        </xs:choice>
+      </xs:sequence>
+      <xs:attribute name="name" type="xs:string" use="optional"/>
+      <xs:attribute name="namefrom" type="xs:string" use="optional"/>
+      <xs:attribute name="case" type="xs:string" use="optional"/>
+      <xs:attribute name="c" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="tags">
+    <xs:annotation>
+      <xs:documentation>
+	A sequence of tags for a lexical unit.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="tag" maxOccurs="unbounded"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="tag">
+    <xs:annotation>
+      <xs:documentation>
+	A lexical unit tag.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:sequence>
+	<xs:group ref="value"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  
+  <xs:element name="b">
+    <xs:annotation>
+      <xs:documentation>
+	'b' is a [super]blanks item, indexed by pos; for example, a 'b'
+	with pos="2" refers to the [super]blanks (including format data
+	encapsulated by the de-formatter) between lexical form 2 and
+	lexical form 3. Managing [super]blanks explicitly allows for the
+	correct placement of format when the result of structural
+	transfer has more or less lexical items than the original or has
+	been reordered in some way.  If attribute "pos" is not specified, then
+	a single blank (ASCII 32) is generated.
+      </xs:documentation>
+    </xs:annotation>
+    <xs:complexType>
+      <xs:attribute name="pos" type="xs:string" use="optional"/>
+    </xs:complexType>
+  </xs:element>
+  
+</xs:schema>
diff --git a/cmake/CMakeUseFlex.cmake b/cmake/CMakeUseFlex.cmake
new file mode 100644
index 0000000..3ee1ae2
--- /dev/null
+++ b/cmake/CMakeUseFlex.cmake
@@ -0,0 +1,42 @@
+# - Look for GNU flex, the lexer generator.
+# Defines the following:
+#  FLEX_EXECUTABLE - path to the flex executable
+#  FLEX_FILE - parse a file with flex
+#  FLEX_PREFIX_OUTPUTS - Set to true to make FLEX_FILE produce outputs of
+#                        lex.${filename}.c, not lex.yy.c . Passes -P to flex.
+
+IF(NOT DEFINED FLEX_PREFIX_OUTPUTS)
+  SET(FLEX_PREFIX_OUTPUTS FALSE)
+ENDIF(NOT DEFINED FLEX_PREFIX_OUTPUTS)
+
+IF(NOT FLEX_EXECUTABLE)
+  FIND_PROGRAM(FLEX_EXECUTABLE flex)
+  IF (FLEX_EXECUTABLE)
+    MESSAGE (STATUS "Found flex -- ${FLEX_EXECUTABLE}")
+  ELSE (FLEX_EXECUTABLE)
+    MESSAGE (ERROR "flex not found")
+  ENDIF(FLEX_EXECUTABLE)
+ENDIF(NOT FLEX_EXECUTABLE)
+
+IF(FLEX_EXECUTABLE)
+  MACRO(FLEX OUT_FILE SWITCHES IN_FILE)
+    GET_FILENAME_COMPONENT(PATH "${IN_FILE}" PATH)
+
+    IF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/${PATH}")
+      FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${PATH}")
+    ENDIF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/${PATH}")
+
+    SET(FULL_OUT_FILE "${CMAKE_CURRENT_BINARY_DIR}/${PATH}${OUT_FILE}")
+    SET(FULL_IN_FILE  "${CMAKE_CURRENT_SOURCE_DIR}/${IN_FILE}")
+
+    ADD_CUSTOM_COMMAND(
+      OUTPUT  "${FULL_OUT_FILE}"
+      COMMAND "${FLEX_EXECUTABLE}"
+      ARGS    "${SWITCHES}"
+              -o"${FULL_OUT_FILE}"
+              "${FULL_IN_FILE}"
+      DEPENDS "${FULL_IN_FILE}")
+
+    SET_SOURCE_FILES_PROPERTIES("${FULL_OUT_FILE}" PROPERTIES GENERATED TRUE)
+  ENDMACRO(FLEX)
+ENDIF(FLEX_EXECUTABLE)
diff --git a/cmake/CMakeUseXsltproc.cmake b/cmake/CMakeUseXsltproc.cmake
new file mode 100644
index 0000000..02729e6
--- /dev/null
+++ b/cmake/CMakeUseXsltproc.cmake
@@ -0,0 +1,35 @@
+# - Look for GNU xsltproc, the lexer generator.
+# Defines the following:
+#  XSLTPROC_EXECUTABLE - path to the xsltproc executable
+#  XSLTPROC_FILE - parse a file with xsltproc
+#  XSLTPROC_PREFIX_OUTPUTS - Set to true to make XSLTPROC_FILE produce outputs of
+#                        lex.${filename}.c, not lex.yy.c . Passes -P to xsltproc.
+
+IF(NOT XSLTPROC_EXECUTABLE)
+  FIND_PROGRAM(XSLTPROC_EXECUTABLE xsltproc)
+  IF (XSLTPROC_EXECUTABLE)
+    MESSAGE (STATUS "Found xsltproc -- ${XSLTPROC_EXECUTABLE}")
+  ELSE (XSLTPROC_EXECUTABLE)
+    MESSAGE (ERROR "xsltproc not found")
+  ENDIF(XSLTPROC_EXECUTABLE)
+ENDIF(NOT XSLTPROC_EXECUTABLE)
+
+IF(XSLTPROC_EXECUTABLE)
+  MACRO(XSLTPROC OUT_FILE XSL_FILE XML_FILE)
+    GET_FILENAME_COMPONENT(PATH "${XSL_FILE}" PATH)
+
+    SET(FULL_OUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${OUT_FILE}")
+    SET(FULL_XSL_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${XSL_FILE}")
+    SET(FULL_XML_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${XML_FILE}")
+
+    ADD_CUSTOM_COMMAND(
+      OUTPUT  "${FULL_OUT_FILE}"
+      COMMAND "${XSLTPROC_EXECUTABLE}"
+      ARGS    -o "${FULL_OUT_FILE}"
+              "${FULL_XSL_FILE}"
+              "${FULL_XML_FILE}"
+      DEPENDS "${FULL_XSL_FILE}" "${FULL_XML_FILE}")
+
+    SET_SOURCE_FILES_PROPERTIES("${FULL_OUT_FILE}" PROPERTIES GENERATED TRUE)
+  ENDMACRO(XSLTPROC)
+ENDIF(XSLTPROC_EXECUTABLE)
diff --git a/cmake/FindLibPcre.cmake b/cmake/FindLibPcre.cmake
new file mode 100644
index 0000000..1177921
--- /dev/null
+++ b/cmake/FindLibPcre.cmake
@@ -0,0 +1,38 @@
+IF (LIBPCRE_INCLUDE_DIR AND LIBPCRE_LIBRARIES)
+   # in cache already
+   SET(LibPcre_FIND_QUIETLY TRUE)
+ENDIF (LIBPCRE_INCLUDE_DIR AND LIBPCRE_LIBRARIES)
+
+IF (NOT WIN32)
+   # use pkg-config to get the directories and then use these values
+   # in the FIND_PATH() and FIND_LIBRARY() calls
+   INCLUDE(UsePkgConfig)
+   PKGCONFIG(libpcre LIBPCRE_INCLUDES LIBPCRE_LIB_DIR LIBPCRE_LDFLAGS LIBPCRE_CFLAGS)
+   SET(LIBPCRE_DEFINITIONS ${LIBPCRE_CFLAGS})
+ENDIF (NOT WIN32)
+
+FIND_PATH(LIBPCRE_INCLUDE_DIR pcre.h
+          PATHS ${LIBPCRE_INCLUDES})
+
+FIND_LIBRARY(LIBPCRE_LIBRARIES
+             NAMES pcre libpcre
+             PATHS ${LIBPCRE_LIB_DIR})
+
+IF (LIBPCRE_INCLUDE_DIR AND LIBPCRE_LIBRARIES)
+   SET(LIBPCRE_FOUND TRUE)
+ELSE (LIBPCRE_INCLUDE_DIR AND LIBPCRE_LIBRARIES)
+   SET(LIBPCRE_FOUND FALSE)
+ENDIF (LIBPCRE_INCLUDE_DIR AND LIBPCRE_LIBRARIES)
+
+IF (LIBPCRE_FOUND)
+   IF (NOT LibPcre_FIND_QUIETLY)
+      MESSAGE(STATUS "Found LibPcre: ${LIBPCRE_LIBRARIES}")
+   ENDIF (NOT LibPcre_FIND_QUIETLY)
+ELSE (LIBPCRE_FOUND)
+   IF (LibPcre_FIND_REQUIRED)
+      MESSAGE(SEND_ERROR "Could NOT find LibPcre")
+   ENDIF (LibPcre_FIND_REQUIRED)
+ENDIF (LIBPCRE_FOUND)
+
+MARK_AS_ADVANCED(LIBPCRE_INCLUDE_DIR LIBPCRE_LIBRARIES)
+
diff --git a/cmake/FindLibXml2.cmake b/cmake/FindLibXml2.cmake
new file mode 100644
index 0000000..b45d729
--- /dev/null
+++ b/cmake/FindLibXml2.cmake
@@ -0,0 +1,59 @@
+# - Try to find LibXml2
+# Once done this will define
+#
+#  LIBXML2_FOUND - system has LibXml2
+#  LIBXML2_INCLUDE_DIR - the LibXml2 include directory
+#  LIBXML2_LIBRARIES - the libraries needed to use LibXml2
+#  LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2
+#
+# Copyright (c) 2006, Alexander Neundorf <neundorf at kde.org>
+# This code is available under the BSD license, see licenses/BSD for details.
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+
+IF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES)
+   # in cache already
+   SET(LibXml2_FIND_QUIETLY TRUE)
+ENDIF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES)
+
+IF (NOT WIN32)
+   # use pkg-config to get the directories and then use these values
+   # in the FIND_PATH() and FIND_LIBRARY() calls
+   INCLUDE(UsePkgConfig)
+   PKGCONFIG(libxml-2.0 _LibXml2IncDir _LibXml2LinkDir _LibXml2LinkFlags _LibXml2Cflags)
+   SET(LIBXML2_DEFINITIONS ${_LibXml2Cflags})
+ENDIF (NOT WIN32)
+
+FIND_PATH(LIBXML2_INCLUDE_DIR libxml/xpath.h
+   PATHS
+   ${_LibXml2IncDir}
+   PATH_SUFFIXES libxml2
+   )
+
+FIND_LIBRARY(LIBXML2_LIBRARIES NAMES xml2 libxml2
+   PATHS
+   ${_LibXml2LinkDir}
+   )
+
+IF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES)
+   SET(LIBXML2_FOUND TRUE)
+ELSE (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES)
+   SET(LIBXML2_FOUND FALSE)
+ENDIF (LIBXML2_INCLUDE_DIR AND LIBXML2_LIBRARIES)
+
+IF (LIBXML2_FOUND)
+   IF (NOT LibXml2_FIND_QUIETLY)
+      MESSAGE(STATUS "Found LibXml2: ${LIBXML2_LIBRARIES}")
+   ENDIF (NOT LibXml2_FIND_QUIETLY)
+ELSE (LIBXML2_FOUND)
+   IF (LibXml2_FIND_REQUIRED)
+      MESSAGE(SEND_ERROR "Could NOT find LibXml2")
+   ENDIF (LibXml2_FIND_REQUIRED)
+ENDIF (LIBXML2_FOUND)
+
+MARK_AS_ADVANCED(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES)
+
diff --git a/cmake/FindLttoolbox3.cmake b/cmake/FindLttoolbox3.cmake
new file mode 100644
index 0000000..86db0dc
--- /dev/null
+++ b/cmake/FindLttoolbox3.cmake
@@ -0,0 +1,57 @@
+# - Try to find Lttoolbox3
+# Once done this will define
+#
+#  LTTOOLBOX3_FOUND - system has Lttoolbox3
+#  LTTOOLBOX3_INCLUDE_DIR - the Lttoolbox3 include directory
+#  LTTOOLBOX3_LIBRARIES - the libraries needed to use Lttoolbox3
+#  LTTOOLBOX3_DEFINITIONS - Compiler switches required for using Lttoolbox3
+#
+# Copyright (c) 2006, Alexander Neundorf <neundorf at kde.org>
+# This code is available under the BSD license, see licenses/BSD for details.
+
+# Copyright (c) 2006, Alexander Neundorf, <neundorf at kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+#
+# This is derived from FindLibXml2.cmake
+
+IF (LTTOOLBOX3_INCLUDE_DIR AND LTTOOLBOX3_LIBRARIES)
+   # in cache already
+   SET(Lttoolbox3_FIND_QUIETLY TRUE)
+ENDIF (LTTOOLBOX3_INCLUDE_DIR AND LTTOOLBOX3_LIBRARIES)
+
+IF (NOT WIN32)
+   # use pkg-config to get the directories and then use these values
+   # in the FIND_PATH() and FIND_LIBRARY() calls
+   INCLUDE(UsePkgConfig)
+   PKGCONFIG(lttoolbox-3.0 LTTOOLBOX3_INCLUDES LTTOOLBOX3_LIB_DIR LTTOOLBOX3_LDFLAGS LTTOOLBOX3_CFLAGS)
+   SET(LTTOOLBOX3_DEFINITIONS ${LTTOOLBOX3_CFLAGS})
+ENDIF (NOT WIN32)
+
+FIND_PATH(LTTOOLBOX3_INCLUDE_DIR lttoolbox/alphabet.h
+   PATHS ${LTTOOLBOX3_INCLUDES}
+   PATH_SUFFIXES lttoolbox-3.0)
+
+FIND_LIBRARY(LTTOOLBOX3_LIBRARIES
+             NAMES lttoolbox3
+             PATHS ${LTTOOLBOX3_LIB_DIR})
+
+IF (LTTOOLBOX3_INCLUDE_DIR AND LTTOOLBOX3_LIBRARIES)
+   SET(LTTOOLBOX3_FOUND TRUE)
+ELSE (LTTOOLBOX3_INCLUDE_DIR AND LTTOOLBOX3_LIBRARIES)
+   SET(LTTOOLBOX3_FOUND FALSE)
+ENDIF (LTTOOLBOX3_INCLUDE_DIR AND LTTOOLBOX3_LIBRARIES)
+
+IF (LTTOOLBOX3_FOUND)
+   IF (NOT Lttoolbox3_FIND_QUIETLY)
+      MESSAGE(STATUS "Found Lttoolbox3: ${LTTOOLBOX3_LIBRARIES}")
+   ENDIF (NOT Lttoolbox3_FIND_QUIETLY)
+ELSE (LTTOOLBOX3_FOUND)
+   IF (Lttoolbox3_FIND_REQUIRED)
+      MESSAGE(SEND_ERROR "Could NOT find Lttoolbox3")
+   ENDIF (Lttoolbox3_FIND_REQUIRED)
+ENDIF (LTTOOLBOX3_FOUND)
+
+MARK_AS_ADVANCED(LTTOOLBOX3_INCLUDE_DIR LTTOOLBOX3_LIBRARIES)
+
diff --git a/compile b/compile
deleted file mode 100755
index a85b723..0000000
--- a/compile
+++ /dev/null
@@ -1,347 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand '-c -o'.
-
-scriptversion=2012-10-14.11; # UTC
-
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey at cygnus.com>.
-#
-# 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 2, 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 to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake at gnu.org> or send patches to
-# <automake-patches at gnu.org>.
-
-nl='
-'
-
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent tools from complaining about whitespace usage.
-IFS=" ""	$nl"
-
-file_conv=
-
-# func_file_conv build_file lazy
-# Convert a $build file to $host form and store it in $file
-# Currently only supports Windows hosts. If the determined conversion
-# type is listed in (the comma separated) LAZY, no conversion will
-# take place.
-func_file_conv ()
-{
-  file=$1
-  case $file in
-    / | /[!/]*) # absolute file, and not a UNC file
-      if test -z "$file_conv"; then
-	# lazily determine how to convert abs files
-	case `uname -s` in
-	  MINGW*)
-	    file_conv=mingw
-	    ;;
-	  CYGWIN*)
-	    file_conv=cygwin
-	    ;;
-	  *)
-	    file_conv=wine
-	    ;;
-	esac
-      fi
-      case $file_conv/,$2, in
-	*,$file_conv,*)
-	  ;;
-	mingw/*)
-	  file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
-	  ;;
-	cygwin/*)
-	  file=`cygpath -m "$file" || echo "$file"`
-	  ;;
-	wine/*)
-	  file=`winepath -w "$file" || echo "$file"`
-	  ;;
-      esac
-      ;;
-  esac
-}
-
-# func_cl_dashL linkdir
-# Make cl look for libraries in LINKDIR
-func_cl_dashL ()
-{
-  func_file_conv "$1"
-  if test -z "$lib_path"; then
-    lib_path=$file
-  else
-    lib_path="$lib_path;$file"
-  fi
-  linker_opts="$linker_opts -LIBPATH:$file"
-}
-
-# func_cl_dashl library
-# Do a library search-path lookup for cl
-func_cl_dashl ()
-{
-  lib=$1
-  found=no
-  save_IFS=$IFS
-  IFS=';'
-  for dir in $lib_path $LIB
-  do
-    IFS=$save_IFS
-    if $shared && test -f "$dir/$lib.dll.lib"; then
-      found=yes
-      lib=$dir/$lib.dll.lib
-      break
-    fi
-    if test -f "$dir/$lib.lib"; then
-      found=yes
-      lib=$dir/$lib.lib
-      break
-    fi
-    if test -f "$dir/lib$lib.a"; then
-      found=yes
-      lib=$dir/lib$lib.a
-      break
-    fi
-  done
-  IFS=$save_IFS
-
-  if test "$found" != yes; then
-    lib=$lib.lib
-  fi
-}
-
-# func_cl_wrapper cl arg...
-# Adjust compile command to suit cl
-func_cl_wrapper ()
-{
-  # Assume a capable shell
-  lib_path=
-  shared=:
-  linker_opts=
-  for arg
-  do
-    if test -n "$eat"; then
-      eat=
-    else
-      case $1 in
-	-o)
-	  # configure might choose to run compile as 'compile cc -o foo foo.c'.
-	  eat=1
-	  case $2 in
-	    *.o | *.[oO][bB][jJ])
-	      func_file_conv "$2"
-	      set x "$@" -Fo"$file"
-	      shift
-	      ;;
-	    *)
-	      func_file_conv "$2"
-	      set x "$@" -Fe"$file"
-	      shift
-	      ;;
-	  esac
-	  ;;
-	-I)
-	  eat=1
-	  func_file_conv "$2" mingw
-	  set x "$@" -I"$file"
-	  shift
-	  ;;
-	-I*)
-	  func_file_conv "${1#-I}" mingw
-	  set x "$@" -I"$file"
-	  shift
-	  ;;
-	-l)
-	  eat=1
-	  func_cl_dashl "$2"
-	  set x "$@" "$lib"
-	  shift
-	  ;;
-	-l*)
-	  func_cl_dashl "${1#-l}"
-	  set x "$@" "$lib"
-	  shift
-	  ;;
-	-L)
-	  eat=1
-	  func_cl_dashL "$2"
-	  ;;
-	-L*)
-	  func_cl_dashL "${1#-L}"
-	  ;;
-	-static)
-	  shared=false
-	  ;;
-	-Wl,*)
-	  arg=${1#-Wl,}
-	  save_ifs="$IFS"; IFS=','
-	  for flag in $arg; do
-	    IFS="$save_ifs"
-	    linker_opts="$linker_opts $flag"
-	  done
-	  IFS="$save_ifs"
-	  ;;
-	-Xlinker)
-	  eat=1
-	  linker_opts="$linker_opts $2"
-	  ;;
-	-*)
-	  set x "$@" "$1"
-	  shift
-	  ;;
-	*.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
-	  func_file_conv "$1"
-	  set x "$@" -Tp"$file"
-	  shift
-	  ;;
-	*.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
-	  func_file_conv "$1" mingw
-	  set x "$@" "$file"
-	  shift
-	  ;;
-	*)
-	  set x "$@" "$1"
-	  shift
-	  ;;
-      esac
-    fi
-    shift
-  done
-  if test -n "$linker_opts"; then
-    linker_opts="-link$linker_opts"
-  fi
-  exec "$@" $linker_opts
-  exit 1
-}
-
-eat=
-
-case $1 in
-  '')
-     echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand '-c -o'.
-Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file 'INSTALL'.
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "compile $scriptversion"
-    exit $?
-    ;;
-  cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
-    func_cl_wrapper "$@"      # Doesn't return...
-    ;;
-esac
-
-ofile=
-cfile=
-
-for arg
-do
-  if test -n "$eat"; then
-    eat=
-  else
-    case $1 in
-      -o)
-	# configure might choose to run compile as 'compile cc -o foo foo.c'.
-	# So we strip '-o arg' only if arg is an object.
-	eat=1
-	case $2 in
-	  *.o | *.obj)
-	    ofile=$2
-	    ;;
-	  *)
-	    set x "$@" -o "$2"
-	    shift
-	    ;;
-	esac
-	;;
-      *.c)
-	cfile=$1
-	set x "$@" "$1"
-	shift
-	;;
-      *)
-	set x "$@" "$1"
-	shift
-	;;
-    esac
-  fi
-  shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
-  # If no '-o' option was seen then we might have been invoked from a
-  # pattern rule where we don't need one.  That is ok -- this is a
-  # normal compilation that the losing compiler can handle.  If no
-  # '.c' file was seen then we are probably linking.  That is also
-  # ok.
-  exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use '[/\\:.-]' here to ensure that we don't use the same name
-# that we are using for the .o file.  Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
-while true; do
-  if mkdir "$lockdir" >/dev/null 2>&1; then
-    break
-  fi
-  sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
-  test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
-  test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/config.guess b/config.guess
deleted file mode 100755
index 6c32c86..0000000
--- a/config.guess
+++ /dev/null
@@ -1,1421 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
-
-timestamp='2014-11-04'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# 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 to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program.  This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-#
-# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
-#
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-#
-# Please send patches to <config-patches at gnu.org>.
-
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi at noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-case "${UNAME_SYSTEM}" in
-Linux|GNU|GNU/*)
-	# If the system lacks a compiler, then just pick glibc.
-	# We could probably try harder.
-	LIBC=gnu
-
-	eval $set_cc_for_build
-	cat <<-EOF > $dummy.c
-	#include <features.h>
-	#if defined(__UCLIBC__)
-	LIBC=uclibc
-	#elif defined(__dietlibc__)
-	LIBC=dietlibc
-	#else
-	LIBC=gnu
-	#endif
-	EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
-	;;
-esac
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	#
-	# Note: NetBSD doesn't particularly care about the vendor
-	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
-	    armeb) machine=armeb-unknown ;;
-	    arm*) machine=arm-unknown ;;
-	    sh3el) machine=shl-unknown ;;
-	    sh3eb) machine=sh-unknown ;;
-	    sh5el) machine=sh5le-unknown ;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-	esac
-	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
-		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep -q __ELF__
-		then
-		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-		    # Return netbsd for either.  FIX?
-		    os=netbsd
-		else
-		    os=netbsdelf
-		fi
-		;;
-	    *)
-		os=netbsd
-		;;
-	esac
-	# The OS release
-	# Debian GNU/NetBSD machines have a different userland, and
-	# thus, need a distinct triplet. However, they do not need
-	# kernel version information, so it can be replaced with a
-	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
-	    Debian*)
-		release='-gnu'
-		;;
-	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-		;;
-	esac
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit ;;
-    *:Bitrig:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
-	exit ;;
-    *:OpenBSD:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-	exit ;;
-    *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-	exit ;;
-    *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-	exit ;;
-    macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    alpha:OSF1:*:*)
-	case $UNAME_RELEASE in
-	*4.0)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-		;;
-	*5.*)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-		;;
-	esac
-	# According to Compaq, /usr/sbin/psrinfo has been available on
-	# OSF/1 and Tru64 systems produced since 1995.  I hope that
-	# covers most systems running today.  This code pipes the CPU
-	# types through head -n 1, so we only detect the type of CPU 0.
-	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-	case "$ALPHA_CPU_TYPE" in
-	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
-	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
-	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
-	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
-	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
-	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
-	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
-	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
-	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
-	esac
-	# A Pn.n version is a patched version.
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
-	exitcode=$?
-	trap '' 0
-	exit $exitcode ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
-	exit ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit ;;
-    *:z/VM:*:*)
-	echo s390-ibm-zvmoe
-	exit ;;
-    *:OS400:*:*)
-	echo powerpc-ibm-os400
-	exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit ;;
-    arm*:riscos:*:*|arm*:RISCOS:*:*)
-	echo arm-unknown-riscos
-	exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee at wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit ;;
-    DRS?6000:unix:4.0:6*)
-	echo sparc-icl-nx6
-	exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7; exit ;;
-	esac ;;
-    s390x:SunOS:*:*)
-	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
-	echo i386-pc-auroraux${UNAME_RELEASE}
-	exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	eval $set_cc_for_build
-	SUN_ARCH="i386"
-	# If there is a compiler, see if it is configured for 64-bit objects.
-	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
-	# This test works for both compilers.
-	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
-		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		grep IS_64BIT_ARCH >/dev/null
-	    then
-		SUN_ARCH="x86_64"
-	    fi
-	fi
-	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-	echo m68k-milan-mint${UNAME_RELEASE}
-	exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-	echo m68k-hades-mint${UNAME_RELEASE}
-	exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-	echo m68k-unknown-mint${UNAME_RELEASE}
-	exit ;;
-    m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
-	exit ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &&
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-	  SYSTEM_NAME=`$dummy $dummyarg` &&
-	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit ;;
-    Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit ;;
-    Motorola:*:4.3:PL8-*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit ;;
-    AViiON:dgux:*:*)
-	# DG/UX returns AViiON for all architectures
-	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
-	exit ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit ;;
-    ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-		then
-			echo "$SYSTEM_NAME"
-		else
-			echo rs6000-ibm-aix3.2.5
-		fi
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit ;;
-    *:AIX:*:[4567])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/lslpp ] ; then
-		IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
-			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit ;;
-    9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-		if [ -x /usr/bin/getconf ]; then
-		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-		    case "${sc_cpu_version}" in
-		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-		      532)                      # CPU_PA_RISC2_0
-			case "${sc_kernel_bits}" in
-			  32) HP_ARCH="hppa2.0n" ;;
-			  64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-			esac ;;
-		    esac
-		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^		//' << EOF >$dummy.c
-
-		#define _HPUX_SOURCE
-		#include <stdlib.h>
-		#include <unistd.h>
-
-		int main ()
-		{
-		#if defined(_SC_KERNEL_BITS)
-		    long bits = sysconf(_SC_KERNEL_BITS);
-		#endif
-		    long cpu  = sysconf (_SC_CPU_VERSION);
-
-		    switch (cpu)
-			{
-			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-			case CPU_PA_RISC2_0:
-		#if defined(_SC_KERNEL_BITS)
-			    switch (bits)
-				{
-				case 64: puts ("hppa2.0w"); break;
-				case 32: puts ("hppa2.0n"); break;
-				default: puts ("hppa2.0"); break;
-				} break;
-		#else  /* !defined(_SC_KERNEL_BITS) */
-			    puts ("hppa2.0"); break;
-		#endif
-			default: puts ("hppa1.0"); break;
-			}
-		    exit (0);
-		}
-EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-		    test -z "$HP_ARCH" && HP_ARCH=hppa
-		fi ;;
-	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
-	then
-	    eval $set_cc_for_build
-
-	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-	    # generating 64-bit code.  GNU and HP use different nomenclature:
-	    #
-	    # $ CC_FOR_BUILD=cc ./config.guess
-	    # => hppa2.0w-hp-hpux11.23
-	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-	    # => hppa64-hp-hpux11.23
-
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep -q __LP64__
-	    then
-		HP_ARCH="hppa2.0w"
-	    else
-		HP_ARCH="hppa64"
-	    fi
-	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit ;;
-    ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
-	exit ;;
-    3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-		{ echo "$SYSTEM_NAME"; exit; }
-	echo unknown-hitachi-hiuxwe2
-	exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit ;;
-    i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-	exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-	exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-	exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-	exit ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-	      -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    5000:UNIX_System_V:4.*:*)
-	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:FreeBSD:*:*)
-	UNAME_PROCESSOR=`/usr/bin/uname -p`
-	case ${UNAME_PROCESSOR} in
-	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	esac
-	exit ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit ;;
-    *:MINGW64*:*)
-	echo ${UNAME_MACHINE}-pc-mingw64
-	exit ;;
-    *:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit ;;
-    *:MSYS*:*)
-	echo ${UNAME_MACHINE}-pc-msys
-	exit ;;
-    i*:windows32*:*)
-	# uname -m includes "-pc" on this system.
-	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit ;;
-    *:Interix*:*)
-	case ${UNAME_MACHINE} in
-	    x86)
-		echo i586-pc-interix${UNAME_RELEASE}
-		exit ;;
-	    authenticamd | genuineintel | EM64T)
-		echo x86_64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	    IA64)
-		echo ia64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
-    8664:Windows_NT:*)
-	echo x86_64-pc-mks
-	exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-unknown-cygwin
-	exit ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    *:GNU:*:*)
-	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit ;;
-    *:GNU/*:*:*)
-	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
-	exit ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit ;;
-    aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    aarch64_be:Linux:*:*)
-	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-	esac
-	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    arc:Linux:*:* | arceb:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    arm*:Linux:*:*)
-	eval $set_cc_for_build
-	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-	    | grep -q __ARM_EABI__
-	then
-	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	else
-	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
-		| grep -q __ARM_PCS_VFP
-	    then
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
-	    else
-		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
-	    fi
-	fi
-	exit ;;
-    avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
-	exit ;;
-    crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
-	exit ;;
-    frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    i*86:Linux:*:*)
-	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
-	exit ;;
-    ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    mips:Linux:*:* | mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef ${UNAME_MACHINE}
-	#undef ${UNAME_MACHINE}el
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=${UNAME_MACHINE}el
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=${UNAME_MACHINE}
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
-	;;
-    openrisc*:Linux:*:*)
-	echo or1k-unknown-linux-${LIBC}
-	exit ;;
-    or32:Linux:*:* | or1k*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    padre:Linux:*:*)
-	echo sparc-unknown-linux-${LIBC}
-	exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-${LIBC}
-	exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-	# Look for CPU level
-	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
-	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
-	  *)    echo hppa-unknown-linux-${LIBC} ;;
-	esac
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-${LIBC}
-	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-${LIBC}
-	exit ;;
-    ppc64le:Linux:*:*)
-	echo powerpc64le-unknown-linux-${LIBC}
-	exit ;;
-    ppcle:Linux:*:*)
-	echo powerpcle-unknown-linux-${LIBC}
-	exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
-	exit ;;
-    sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
-	exit ;;
-    x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
-	exit ;;
-    i*86:DYNIX/ptx:4*:*)
-	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-	# earlier versions are messed up and put the nodename in both
-	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-	# Unixware is an offshoot of SVR4, but it has its own version
-	# number series starting with 2...
-	# I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-	# Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit ;;
-    i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
-	exit ;;
-    i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
-	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit ;;
-    i*86:*:5:[678]*)
-	# UnixWare 7.x, OpenUNIX and OpenServer 6.
-	case `/bin/uname -X | grep "^Machine"` in
-	    *486*)	     UNAME_MACHINE=i486 ;;
-	    *Pentium)	     UNAME_MACHINE=i586 ;;
-	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit ;;
-    i*86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-	# uname -m prints for DJGPP always 'pc', but it prints nothing about
-	# the processor, so we play safe by assuming i586.
-	# Note: whatever this is, it MUST be the same as what config.sub
-	# prints for the "djgpp" host, or else GDB configury will decide that
-	# this is a cross-build.
-	echo i586-pc-msdosdjgpp
-	exit ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-	echo m68k-convergent-sysv
-	exit ;;
-    M680?0:D-NIX:5.3:*)
-	echo m68k-diab-dnix
-	exit ;;
-    M68*:*:R3V[5678]*:*)
-	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4; exit; } ;;
-    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
-	OS_REL='.3'
-	test -r /etc/.relid \
-	    && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	    && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
-	    && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit ;;
-    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-			# says <Richard.M.Bartel at ccMail.Census.GOV>
-	echo i586-unisys-sysv4
-	exit ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes at openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit ;;
-    *:*:*:FTX*)
-	# From seanf at swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit ;;
-    i*86:VOS:*:*)
-	# From Paul.Green at stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
-	exit ;;
-    *:VOS:*:*)
-	# From Paul.Green at stratus.com.
-	echo hppa1.1-stratus-vos
-	exit ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-		echo mips-nec-sysv${UNAME_RELEASE}
-	else
-		echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-	exit ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit ;;
-    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
-	echo i586-pc-haiku
-	exit ;;
-    x86_64:Haiku:*:*)
-	echo x86_64-unknown-haiku
-	exit ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-7:SUPER-UX:*:*)
-	echo sx7-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8R:SUPER-UX:*:*)
-	echo sx8r-nec-superux${UNAME_RELEASE}
-	exit ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Darwin:*:*)
-	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	eval $set_cc_for_build
-	if test "$UNAME_PROCESSOR" = unknown ; then
-	    UNAME_PROCESSOR=powerpc
-	fi
-	if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-	    if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		    grep IS_64BIT_ARCH >/dev/null
-		then
-		    case $UNAME_PROCESSOR in
-			i386) UNAME_PROCESSOR=x86_64 ;;
-			powerpc) UNAME_PROCESSOR=powerpc64 ;;
-		    esac
-		fi
-	    fi
-	elif test "$UNAME_PROCESSOR" = i386 ; then
-	    # Avoid executing cc on OS X 10.9, as it ships with a stub
-	    # that puts up a graphical alert prompting to install
-	    # developer tools.  Any system running Mac OS X 10.7 or
-	    # later (Darwin 11 and later) is required to have a 64-bit
-	    # processor. This is not true of the ARM version of Darwin
-	    # that Apple uses in portable devices.
-	    UNAME_PROCESSOR=x86_64
-	fi
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-	exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
-		UNAME_PROCESSOR=i386
-		UNAME_MACHINE=pc
-	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit ;;
-    NEO-?:NONSTOP_KERNEL:*:*)
-	echo neo-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSE-*:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit ;;
-    *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit ;;
-    *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit ;;
-    *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit ;;
-    *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit ;;
-    SEI:*:*:SEIUX)
-	echo mips-sei-seiux${UNAME_RELEASE}
-	exit ;;
-    *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit ;;
-    *:*VMS:*:*)
-	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "${UNAME_MACHINE}" in
-	    A*) echo alpha-dec-vms ; exit ;;
-	    I*) echo ia64-dec-vms ; exit ;;
-	    V*) echo vax-dec-vms ; exit ;;
-	esac ;;
-    *:XENIX:*:SysV)
-	echo i386-pc-xenix
-	exit ;;
-    i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-	exit ;;
-    i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
-	exit ;;
-    i*86:AROS:*:*)
-	echo ${UNAME_MACHINE}-pc-aros
-	exit ;;
-    x86_64:VMkernel:*:*)
-	echo ${UNAME_MACHINE}-unknown-esx
-	exit ;;
-esac
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches at gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-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`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/config.sub b/config.sub
deleted file mode 100755
index 7ffe373..0000000
--- a/config.sub
+++ /dev/null
@@ -1,1807 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
-
-timestamp='2014-12-03'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# 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 to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that
-# program.  This Exception is an additional permission under section 7
-# of the GNU General Public License, version 3 ("GPLv3").
-
-
-# Please send patches to <config-patches at gnu.org>.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# You can get the latest version of this script from:
-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches at gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright 1992-2014 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
-  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
-  knetbsd*-gnu* | netbsd*-gnu* | \
-  kopensolaris*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  android-linux)
-    os=-linux-android
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray | -microblaze*)
-		os=
-		basic_machine=$1
-		;;
-	-bluegene*)
-		os=-cnk
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-chorusos*)
-		os=-chorusos
-		basic_machine=$1
-		;;
-	-chorusrdb)
-		os=-chorusrdb
-		basic_machine=$1
-		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco6)
-		os=-sco5v6
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5v6*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*178)
-		os=-lynxos178
-		;;
-	-lynx*5)
-		os=-lynxos5
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	1750a | 580 \
-	| a29k \
-	| aarch64 | aarch64_be \
-	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-	| am33_2.0 \
-	| arc | arceb \
-	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
-	| avr | avr32 \
-	| be32 | be64 \
-	| bfin \
-	| c4x | c8051 | clipper \
-	| d10v | d30v | dlx | dsp16xx \
-	| epiphany \
-	| fido | fr30 | frv \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| hexagon \
-	| i370 | i860 | i960 | ia64 \
-	| ip2k | iq2000 \
-	| k1om \
-	| le32 | le64 \
-	| lm32 \
-	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
-	| mips | mipsbe | mipseb | mipsel | mipsle \
-	| mips16 \
-	| mips64 | mips64el \
-	| mips64octeon | mips64octeonel \
-	| mips64orion | mips64orionel \
-	| mips64r5900 | mips64r5900el \
-	| mips64vr | mips64vrel \
-	| mips64vr4100 | mips64vr4100el \
-	| mips64vr4300 | mips64vr4300el \
-	| mips64vr5000 | mips64vr5000el \
-	| mips64vr5900 | mips64vr5900el \
-	| mipsisa32 | mipsisa32el \
-	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa32r6 | mipsisa32r6el \
-	| mipsisa64 | mipsisa64el \
-	| mipsisa64r2 | mipsisa64r2el \
-	| mipsisa64r6 | mipsisa64r6el \
-	| mipsisa64sb1 | mipsisa64sb1el \
-	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipsr5900 | mipsr5900el \
-	| mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| moxie \
-	| mt \
-	| msp430 \
-	| nds32 | nds32le | nds32be \
-	| nios | nios2 | nios2eb | nios2el \
-	| ns16k | ns32k \
-	| open8 | or1k | or1knd | or32 \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle \
-	| pyramid \
-	| riscv32 | riscv64 \
-	| rl78 | rx \
-	| score \
-	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu \
-	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
-	| ubicom32 \
-	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
-	| visium \
-	| we32k \
-	| x86 | xc16x | xstormy16 | xtensa \
-	| z8k | z80)
-		basic_machine=$basic_machine-unknown
-		;;
-	c54x)
-		basic_machine=tic54x-unknown
-		;;
-	c55x)
-		basic_machine=tic55x-unknown
-		;;
-	c6x)
-		basic_machine=tic6x-unknown
-		;;
-	leon|leon[3-9])
-		basic_machine=sparc-$basic_machine
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-		;;
-	ms1)
-		basic_machine=mt-unknown
-		;;
-
-	strongarm | thumb | xscale)
-		basic_machine=arm-unknown
-		;;
-	xgate)
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	xscaleeb)
-		basic_machine=armeb-unknown
-		;;
-
-	xscaleel)
-		basic_machine=armel-unknown
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i*86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	580-* \
-	| a29k-* \
-	| aarch64-* | aarch64_be-* \
-	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
-	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* | avr32-* \
-	| be32-* | be64-* \
-	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| c8051-* | clipper-* | craynv-* | cydra-* \
-	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
-	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-	| h8300-* | h8500-* \
-	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-	| hexagon-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| k1om-* \
-	| le32-* | le64-* \
-	| lm32-* \
-	| m32c-* | m32r-* | m32rle-* \
-	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
-	| microblaze-* | microblazeel-* \
-	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-	| mips16-* \
-	| mips64-* | mips64el-* \
-	| mips64octeon-* | mips64octeonel-* \
-	| mips64orion-* | mips64orionel-* \
-	| mips64r5900-* | mips64r5900el-* \
-	| mips64vr-* | mips64vrel-* \
-	| mips64vr4100-* | mips64vr4100el-* \
-	| mips64vr4300-* | mips64vr4300el-* \
-	| mips64vr5000-* | mips64vr5000el-* \
-	| mips64vr5900-* | mips64vr5900el-* \
-	| mipsisa32-* | mipsisa32el-* \
-	| mipsisa32r2-* | mipsisa32r2el-* \
-	| mipsisa32r6-* | mipsisa32r6el-* \
-	| mipsisa64-* | mipsisa64el-* \
-	| mipsisa64r2-* | mipsisa64r2el-* \
-	| mipsisa64r6-* | mipsisa64r6el-* \
-	| mipsisa64sb1-* | mipsisa64sb1el-* \
-	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipsr5900-* | mipsr5900el-* \
-	| mipstx39-* | mipstx39el-* \
-	| mmix-* \
-	| mt-* \
-	| msp430-* \
-	| nds32-* | nds32le-* | nds32be-* \
-	| nios-* | nios2-* | nios2eb-* | nios2el-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
-	| open8-* \
-	| or1k*-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
-	| pyramid-* \
-	| rl78-* | romp-* | rs6000-* | rx-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
-	| tahoe-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tile*-* \
-	| tron-* \
-	| ubicom32-* \
-	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
-	| vax-* \
-	| visium-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* \
-	| xstormy16-* | xtensa*-* \
-	| ymp-* \
-	| z8k-* | z80-*)
-		;;
-	# Recognize the basic CPU types without company name, with glob match.
-	xtensa*)
-		basic_machine=$basic_machine-unknown
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	abacus)
-		basic_machine=abacus-unknown
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amd64)
-		basic_machine=x86_64-pc
-		;;
-	amd64-*)
-		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aros)
-		basic_machine=i386-pc
-		os=-aros
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	blackfin)
-		basic_machine=bfin-unknown
-		os=-linux
-		;;
-	blackfin-*)
-		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	bluegene*)
-		basic_machine=powerpc-ibm
-		os=-cnk
-		;;
-	c54x-*)
-		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c55x-*)
-		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c6x-*)
-		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	c90)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	cegcc)
-		basic_machine=arm-unknown
-		os=-cegcc
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | j90)
-		basic_machine=j90-cray
-		os=-unicos
-		;;
-	craynv)
-		basic_machine=craynv-cray
-		os=-unicosmp
-		;;
-	cr16 | cr16-*)
-		basic_machine=cr16-unknown
-		os=-elf
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	crisv32 | crisv32-* | etraxfs*)
-		basic_machine=crisv32-axis
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	crx)
-		basic_machine=crx-unknown
-		os=-elf
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	decsystem10* | dec10*)
-		basic_machine=pdp10-dec
-		os=-tops10
-		;;
-	decsystem20* | dec20*)
-		basic_machine=pdp10-dec
-		os=-tops20
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dicos)
-		basic_machine=i686-pc
-		os=-dicos
-		;;
-	djgpp)
-		basic_machine=i586-pc
-		os=-msdosdjgpp
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	go32)
-		basic_machine=i386-pc
-		os=-go32
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		;;
-	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	leon-*|leon[3-9]-*)
-		basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
-		;;
-	m68knommu)
-		basic_machine=m68k-unknown
-		os=-linux
-		;;
-	m68knommu-*)
-		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	microblaze*)
-		basic_machine=microblaze-xilinx
-		;;
-	mingw64)
-		basic_machine=x86_64-pc
-		os=-mingw64
-		;;
-	mingw32)
-		basic_machine=i686-pc
-		os=-mingw32
-		;;
-	mingw32ce)
-		basic_machine=arm-unknown
-		os=-mingw32ce
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	morphos)
-		basic_machine=powerpc-unknown
-		os=-morphos
-		;;
-	moxiebox)
-		basic_machine=moxie-unknown
-		os=-moxiebox
-		;;
-	msdos)
-		basic_machine=i386-pc
-		os=-msdos
-		;;
-	ms1-*)
-		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-		;;
-	msys)
-		basic_machine=i686-pc
-		os=-msys
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	nacl)
-		basic_machine=le32-unknown
-		os=-nacl
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	nonstopux)
-		basic_machine=mips-compaq
-		os=-nonstopux
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	neo-tandem)
-		basic_machine=neo-tandem
-		;;
-	nse-tandem)
-		basic_machine=nse-tandem
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	openrisc | openrisc-*)
-		basic_machine=or32-unknown
-		;;
-	os400)
-		basic_machine=powerpc-ibm
-		os=-os400
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	parisc)
-		basic_machine=hppa-unknown
-		os=-linux
-		;;
-	parisc-*)
-		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-	pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pc98)
-		basic_machine=i386-pc
-		;;
-	pc98-*)
-		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium | p5 | k5 | k6 | nexgen | viac3)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon | athlon_*)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2 | pentiumiii | pentium3)
-		basic_machine=i686-pc
-		;;
-	pentium4)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium4-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=power-ibm
-		;;
-	ppc | ppcbe)	basic_machine=powerpc-unknown
-		;;
-	ppc-* | ppcbe-*)
-		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-		;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64)	basic_machine=powerpc64-unknown
-		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-		basic_machine=powerpc64le-unknown
-		;;
-	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	rdos | rdos64)
-		basic_machine=x86_64-pc
-		os=-rdos
-		;;
-	rdos32)
-		basic_machine=i386-pc
-		os=-rdos
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	s390 | s390-*)
-		basic_machine=s390-ibm
-		;;
-	s390x | s390x-*)
-		basic_machine=s390x-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sb1)
-		basic_machine=mipsisa64sb1-unknown
-		;;
-	sb1el)
-		basic_machine=mipsisa64sb1el-unknown
-		;;
-	sde)
-		basic_machine=mipsisa32-sde
-		os=-elf
-		;;
-	sei)
-		basic_machine=mips-sei
-		os=-seiux
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sh5el)
-		basic_machine=sh5le-unknown
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparclite-wrs | simso-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	strongarm-* | thumb-*)
-		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=alphaev5-cray
-		os=-unicos
-		;;
-	t90)
-		basic_machine=t90-cray
-		os=-unicos
-		;;
-	tile*)
-		basic_machine=$basic_machine-unknown
-		os=-linux-gnu
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	toad1)
-		basic_machine=pdp10-xkl
-		os=-tops20
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	tpf)
-		basic_machine=s390x-ibm
-		os=-tpf
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-		basic_machine=f301-fujitsu
-		;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	xbox)
-		basic_machine=i686-pc
-		os=-mingw32
-		;;
-	xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	xscale-* | xscalee[bl]-*)
-		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
-		;;
-	ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	z80-*-coff)
-		basic_machine=z80-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	mmix)
-		basic_machine=mmix-knuth
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
-		basic_machine=sh-unknown
-		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-		basic_machine=sparc-sun
-		;;
-	cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	*-unknown)
-		# Make sure to match an already-canonicalized machine name.
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-	# First match some system type aliases
-	# that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-auroraux)
-		os=-auroraux
-		;;
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-	      | -sym* | -kopensolaris* | -plan9* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* | -aros* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -bitrig* | -openbsd* | -solidbsd* \
-	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* | -cegcc* \
-	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
-	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
-	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i*86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto-qnx*)
-		;;
-	-nto*)
-		os=`echo $os | sed -e 's|nto|nto-qnx|'`
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux-dietlibc)
-		os=-linux-dietlibc
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-	-os400*)
-		os=-os400
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-atheos*)
-		os=-atheos
-		;;
-	-syllable*)
-		os=-syllable
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-nova*)
-		os=-rtmk-nova
-		;;
-	-ns2 )
-		os=-nextstep2
-		;;
-	-nsk*)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-tpf*)
-		os=-tpf
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-		os=-mint
-		;;
-	-aros*)
-		os=-aros
-		;;
-	-zvmoe)
-		os=-zvmoe
-		;;
-	-dicos*)
-		os=-dicos
-		;;
-	-nacl*)
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-	score-*)
-		os=-elf
-		;;
-	spu-*)
-		os=-elf
-		;;
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-	c4x-* | tic4x-*)
-		os=-coff
-		;;
-	c8051-*)
-		os=-elf
-		;;
-	hexagon-*)
-		os=-elf
-		;;
-	tic54x-*)
-		os=-coff
-		;;
-	tic55x-*)
-		os=-coff
-		;;
-	tic6x-*)
-		os=-coff
-		;;
-	# This must come before the *-dec entry.
-	pdp10-*)
-		os=-tops20
-		;;
-	pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-	mep-*)
-		os=-elf
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	or32-*)
-		os=-coff
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-haiku)
-		os=-haiku
-		;;
-	*-ibm)
-		os=-aix
-		;;
-	*-knuth)
-		os=-mmixware
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-	*-gould)
-		os=-sysv
-		;;
-	*-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-	*-sgi)
-		os=-irix
-		;;
-	*-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f30[01]-fujitsu | f700-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-cnk*|-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-os400*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-tpf*)
-				vendor=ibm
-				;;
-			-vxsim* | -vxworks* | -windiss*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-				vendor=atari
-				;;
-			-vos*)
-				vendor=stratus
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/configure b/configure
deleted file mode 100755
index 87faa74..0000000
--- a/configure
+++ /dev/null
@@ -1,20171 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for apertium 3.4.0.
-#
-# Report bugs to <sortiz at users.sourceforge.net>.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 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
-
-
-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
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (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
-
-
-# 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.
-as_myself=
-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
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -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_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-	 /*)
-	   for as_base in sh bash ksh sh5; do
-	     # Try only shells that exist, to save several forks.
-	     as_shell=$as_dir/$as_base
-	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-	   done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf at gnu.org and
-$0: sortiz at users.sourceforge.net about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    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_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-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
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-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'`
-
-# 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_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # 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; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # 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
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-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 -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-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='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# 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'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/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=
-
-# Identity of this package.
-PACKAGE_NAME='apertium'
-PACKAGE_TARNAME='apertium'
-PACKAGE_VERSION='3.4.0'
-PACKAGE_STRING='apertium 3.4.0'
-PACKAGE_BUGREPORT='sortiz at users.sourceforge.net'
-PACKAGE_URL=''
-
-# 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"
-
-ac_subst_vars='am__EXEEXT_FALSE
-am__EXEEXT_TRUE
-LTLIBOBJS
-WINDOWS_FALSE
-WINDOWS_TRUE
-LIBOBJS
-APERTIUM_LIBS
-APERTIUM_CFLAGS
-PKG_CONFIG_LIBDIR
-PKG_CONFIG_PATH
-PKG_CONFIG
-FLEX
-BASH
-XSLTPROC
-XMLLINT
-CXXCPP
-CPP
-LT_SYS_LIBRARY_PATH
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-MANIFEST_TOOL
-RANLIB
-ac_ct_AR
-AR
-DLLTOOL
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-EGREP
-GREP
-SED
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-ac_ct_CC
-CFLAGS
-CC
-LIBTOOL
-am__fastdepCXX_FALSE
-am__fastdepCXX_TRUE
-CXXDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-OBJEXT
-EXEEXT
-ac_ct_CXX
-CPPFLAGS
-LDFLAGS
-CXXFLAGS
-CXX
-AM_BACKSLASH
-AM_DEFAULT_VERBOSITY
-AM_DEFAULT_V
-AM_V
-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
-GENERIC_VERSION
-GENERIC_RELEASE
-GENERIC_LIBRARY_NAME
-GENERIC_LIBRARY_VERSION
-GENERIC_MAJOR_VERSION
-GENERIC_API_VERSION
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-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_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_silent_rules
-enable_dependency_tracking
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_aix_soname
-with_gnu_ld
-with_sysroot
-enable_libtool_lock
-enable_debug
-enable_profile
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CXX
-CXXFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CCC
-CC
-CFLAGS
-LT_SYS_LIBRARY_PATH
-CPP
-CXXCPP
-PKG_CONFIG
-PKG_CONFIG_PATH
-PKG_CONFIG_LIBDIR
-APERTIUM_CFLAGS
-APERTIUM_LIBS'
-
-
-# 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= ;;
-  *)    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_fn_error $? "invalid feature name: $ac_useropt"
-    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_fn_error $? "invalid feature name: $ac_useropt"
-    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_fn_error $? "invalid package name: $ac_useropt"
-    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_fn_error $? "invalid package name: $ac_useropt"
-    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_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    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_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $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_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# 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
-  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_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# 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_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-	pwd)`
-# 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 apertium 3.4.0 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/apertium]
-  --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]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-  case $ac_init_help in
-     short | recursive ) echo "Configuration of apertium 3.4.0:";;
-   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-silent-rules   less verbose build output (undo: "make V=1")
-  --disable-silent-rules  verbose build output (undo: "make V=0")
-  --enable-dependency-tracking
-                          do not reject slow dependency extractors
-  --disable-dependency-tracking
-                          speeds up one-time build
-  --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)
-  --enable-debug    Enable "-g -Wall" compiler options
-  --enable-profile  Enable "-pg -g -Wall" compiler options
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-pic[=PKGS]       try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-aix-soname=aix|svr4|both
-                          shared library versioning (aka "SONAME") variant to
-                          provide on AIX, [default=aix].
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
-                          compiler's sysroot if not specified).
-
-Some influential environment variables:
-  CXX         C++ compiler command
-  CXXFLAGS    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    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LT_SYS_LIBRARY_PATH
-              User-defined run-time library search path.
-  CPP         C preprocessor
-  CXXCPP      C++ preprocessor
-  PKG_CONFIG  path to pkg-config utility
-  PKG_CONFIG_PATH
-              directories to add to pkg-config's search path
-  PKG_CONFIG_LIBDIR
-              path overriding pkg-config's built-in search path
-  APERTIUM_CFLAGS
-              C compiler flags for APERTIUM, overriding pkg-config
-  APERTIUM_LIBS
-              linker flags for APERTIUM, overriding pkg-config
-
-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 <sortiz at users.sourceforge.net>.
-_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
-apertium configure 3.4.0
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 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
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_cxx_try_compile LINENO
-# ----------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_compile
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists and can be compiled using the include files in
-# INCLUDES, setting the cache variable VAR accordingly.
-ac_fn_c_check_header_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { 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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-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
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); 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 $2
-
-/* 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 $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_cxx_try_cpp LINENO
-# ------------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_cpp
-
-# ac_fn_cxx_try_link LINENO
-# -------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_cxx_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-	 test -z "$ac_cxx_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-	 test "$cross_compiling" = yes ||
-	 test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_link
-
-# ac_fn_cxx_check_func LINENO FUNC VAR
-# ------------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_cxx_check_func ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); 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 $2
-
-/* 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 $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_func
-
-# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
-# ---------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_cxx_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$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_cxx_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## ------------------------------------------- ##
-## Report this to sortiz at users.sourceforge.net ##
-## ------------------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_header_mongrel
-
-# ac_fn_cxx_try_run LINENO
-# ------------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_cxx_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { 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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-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
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_cxx_try_run
-
-# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES
-# ---------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_cxx_check_type ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-	 return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-	    return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-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
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_type
-
-# ac_fn_cxx_check_decl LINENO SYMBOL VAR INCLUDES
-# -----------------------------------------------
-# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_cxx_check_decl ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  as_decl_name=`echo $2|sed 's/ *(.*//'`
-  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-#ifndef $as_decl_name
-#ifdef __cplusplus
-  (void) $as_decl_use;
-#else
-  (void) $as_decl_name;
-#endif
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_cxx_check_decl
-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 apertium $as_me 3.4.0, which was
-generated by GNU Autoconf 2.69.  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) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append 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
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset 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
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    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:${as_lineno-$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= ;; #(
-      *) { eval $ac_var=; 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
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    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
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      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
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      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'; as_fn_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
-
-$as_echo "/* confdefs.h */" > 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
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_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
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-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 /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$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" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  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.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:${as_lineno-$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.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$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_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-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_config_headers="$ac_config_headers apertium/apertium_config.h"
-
-
-ac_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; 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_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-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.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; 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_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-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:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; 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_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-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
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-
-GENERIC_LIBRARY_NAME=apertium
-
-# Release versioning
-GENERIC_MAJOR_VERSION=3
-GENERIC_MINOR_VERSION=4
-GENERIC_MICRO_VERSION=0
-
-# API version (often = GENERIC_MAJOR_VERSION.GENERIC_MINOR_VERSION)
-GENERIC_API_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION
-
-
-
-# Shared library versioning
-GENERIC_LIBRARY_VERSION=0:0:0
-#                       | | |
-#                +------+ | +---+
-#                |        |     |
-#             current:revision:age
-#                |        |     |
-#                |        |     +- increment if interfaces have been added
-#                |        |        set to zero if interfaces have been removed
-#                                  or changed
-#                |        +- increment if source code has changed
-#                |           set to zero if current is incremented
-#                +- increment if interfaces have been added, removed or changed
-
-
-PACKAGE=$GENERIC_LIBRARY_NAME
-
-
-GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION
-GENERIC_RELEASE=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION
-
-
-
-VERSION=$GENERIC_VERSION
-
-am__api_version='1.15'
-
-# 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:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; 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 as_fn_executable_p "$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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# 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_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-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 (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     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
-     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_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment" "$LINENO" 5
-     fi
-     if test "$2" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-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 --is-lightweight"; then
-  am_missing_run="$MISSING "
-else
-  am_missing_run=
-  { $as_echo "$as_me:${as_lineno-$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+set}" != 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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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 ${ac_cv_path_mkdir+:} false; 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
-	   as_fn_executable_p "$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
-
-  test -d ./--version && rmdir ./--version
-  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.
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
-$as_echo "$MKDIR_P" >&6; }
-
-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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ $as_echo "$as_me:${as_lineno-$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 eval \${ac_cv_prog_make_${ac_make}_set+:} false; 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:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  SET_MAKE=
-else
-  { $as_echo "$as_me:${as_lineno-$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
-
-# Check whether --enable-silent-rules was given.
-if test "${enable_silent_rules+set}" = set; then :
-  enableval=$enable_silent_rules;
-fi
-
-case $enable_silent_rules in # (((
-  yes) AM_DEFAULT_VERBOSITY=0;;
-   no) AM_DEFAULT_VERBOSITY=1;;
-    *) AM_DEFAULT_VERBOSITY=1;;
-esac
-am_make=${MAKE-make}
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
-$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
-if ${am_cv_make_support_nested_variables+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if $as_echo 'TRUE=$(BAR$(V))
-BAR0=false
-BAR1=true
-V=1
-am__doit:
-	@$(TRUE)
-.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
-  am_cv_make_support_nested_variables=yes
-else
-  am_cv_make_support_nested_variables=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
-$as_echo "$am_cv_make_support_nested_variables" >&6; }
-if test $am_cv_make_support_nested_variables = yes; then
-    AM_V='$(V)'
-  AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
-else
-  AM_V=$AM_DEFAULT_VERBOSITY
-  AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
-fi
-AM_BACKSLASH='\'
-
-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_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
-  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=$PACKAGE
- VERSION=$VERSION
-
-
-# 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"}
-
-# For better backward compatibility.  To be removed once Automake 1.9.x
-# dies out for good.  For more background, see:
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
-# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
-mkdir_p='$(MKDIR_P)'
-
-# We need awk for the "check" target (and possibly the TAP driver).  The
-# system "awk" is bad on some platforms.
-# Always define AMTAR for backward compatibility.  Yes, it's still used
-# in the wild :-(  We should find a proper way to deprecate it ...
-AMTAR='$${TAR-tar}'
-
-
-# We'll loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar  pax cpio none'
-
-am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
-
-
-
-
-
-
-# POSIX will say in a future version that running "rm -f" with no argument
-# is OK; and we want to be able to make that assumption in our Makefile
-# recipes.  So use an aggressive probe to check that the usage we want is
-# actually supported "in the wild" to an acceptable degree.
-# See automake bug#10828.
-# To make any issue more visible, cause the running configure to be aborted
-# by default if the 'rm' program in use doesn't match our expectations; the
-# user can still override this though.
-if rm -f && rm -fr && rm -rf; then : OK; else
-  cat >&2 <<'END'
-Oops!
-
-Your 'rm' program seems unable to run without file operands specified
-on the command line, even when the '-f' option is present.  This is contrary
-to the behaviour of most rm programs out there, and not conforming with
-the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
-
-Please tell bug-automake at gnu.org about your system, including the value
-of your $PATH and any error possibly output before this message.  This
-can help us improve future automake versions.
-
-END
-  if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
-    echo 'Configuration will proceed anyway, since you have set the' >&2
-    echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
-    echo >&2
-  else
-    cat >&2 <<'END'
-Aborting the configuration process, to ensure you take notice of the issue.
-
-You can download and install GNU coreutils to get an 'rm' implementation
-that behaves properly: <http://www.gnu.org/software/coreutils/>.
-
-If you want to complete the configuration process using your problematic
-'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
-to "yes", and re-run configure.
-
-END
-    as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
-  fi
-fi
-
-
-# Checks for programs.
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Compilation architecture: PPC, i686, x86_64, Other" >&5
-$as_echo_n "checking Compilation architecture: PPC, i686, x86_64, Other... " >&6; }
-if test x$(which arch) = x
-then ARCH=$($(which uname) -m)
-else ARCH=$($(which arch))
-fi
-
-case "${target_os}" in
-  mingw*)
-    MinGW=yes
-  ;;
-  cygwin*)
-    Cygwin=yes
-  ;;
-esac
-
-if test x$ARCH = xppc
-then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: PowerPC" >&5
-$as_echo "PowerPC" >&6; }
-  CFLAGS="$CFLAGS -Wall -ansi -fomit-frame-pointer"
-  CXXFLAGS="$CXXFLAGS -Wall -ansi -fomit-frame-pointer"
-else
-  if test x$MinGW = xyes
-  then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: MinGW" >&5
-$as_echo "MinGW" >&6; }
-    CFLAGS="$CFLAGS -Wall -march=i686 -O3 -DMINGW -fomit-frame-pointer \
-	        -funroll-loops -I/include -L/lib"
-    CXXFLAGS="$CXXFLAGS -Wall -march=i686 -O3 \
-            -fomit-frame-pointer -funroll-loops -I/include -L/lib"
-    CPPFLAGS="$CPPFLAGS -I/include"
-  else
-    if test x$Cygwin = xyes
-    then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: Cygwin" >&5
-$as_echo "Cygwin" >&6; }
-      CFLAGS="$CFLAGS -Wall -march=i686 -O3 -fomit-frame-pointer \
-           -funroll-loops"
-      CXXFLAGS="$CXXFLAGS -Wall -march=i686 -O3 \
-              -fomit-frame-pointer -funroll-loops"
-      CPPFLAGS="$CPPFLAGS"
-    else
-      if test x$ARCH = xi686
-      then
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: i686" >&5
-$as_echo "i686" >&6; }
-        CFLAGS="$CFLAGS -Wall -ansi -march=i686 -O3 -fomit-frame-pointer -funroll-loops"
-        CXXFLAGS="$CXXFLAGS -Wall -ansi -march=i686 -O3 \
-                -fomit-frame-pointer -funroll-loops"
-      else
-        if test x$ARCH = xx86_64
-        then
-          { $as_echo "$as_me:${as_lineno-$LINENO}: result: x86_64" >&5
-$as_echo "x86_64" >&6; }
-          CFLAGS="-Wall -ansi -O3 -mtune=nocona -fomit-frame-pointer -funroll-loops $CFLAGS"
-          CXXFLAGS="-Wall -ansi -O3 -mtune=nocona \
-                  -fomit-frame-pointer -funroll-loops $CXXFLAGS"
-        else
-          { $as_echo "$as_me:${as_lineno-$LINENO}: result: Other" >&5
-$as_echo "Other" >&6; }
-          CFLAGS="-Wall -ansi -O3 $CFLAGS"
-          CXXFLAGS="-Wall -ansi -O3 $CXXFLAGS"
-        fi
-      fi
-    fi
-  fi
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
-$as_echo "$CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
-$as_echo "$ac_ct_CXX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$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
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
-$as_echo_n "checking whether the C++ compiler works... " >&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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# 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
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C++ compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
-$as_echo_n "checking for C++ compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { 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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-	cross_compiling=yes
-    else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C++ compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; 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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_cxx_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
-$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GXX=yes
-else
-  GXX=
-fi
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
-$as_echo_n "checking whether $CXX accepts -g... " >&6; }
-if ${ac_cv_prog_cxx_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-else
-  CXXFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-else
-  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-	 CXXFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_prog_cxx_g=yes
-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_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
-$as_echo "$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-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
-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:${as_lineno-$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:${as_lineno-$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='\'
-  am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-
-depcc="$CXX"  am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CXX_dependencies_compiler_type+:} false; 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".
-  rm -rf conftest.dir
-  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_CXX_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 10 /bin/sh.
-      echo '/* dummy */' > 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
-      ;;
-    msvc7 | msvc7msys | 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_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-case `pwd` in
-  *\ * | *\	*)
-    { $as_echo "$as_me:${as_lineno-$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.4.6'
-macro_revision='2.4.6'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain=$ac_aux_dir/ltmain.sh
-
-# Backslashify 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'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case $ECHO in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&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
-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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-	 CFLAGS="-g"
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* 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"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-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:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-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_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:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
-$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
-if ${am_cv_prog_cc_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-  # Make sure it works both with $CC and with simple cc.
-  # Following AC_PROG_CC_C_O, we do the test twice because some
-  # compilers refuse to overwrite an existing .o file with -o,
-  # though they will create one.
-  am_cv_prog_cc_c_o=yes
-  for am_i in 1 2; do
-    if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
-   ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
-   ac_status=$?
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } \
-         && test -f conftest2.$ac_objext; then
-      : OK
-    else
-      am_cv_prog_cc_c_o=no
-      break
-    fi
-  done
-  rm -f core conftest*
-  unset am_i
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
-$as_echo "$am_cv_prog_cc_c_o" >&6; }
-if test "$am_cv_prog_cc_c_o" != 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
-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:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; 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".
-  rm -rf conftest.dir
-  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 10 /bin/sh.
-      echo '/* dummy */' > 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
-      ;;
-    msvc7 | msvc7msys | 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:${as_lineno-$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:${as_lineno-$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 ${ac_cv_path_SED+:} false; 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
-     { ac_script=; unset 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"
-      as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*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
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    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_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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 ${ac_cv_path_GREP+:} false; 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"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*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
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    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_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; 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"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*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
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    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_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; 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"
-      as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*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
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    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_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$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 no = "$withval" || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test yes = "$GCC"; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$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 yes = "$with_gnu_ld"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; 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 no != "$with_gnu_ld" && break
-	;;
-      *)
-	test yes != "$with_gnu_ld" && 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:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; 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:${as_lineno-$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:${as_lineno-$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 ${lt_cv_path_NM+:} false; 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
-	# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
-	case $build_os in
-	mingw*) lt_bad_file=conftest.nm/nofile ;;
-	*) lt_bad_file=/dev/null ;;
-	esac
-	case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
-	*$lt_bad_file* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break 2
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break 2
-	    ;;
-	  *)
-	    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:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test no != "$lt_cv_path_NM"; then
-  NM=$lt_cv_path_NM
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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 "link -dump"
-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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
-
-    case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols -headers"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test : != "$DUMPBIN"; then
-    NM=$DUMPBIN
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; 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:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: 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:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; 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;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    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;
-    ;;
-
-  bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
-    # 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
-    ;;
-
-  os2*)
-    # The test takes a long time on OS/2.
-    lt_cv_sys_max_cmd_len=8192
-    ;;
-
-  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" && \
-       test undefined != "$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`env echo "$teststring$teststring" 2>/dev/null` \
-	         = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test 17 != "$i" # 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:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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"}
-
-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:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5
-$as_echo_n "checking how to convert $build file names to $host format... " >&6; }
-if ${lt_cv_to_host_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32
-        ;;
-    esac
-    ;;
-  *-*-cygwin* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
-        ;;
-      *-*-cygwin* )
-        lt_cv_to_host_file_cmd=func_convert_file_noop
-        ;;
-      * ) # otherwise, assume *nix
-        lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin
-        ;;
-    esac
-    ;;
-  * ) # unhandled hosts (and "normal" native builds)
-    lt_cv_to_host_file_cmd=func_convert_file_noop
-    ;;
-esac
-
-fi
-
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5
-$as_echo "$lt_cv_to_host_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5
-$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; }
-if ${lt_cv_to_tool_file_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  #assume ordinary cross tools, or native build.
-lt_cv_to_tool_file_cmd=func_convert_file_noop
-case $host in
-  *-*-mingw* )
-    case $build in
-      *-*-mingw* ) # actually msys
-        lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
-        ;;
-    esac
-    ;;
-esac
-
-fi
-
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5
-$as_echo "$lt_cv_to_tool_file_cmd" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$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
-  cygwin* | mingw* | pw32* | cegcc*)
-    if test yes != "$GCC"; then
-      reload_cmds=false
-    fi
-    ;;
-  darwin*)
-    if test yes = "$GCC"; 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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; 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
-# that 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
-    # Keep this pattern in sync with the one in func_win32_libid.
-    lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
-    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
-  ;;
-
-haiku*)
-  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])(-bit)?( [LM]SB)? 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 glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | 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* | bitrig*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; 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
-  ;;
-os2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-
-file_magic_glob=
-want_nocaseglob=no
-if test "$build" = "$host"; then
-  case $host_os in
-  mingw* | pw32*)
-    if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
-      want_nocaseglob=yes
-    else
-      file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"`
-    fi
-    ;;
-  esac
-fi
-
-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}dlltool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dlltool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DLLTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
-$as_echo "$DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
-$as_echo "$ac_ct_DLLTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5
-$as_echo_n "checking how to associate runtime and link libraries... " >&6; }
-if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_sharedlib_from_linklib_cmd='unknown'
-
-case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
-  # two different shell functions defined in ltmain.sh;
-  # decide which one to use based on capabilities of $DLLTOOL
-  case `$DLLTOOL --help 2>&1` in
-  *--identify-strict*)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib
-    ;;
-  *)
-    lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback
-    ;;
-  esac
-  ;;
-*)
-  # fallback: assume linklib IS sharedlib
-  lt_cv_sharedlib_from_linklib_cmd=$ECHO
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5
-$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; }
-sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd
-test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in ar
-  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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$AR" && break
-  done
-fi
-if test -z "$AR"; then
-  ac_ct_AR=$AR
-  for ac_prog in ar
-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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_AR="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_AR" && break
-done
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$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
-fi
-
-: ${AR=ar}
-: ${AR_FLAGS=cru}
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5
-$as_echo_n "checking for archiver @FILE support... " >&6; }
-if ${lt_cv_ar_at_file+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ar_at_file=no
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  echo conftest.$ac_objext > conftest.lst
-      lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5'
-      { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-      if test 0 -eq "$ac_status"; then
-	# Ensure the archiver fails upon bogus file names.
-	rm -f conftest.$ac_objext libconftest.a
-	{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5
-  (eval $lt_ar_try) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	if test 0 -ne "$ac_status"; then
-          lt_cv_ar_at_file=@
-        fi
-      fi
-      rm -f conftest.* libconftest.a
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5
-$as_echo "$lt_cv_ar_at_file" >&6; }
-
-if test no = "$lt_cv_ar_at_file"; then
-  archiver_list_spec=
-else
-  archiver_list_spec=$lt_cv_ar_at_file
-fi
-
-
-
-
-
-
-
-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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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
-  bitrig* | openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# 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:${as_lineno-$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 ${lt_cv_sys_global_symbol_pipe+:} false; 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 ia64 = "$host_cpu"; 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
-
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  # Gets list of data symbols to import.
-  lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
-  # Adjust the below global symbol transforms to fixup imported variables.
-  lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
-  lt_c_name_hook=" -e 's/^I .* \(.*\)$/  {\"\1\", (void *) 0},/p'"
-  lt_c_name_lib_hook="\
-  -e 's/^I .* \(lib.*\)$/  {\"\1\", (void *) 0},/p'\
-  -e 's/^I .* \(.*\)$/  {\"lib\1\", (void *) 0},/p'"
-else
-  # Disable hooks by default.
-  lt_cv_sys_global_symbol_to_import=
-  lt_cdecl_hook=
-  lt_c_name_hook=
-  lt_c_name_lib_hook=
-fi
-
-# 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"\
-$lt_cdecl_hook\
-" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
-" -e 's/^$symcode$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"\
-$lt_c_name_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/p'"
-
-# Transform an extracted symbol line into symbol name with lib prefix and
-# symbol address.
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
-$lt_c_name_lib_hook\
-" -e 's/^: \(.*\) .*$/  {\"\1\", (void *) 0},/p'"\
-" -e 's/^$symcode$symcode* .* \(lib.*\)$/  {\"\1\", (void *) \&\1},/p'"\
-" -e 's/^$symcode$symcode* .* \(.*\)$/  {\"lib\1\", (void *) \&\1},/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,
-    # D for any global variable and I for any imported 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};"\
-"     /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\
-"     /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\
-"     /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\
-"     {split(\$ 0,a,/\||\r/); split(a[2],s)};"\
-"     s[1]~/^[@?]/{print f,s[1],s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print f,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
-  lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
-
-  # 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\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && 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
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#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.  */
-LT_DLSYM_CONST struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* .* \(.*\)$/  {\"\1\", (void *) \&\1},/" < "$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_globsym_save_LIBS=$LIBS
-	  lt_globsym_save_CFLAGS=$CFLAGS
-	  LIBS=conftstm.$ac_objext
-	  CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest$ac_exeext; then
-	    pipe_works=yes
-	  fi
-	  LIBS=$lt_globsym_save_LIBS
-	  CFLAGS=$lt_globsym_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 yes = "$pipe_works"; 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:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-# Response file support.
-if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-  nm_file_list_spec='@'
-elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then
-  nm_file_list_spec='@'
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5
-$as_echo_n "checking for sysroot... " >&6; }
-
-# Check whether --with-sysroot was given.
-if test "${with_sysroot+set}" = set; then :
-  withval=$with_sysroot;
-else
-  with_sysroot=no
-fi
-
-
-lt_sysroot=
-case $with_sysroot in #(
- yes)
-   if test yes = "$GCC"; then
-     lt_sysroot=`$CC --print-sysroot 2>/dev/null`
-   fi
-   ;; #(
- /*)
-   lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
-   ;; #(
- no|'')
-   ;; #(
- *)
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5
-$as_echo "$with_sysroot" >&6; }
-   as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5
-   ;;
-esac
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5
-$as_echo "${lt_sysroot:-no}" >&6; }
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5
-$as_echo_n "checking for a working dd... " >&6; }
-if ${ac_cv_path_lt_DD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-: ${lt_DD:=$DD}
-if test -z "$lt_DD"; then
-  ac_path_lt_DD_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 dd; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_lt_DD" || continue
-if "$ac_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=:
-fi
-      $ac_path_lt_DD_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_lt_DD"; then
-    :
-  fi
-else
-  ac_cv_path_lt_DD=$lt_DD
-fi
-
-rm -f conftest.i conftest2.i conftest.out
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5
-$as_echo "$ac_cv_path_lt_DD" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5
-$as_echo_n "checking how to truncate binary pipes... " >&6; }
-if ${lt_cv_truncate_bin+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  printf 0123456789abcdef0123456789abcdef >conftest.i
-cat conftest.i conftest.i >conftest2.i
-lt_cv_truncate_bin=
-if "$ac_cv_path_lt_DD" bs=32 count=1 <conftest2.i >conftest.out 2>/dev/null; then
-  cmp -s conftest.i conftest.out \
-  && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1"
-fi
-rm -f conftest.i conftest2.i conftest.out
-test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5
-$as_echo "$lt_cv_truncate_bin" >&6; }
-
-
-
-
-
-
-
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in $*""; do
-      case $cc_temp in
-        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; 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 what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test yes = "$lt_cv_prog_gnu_ld"; 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*
-  ;;
-
-mips64*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    emul=elf
-    case `/usr/bin/file conftest.$ac_objext` in
-      *32-bit*)
-	emul="${emul}32"
-	;;
-      *64-bit*)
-	emul="${emul}64"
-	;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *MSB*)
-	emul="${emul}btsmip"
-	;;
-      *LSB*)
-	emul="${emul}ltsmip"
-	;;
-    esac
-    case `/usr/bin/file conftest.$ac_objext` in
-      *N32*)
-	emul="${emul}n32"
-	;;
-    esac
-    LD="${LD-ld} -m $emul"
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.  Note that the listed cases only cover the
-  # situations where additional linker options are needed (such as when
-  # doing 32-bit compilation for a host where ld defaults to 64-bit, or
-  # vice versa); the common cases where no linker options are needed do
-  # not appear in the list.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; 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*)
-	    case `/usr/bin/file conftest.o` in
-	      *x86-64*)
-		LD="${LD-ld} -m elf32_x86_64"
-		;;
-	      *)
-		LD="${LD-ld} -m elf_i386"
-		;;
-	    esac
-	    ;;
-	  powerpc64le-*linux*)
-	    LD="${LD-ld} -m elf32lppclinux"
-	    ;;
-	  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"
-	    ;;
-	  powerpcle-*linux*)
-	    LD="${LD-ld} -m elf64lppc"
-	    ;;
-	  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:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    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:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test yes != "$lt_cv_cc_needs_belf"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS=$SAVE_CFLAGS
-  fi
-  ;;
-*-*solaris*)
-  # Find out what ABI is being produced by ac_compile, and set linker
-  # options accordingly.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*)
-        case $host in
-        i?86-*-solaris*|x86_64-*-solaris*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        sparc*-*-solaris*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-        esac
-        # GNU ld 2.21 introduced _sol2 emulations.  Use them if available.
-        if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then
-          LD=${LD-ld}_sol2
-        fi
-        ;;
-      *)
-	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
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args.
-set dummy ${ac_tool_prefix}mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MANIFEST_TOOL"; then
-  ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL
-if test -n "$MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5
-$as_echo "$MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_MANIFEST_TOOL"; then
-  ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL
-  # Extract the first word of "mt", so it can be a program name with args.
-set dummy mt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_MANIFEST_TOOL"; then
-  ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_MANIFEST_TOOL="mt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL
-if test -n "$ac_ct_MANIFEST_TOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5
-$as_echo "$ac_ct_MANIFEST_TOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_MANIFEST_TOOL" = x; then
-    MANIFEST_TOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$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
-    MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL
-  fi
-else
-  MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL"
-fi
-
-test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5
-$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; }
-if ${lt_cv_path_mainfest_tool+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_path_mainfest_tool=no
-  echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5
-  $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
-  cat conftest.err >&5
-  if $GREP 'Manifest Tool' conftest.out > /dev/null; then
-    lt_cv_path_mainfest_tool=yes
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5
-$as_echo "$lt_cv_path_mainfest_tool" >&6; }
-if test yes != "$lt_cv_path_mainfest_tool"; then
-  MANIFEST_TOOL=:
-fi
-
-
-
-
-
-
-  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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; 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 there is a non-empty error log, and "single_module"
-	# appears in it, assume the flag caused a linker warning
-        if test -s conftest.err && $GREP single_module conftest.err; then
-	  cat conftest.err >&5
-	# Otherwise, if the output was created with a 0 exit code from
-	# the compiler, it worked.
-	elif test -f libconftest.dylib && test 0 = "$_lt_result"; 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:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-	LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      echo "$RANLIB libconftest.a" >&5
-      $RANLIB libconftest.a 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -s conftest.err && $GREP force_load conftest.err; then
-	cat conftest.err >&5
-      elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then
-	lt_cv_ld_force_load=yes
-      else
-	cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&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 yes = "$lt_cv_apple_cc_single_mod"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test yes = "$lt_cv_ld_exported_symbols_list"; 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" && test no = "$lt_cv_ld_force_load"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x$2 in
-    x)
-        ;;
-    *:)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
-        ;;
-    x:*)
-        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
-        ;;
-    *)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    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
-{ $as_echo "$as_me:${as_lineno-$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 ${ac_cv_prog_CPP+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  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:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-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`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-func_stripname_cnf ()
-{
-  case $2 in
-  .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;;
-  *)  func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;;
-  esac
-} # func_stripname_cnf
-
-
-
-
-
-# Set options
-
-
-
-        enable_dlopen=no
-
-
-  enable_win32_dll=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; lt_p=${PACKAGE-default}
-    case $withval in
-    yes|no) pic_mode=$withval ;;
-    *)
-      pic_mode=default
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
-      for lt_pkg in $withval; do
-	IFS=$lt_save_ifs
-	if test "X$lt_pkg" = "X$lt_p"; then
-	  pic_mode=yes
-	fi
-      done
-      IFS=$lt_save_ifs
-      ;;
-    esac
-else
-  pic_mode=default
-fi
-
-
-
-
-
-
-
-
-  # 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
-
-
-
-
-
-
-
-
-  shared_archive_member_spec=
-case $host,$enable_shared in
-power*-*-aix[5-9]*,yes)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5
-$as_echo_n "checking which variant of shared library versioning to provide... " >&6; }
-
-# Check whether --with-aix-soname was given.
-if test "${with_aix_soname+set}" = set; then :
-  withval=$with_aix_soname; case $withval in
-    aix|svr4|both)
-      ;;
-    *)
-      as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5
-      ;;
-    esac
-    lt_cv_with_aix_soname=$with_aix_soname
-else
-  if ${lt_cv_with_aix_soname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_with_aix_soname=aix
-fi
-
-    with_aix_soname=$lt_cv_with_aix_soname
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5
-$as_echo "$with_aix_soname" >&6; }
-  if test aix != "$with_aix_soname"; then
-    # For the AIX way of multilib, we name the shared archive member
-    # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o',
-    # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File.
-    # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag,
-    # the AIX toolchain works better with OBJECT_MODE set (default 32).
-    if test 64 = "${OBJECT_MODE-32}"; then
-      shared_archive_member_spec=shr_64
-    else
-      shared_archive_member_spec=shr
-    fi
-  fi
-  ;;
-*)
-  with_aix_soname=aix
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-# 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:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; 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:${as_lineno-$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 set != "${COLLECT_NAMES+set}"; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# 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
-
-func_cc_basename $compiler
-cc_basename=$func_cc_basename_result
-
-
-# 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:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; 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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; 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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$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*
-
-
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test yes = "$GCC"; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; 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"  ## exclude from sc_useless_quotes_in_assignment
-   # 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:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; 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=
-
-
-  if test yes = "$GCC"; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      fi
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-
-    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'
-      case $host_os in
-      os2*)
-	lt_prog_compiler_static='$wl-static'
-	;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    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
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      if test -n "$lt_prog_compiler_pic"; then
-        lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic"
-      fi
-      ;;
-    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 ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static='-Bstatic'
-      else
-	lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      case $cc_basename in
-      nagfor*)
-        # NAG Fortran compiler
-        lt_prog_compiler_wl='-Wl,-Wl,,'
-        lt_prog_compiler_pic='-PIC'
-        lt_prog_compiler_static='-Bstatic'
-        ;;
-      esac
-      ;;
-
-    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'
-      case $host_os in
-      os2*)
-	lt_prog_compiler_static='$wl-static'
-	;;
-      esac
-      ;;
-
-    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 | kopensolaris*-gnu | 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'
-	;;
-      nagfor*)
-	# NAG Fortran compiler
-	lt_prog_compiler_wl='-Wl,-Wl,,'
-	lt_prog_compiler_pic='-PIC'
-	lt_prog_compiler_static='-Bstatic'
-	;;
-      tcc*)
-	# Fabrice Bellard et al's Tiny C Compiler
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-fPIC'
-	lt_prog_compiler_static='-static'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # 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* | bgxl* | bgf* | mpixl*)
-	# IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-	lt_prog_compiler_wl='-Wl,'
-	lt_prog_compiler_pic='-qpic'
-	lt_prog_compiler_static='-qstaticlink'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
-	  # 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=''
-	  ;;
-	*Sun\ F* | *Sun*Fortran*)
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl='-Qoption ld '
-	  ;;
-	*Sun\ C*)
-	  # Sun C 5.9
-	  lt_prog_compiler_pic='-KPIC'
-	  lt_prog_compiler_static='-Bstatic'
-	  lt_prog_compiler_wl='-Wl,'
-	  ;;
-        *Intel*\ [CF]*Compiler*)
-	  lt_prog_compiler_wl='-Wl,'
-	  lt_prog_compiler_pic='-fPIC'
-	  lt_prog_compiler_static='-static'
-	  ;;
-	*Portland\ Group*)
-	  lt_prog_compiler_wl='-Wl,'
-	  lt_prog_compiler_pic='-fpic'
-	  lt_prog_compiler_static='-Bstatic'
-	  ;;
-	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* | sunf77* | sunf90* | sunf95*)
-	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 that 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:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic=$lt_prog_compiler_pic
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5
-$as_echo "$lt_cv_prog_compiler_pic" >&6; }
-lt_prog_compiler_pic=$lt_cv_prog_compiler_pic
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_pic_works+:} false; 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"  ## exclude from sc_useless_quotes_in_assignment
-   # 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:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_pic_works"; 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:${as_lineno-$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 ${lt_cv_prog_compiler_static_works+:} false; 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 "$_lt_linker_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_static_works"; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o+:} false; 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:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o+:} false; 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:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links=nottested
-if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test no = "$hard_links"; then
-    { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$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_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 yes != "$GCC"; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd* | bitrig*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test yes = "$with_gnu_ld"; then
-    case $host_os in
-      aix*)
-	# The AIX port of GNU ld has always aspired to compatibility
-	# with the native linker.  However, as the warning in the GNU ld
-	# block says, versions before 2.19.5* couldn't really create working
-	# shared libraries, regardless of the interface used.
-	case `$LD -v 2>&1` in
-	  *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-	  *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-	  *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-	  *)
-	    lt_use_gnu_ld_interface=yes
-	    ;;
-	esac
-	;;
-      *)
-	lt_use_gnu_ld_interface=yes
-	;;
-    esac
-  fi
-
-  if test yes = "$lt_use_gnu_ld_interface"; 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 | $SED -e 's/(^)\+)\s\+//' 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [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 ia64 != "$host_cpu"; then
-	ld_shlibs=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, 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 install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_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'
-      export_dynamic_flag_spec='$wl--export-all-symbols'
-      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/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-
-      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, use it as
-	# is; otherwise, prepend EXPORTS...
-	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; 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
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      shrext_cmds=.dll
-      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	prefix_cmds="$SED"~
-	if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	  prefix_cmds="$prefix_cmds -e 1d";
-	fi~
-	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    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 | kopensolaris*-gnu)
-      tmp_diet=no
-      if test linux-dietlibc = "$host_os"; 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 no = "$tmp_diet"
-      then
-	tmp_addflag=' $pic_flag'
-	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; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95* | pgfortran*)
-					# 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; func_echo_all \"$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' ;;
-        nagfor*)                        # NAGFOR 5.3
-          tmp_sharedflag='-Wl,-shared' ;;
-	xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-	  tmp_sharedflag='-qmkshrobj'
-	  tmp_addflag= ;;
-	nvcc*)	# Cuda Compiler Driver 2.2
-	  whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	  compiler_needs_object=yes
-	  ;;
-	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; func_echo_all \"$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 yes = "$supports_anon_versioning"; 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
-	tcc*)
-	  export_dynamic_flag_spec='-rdynamic'
-	  ;;
-	xlf* | bgf* | bgxlf* | mpixlf*)
-	  # 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='$wl-rpath $wl$libdir'
-	  archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
-	  if test yes = "$supports_anon_versioning"; 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 $linker_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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $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 cannot
-*** 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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	archive_expsym_cmds='$CC -shared $pic_flag $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 no = "$ld_shlibs"; 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 yes = "$GCC" && 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 ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm.
-	# Without the "-l" option, or with the "-B" option, AIX nm treats
-	# weak defined symbols like other global defined symbols, whereas
-	# GNU nm marks them as "W".
-	# While the 'weak' keyword is ignored in the Export File, we need
-	# it in the Import File for the 'aix-soname' feature, so we have
-	# to replace the "-B" option with "-P" for AIX 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") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-	else
-	  export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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
-	# have runtime linking enabled, and use it for executables.
-	# For shared libraries, we enable/disable runtime linking
-	# depending on the kind of the shared library created -
-	# when "with_aix_soname,aix_use_runtimelinking" is:
-	# "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-	# "aix,yes"  lib.so          shared, rtl:yes, for executables
-	#            lib.a           static archive
-	# "both,no"  lib.so.V(shr.o) shared, rtl:yes
-	#            lib.a(lib.so.V) shared, rtl:no,  for executables
-	# "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-	#            lib.a(lib.so.V) shared, rtl:no
-	# "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-	#            lib.a           static archive
-	case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	  for ld_flag in $LDFLAGS; do
-	  if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then
-	    aix_use_runtimelinking=yes
-	    break
-	  fi
-	  done
-	  if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-	    # With aix-soname=svr4, we create the lib.so.V shared archives only,
-	    # so we don't have lib.a shared libs to link our executables.
-	    # We have to force runtime linking in this case.
-	    aix_use_runtimelinking=yes
-	    LDFLAGS="$LDFLAGS -Wl,-brtl"
-	  fi
-	  ;;
-	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,'
-      case $with_aix_soname,$aix_use_runtimelinking in
-      aix,*) ;; # traditional, no import file
-      svr4,* | *,yes) # use import file
-	# The Import File defines what to hardcode.
-	hardcode_direct=no
-	hardcode_direct_absolute=no
-	;;
-      esac
-
-      if test yes = "$GCC"; 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 yes = "$aix_use_runtimelinking"; then
-	  shared_flag="$shared_flag "'$wl-G'
-	fi
-	# Need to ensure runtime linking is disabled for the traditional
-	# shared library, or the linker may eventually find shared libraries
-	# /with/ Import File - we do not want to mix them.
-	shared_flag_aix='-shared'
-	shared_flag_svr4='-shared $wl-G'
-      else
-	# not using gcc
-	if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
-	    shared_flag='$wl-G'
-	  else
-	    shared_flag='$wl-bM:SRE'
-	  fi
-	  shared_flag_aix='$wl-bM:SRE'
-	  shared_flag_svr4='$wl-G'
-	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,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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.
-        if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_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 "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-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 -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-      else
-	if test ia64 = "$host_cpu"; 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.
-	 if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath_+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_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 "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath_"; then
-    lt_cv_aix_libpath_=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath_
-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'
-	  if test yes = "$with_gnu_ld"; then
-	    # We only use this code for GNU lds that support --whole-archive.
-	    whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive'
-	  else
-	    # Exported symbols can be pulled into shared objects from archives
-	    whole_archive_flag_spec='$convenience'
-	  fi
-	  archive_cmds_need_lc=yes
-	  archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-	  # -brtl affects multiple linker settings, -berok does not and is overridden later
-	  compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
-	  if test svr4 != "$with_aix_soname"; then
-	    # This is similar to how AIX traditionally builds its shared libraries.
-	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-	  fi
-	  if test aix != "$with_aix_soname"; then
-	    archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) >  [...]
-	  else
-	    # used by -dlpreopen to get the symbols
-	    archive_expsym_cmds="$archive_expsym_cmds"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-	  fi
-	  archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d'
-	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.
-      case $cc_basename in
-      cl*)
-	# Native MSVC
-	hardcode_libdir_flag_spec=' '
-	allow_undefined_flag=unsupported
-	always_export_symbols=yes
-	file_list_spec='@'
-	# 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 $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-	archive_expsym_cmds='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-            cp "$export_symbols" "$output_objdir/$soname.def";
-            echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-          else
-            $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-          fi~
-          $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-          linknames='
-	# The linker will not automatically build a static lib if we build a DLL.
-	# _LT_TAGVAR(old_archive_from_new_cmds, )='true'
-	enable_shared_with_static_runtimes=yes
-	exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-	export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-	# Don't use ranlib
-	old_postinstall_cmds='chmod 644 $oldlib'
-	postlink_cmds='lt_outputfile="@OUTPUT@"~
-          lt_tool_outputfile="@TOOL_OUTPUT@"~
-          case $lt_outputfile in
-            *.exe|*.EXE) ;;
-            *)
-              lt_outputfile=$lt_outputfile.exe
-              lt_tool_outputfile=$lt_tool_outputfile.exe
-              ;;
-          esac~
-          if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-            $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-            $RM "$lt_outputfile.manifest";
-          fi'
-	;;
-      *)
-	# Assume MSVC wrapper
-	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 `func_echo_all "$deplibs" | $SED '\''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'
-	enable_shared_with_static_runtimes=yes
-	;;
-      esac
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test yes = "$lt_cv_ld_force_load"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag=$_lt_dar_allow_undefined
-  case $cc_basename in
-     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test yes = "$_lt_dar_can_shared"; then
-    output_verbose_link_cmd=func_echo_all
-    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
-      ;;
-
-    # 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 $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test yes = "$GCC"; then
-	archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$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 "x$output_objdir/$soname" = "x$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 yes,no = "$GCC,$with_gnu_ld"; then
-	archive_cmds='$CC -shared $pic_flag $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 no = "$with_gnu_ld"; then
-	hardcode_libdir_flag_spec='$wl+b $wl$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 yes,no = "$GCC,$with_gnu_ld"; 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 $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds='$CC -shared $pic_flag $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'
-	  ;;
-	*)
-
-	  # Older versions of the 11.00 compiler do not understand -b yet
-	  # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS=$LDFLAGS
-   LDFLAGS="$LDFLAGS -b"
-   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 "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test yes = "$lt_cv_prog_compiler__b"; then
-    archive_cmds='$CC -b $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
-
-	  ;;
-	esac
-      fi
-      if test no = "$with_gnu_ld"; 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 yes = "$GCC"; then
-	archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $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.
-	# This should be the same for all languages, so no per-tag cache variable.
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5
-$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; }
-if ${lt_cv_irix_exported_symbol+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  save_LDFLAGS=$LDFLAGS
-	   LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null"
-	   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo (void) { return 0; }
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_irix_exported_symbol=yes
-else
-  lt_cv_irix_exported_symbol=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-           LDFLAGS=$save_LDFLAGS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5
-$as_echo "$lt_cv_irix_exported_symbol" >&6; }
-	if test yes = "$lt_cv_irix_exported_symbol"; then
-          archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib'
-	fi
-      else
-	archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -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
-      ;;
-
-    linux*)
-      case $cc_basename in
-      tcc*)
-	# Fabrice Bellard et al's Tiny C Compiler
-	ld_shlibs=yes
-	archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	;;
-      esac
-      ;;
-
-    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* | bitrig*)
-      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__`"; 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
-	  archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  hardcode_libdir_flag_spec='$wl-rpath,$libdir'
-	fi
-      else
-	ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      shrext_cmds=.dll
-      archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	$ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	$ECHO EXPORTS >> $output_objdir/$libname.def~
-	prefix_cmds="$SED"~
-	if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	  prefix_cmds="$prefix_cmds -e 1d";
-	fi~
-	prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	emximp -o $lib $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    osf3*)
-      if test yes = "$GCC"; 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" && func_echo_all "$wl-set_version $wl$verstring"` $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" && func_echo_all "-set_version $verstring"` -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 yes = "$GCC"; then
-	allow_undefined_flag=' $wl-expect_unresolved $wl\*'
-	archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $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" && func_echo_all "-set_version $verstring"` -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 "-set_version $verstring"` -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 yes = "$GCC"; then
-	wlarc='$wl'
-	archive_cmds='$CC -shared $pic_flag $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 $pic_flag $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 yes = "$GCC"; 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 sequent = "$host_vendor"; 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 yes = "$GCC"; 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 CANNOT 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 yes = "$GCC"; 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 sni = "$host_vendor"; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	export_dynamic_flag_spec='$wl-Blargedynsym'
-	;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test no = "$ld_shlibs" && 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 yes,yes = "$GCC,$enable_shared"; 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:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 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\":${as_lineno-$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:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	  then
-	    lt_cv_archive_cmds_need_lc=no
-	  else
-	    lt_cv_archive_cmds_need_lc=yes
-	  fi
-	  allow_undefined_flag=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test yes = "$GCC"; then
-  case $host_os in
-    darwin*) lt_awk_arg='/^libraries:/,/LR/' ;;
-    *) lt_awk_arg='/^libraries:/' ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;;
-    *) lt_sed_strip_eq='s|=/|/|g' ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # 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 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # 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`
-  # ...but if some path component already ends with the multilib dir we assume
-  # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer).
-  case "$lt_multi_os_dir; $lt_search_path_spec " in
-  "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*)
-    lt_multi_os_dir=
-    ;;
-  esac
-  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"
-    elif test -n "$lt_multi_os_dir"; then
-      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; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's|/\([A-Za-z]:\)|\1|g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-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 # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test ia64 = "$host_cpu"; 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
-    # Using Import Files as archive members, it is possible to support
-    # filename-based versioning of shared library archives on AIX. While
-    # this would work for both with and without runtime linking, it will
-    # prevent static linking of such archives. So we do filename-based
-    # shared library versioning with .so extension only, which is used
-    # when both runtime linking and shared linking is enabled.
-    # Unfortunately, runtime linking may impact performance, so we do
-    # not want this to be the default eventually. Also, we use the
-    # versioned .so libs for executables only if there is the -brtl
-    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
-    # To allow for filename-based versioning support, we need to create
-    # libNAME.so.V as an archive file, containing:
-    # *) an Import File, referring to the versioned filename of the
-    #    archive as well as the shared archive member, telling the
-    #    bitwidth (32 or 64) of that shared object, and providing the
-    #    list of exported symbols of that shared object, eventually
-    #    decorated with the 'weak' keyword
-    # *) the shared object with the F_LOADONLY flag set, to really avoid
-    #    it being seen by the linker.
-    # At run time we better use the real file rather than another symlink,
-    # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
-    case $with_aix_soname,$aix_use_runtimelinking in
-    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    aix,yes) # traditional libtool
-      dynamic_linker='AIX unversionable lib.so'
-      # 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'
-      ;;
-    aix,no) # traditional AIX only
-      dynamic_linker='AIX lib.a(lib.so.V)'
-      # 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'
-      ;;
-    svr4,*) # full svr4 only
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,yes) # both, prefer svr4
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # unpreferred sharedlib libNAME.a needs extra handling
-      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
-      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,no) # both, prefer aix
-      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
-      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
-      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
-      ;;
-    esac
-    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=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $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 # correct to gnu/linux during the next big refactor
-  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,$cc_basename in
-  yes,*)
-    # gcc
-    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="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    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
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-    library_names_spec='$libname.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec=$LIB
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        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
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # 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'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # 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 # correct to gnu/linux during the next big refactor
-  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
-  ;;
-
-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[23].*) 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$major $libname$shared_ext'
-      soname_spec='$libname$release$shared_ext$major'
-      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
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  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=LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  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 32 = "$HPUX_IA64_MODE"; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
-    fi
-    ;;
-  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'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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 yes = "$lt_cv_prog_gnu_ld"; then
-		version_type=linux # correct to gnu/linux during the next big refactor
-	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
-  ;;
-
-linux*android*)
-  version_type=none # Android doesn't support versioned libraries.
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext'
-  soname_spec='$libname$release$shared_ext'
-  finish_cmds=
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-
-  # 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
-
-  dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  hardcode_libdir_flag_spec='-L$libdir'
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # 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
-
-  # Ideally, we could use ldconfig to report *all* directores which are
-  # searched for libraries, however this is still not possible.  Aside from not
-  # being certain /sbin/ldconfig is available, command
-  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
-  # even though it is searched at run-time.  Try to do the best guess by
-  # appending ld.so.conf contents (and includes) 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;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 # correct to gnu/linux during the next big refactor
-  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* | bitrig*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec=/usr/lib
-  need_lib_prefix=no
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    need_version=no
-  else
-    need_version=yes
-  fi
-  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
-  shlibpath_overrides_runpath=yes
-  ;;
-
-os2*)
-  libname_spec='$name'
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-  # OS/2 can only load a DLL with a base name of 8 characters or less.
-  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
-    v=$($ECHO $release$versuffix | tr -d .-);
-    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
-    $ECHO $n$v`$shared_ext'
-  library_names_spec='${libname}_dll.$libext'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=BEGINLIBPATH
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  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'
-  ;;
-
-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 # correct to gnu/linux during the next big refactor
-  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 yes = "$with_gnu_ld"; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-    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=sco
-  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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-  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:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
-  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
-  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$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 yes = "$hardcode_automatic"; then
-
-  # We can hardcode non-existent directories.
-  if test no != "$hardcode_direct" &&
-     # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" &&
-     test no != "$hardcode_minus_L"; 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:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test relink = "$hardcode_action" ||
-   test yes = "$inherit_rpath"; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
-     test no = "$enable_shared"; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test yes != "$enable_dlopen"; 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:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
-
-    lt_cv_dlopen=dyld
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  tpf*)
-    # Don't try to run any link tests for TPF.  We know it's impossible
-    # because TPF is a cross-compiler, and we know how we open DSOs.
-    lt_cv_dlopen=dlopen
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=no
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen=shl_load
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
-  lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$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" = xyes; then :
-  lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test no = "$lt_cv_dlopen"; then
-    enable_dlopen=no
-  else
-    enable_dlopen=yes
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS=$CPPFLAGS
-    test yes = "$ac_cv_header_dlfcn_h" && 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:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  	  if test yes = "$cross_compiling"; 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 $LINENO "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
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 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;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && 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:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test yes = "$lt_cv_dlopen_self"; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  	  if test yes = "$cross_compiling"; 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 $LINENO "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
-
-/* When -fvisibility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
-#endif
-
-int fnord () { return 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;
-          else puts (dlerror ());
-	}
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && 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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report what library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test ia64 != "$host_cpu"; then
-      case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in
-      yes,aix,yes) ;;			# shared object as lib.so file only
-      yes,svr4,*) ;;			# shared object as lib.so archive member only
-      yes,*) enable_static=no ;;	# shared object in lib.a archive as well
-      esac
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$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 yes = "$enable_shared" || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$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
-
-      if test -n "$CXX" && ( test no != "$CXX" &&
-    ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) ||
-    (test g++ != "$CXX"))); then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
-$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
-if test -z "$CXXCPP"; then
-  if ${ac_cv_prog_CXXCPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
-$as_echo "$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_cxx_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-else
-  _lt_caught_CXX_error=yes
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-compiler_needs_object_CXX=no
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_direct_absolute_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-inherit_rpath_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-reload_flag_CXX=$reload_flag
-reload_cmds_CXX=$reload_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test yes != "$_lt_caught_CXX_error"; then
-  # 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(int, char *[]) { return(0); }'
-
-  # 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_CFLAGS=$CFLAGS
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  CFLAGS=$CXXFLAGS
-  compiler=$CC
-  compiler_CXX=$CC
-  func_cc_basename $compiler
-cc_basename=$func_cc_basename_result
-
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test yes = "$GXX"; then
-      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-    else
-      lt_prog_compiler_no_builtin_flag_CXX=
-    fi
-
-    if test yes = "$GXX"; then
-      # Set up default GNU C++ configuration
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test yes = "$GCC"; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$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 yes = "$with_gnu_ld"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; 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 no != "$with_gnu_ld" && break
-	;;
-      *)
-	test yes != "$with_gnu_ld" && 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:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; 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:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test yes = "$with_gnu_ld"; then
-        archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-        archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-
-        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-        export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='$wl'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-        else
-          whole_archive_flag_spec_CXX=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-    ld_shlibs_CXX=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-      aix[4-9]*)
-        if test ia64 = "$host_cpu"; 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
-          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
-          # have runtime linking enabled, and use it for executables.
-          # For shared libraries, we enable/disable runtime linking
-          # depending on the kind of the shared library created -
-          # when "with_aix_soname,aix_use_runtimelinking" is:
-          # "aix,no"   lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "aix,yes"  lib.so          shared, rtl:yes, for executables
-          #            lib.a           static archive
-          # "both,no"  lib.so.V(shr.o) shared, rtl:yes
-          #            lib.a(lib.so.V) shared, rtl:no,  for executables
-          # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a(lib.so.V) shared, rtl:no
-          # "svr4,*"   lib.so.V(shr.o) shared, rtl:yes, for executables
-          #            lib.a           static archive
-          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-	    for ld_flag in $LDFLAGS; do
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    done
-	    if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then
-	      # With aix-soname=svr4, we create the lib.so.V shared archives only,
-	      # so we don't have lib.a shared libs to link our executables.
-	      # We have to force runtime linking in this case.
-	      aix_use_runtimelinking=yes
-	      LDFLAGS="$LDFLAGS -Wl,-brtl"
-	    fi
-	    ;;
-          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_CXX=''
-        hardcode_direct_CXX=yes
-        hardcode_direct_absolute_CXX=yes
-        hardcode_libdir_separator_CXX=':'
-        link_all_deplibs_CXX=yes
-        file_list_spec_CXX='$wl-f,'
-        case $with_aix_soname,$aix_use_runtimelinking in
-        aix,*) ;;	# no import file
-        svr4,* | *,yes) # use import file
-          # The Import File defines what to hardcode.
-          hardcode_direct_CXX=no
-          hardcode_direct_absolute_CXX=no
-          ;;
-        esac
-
-        if test yes = "$GXX"; 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_CXX=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_CXX=yes
-	    hardcode_libdir_flag_spec_CXX='-L$libdir'
-	    hardcode_libdir_separator_CXX=
-	  fi
-          esac
-          shared_flag='-shared'
-	  if test yes = "$aix_use_runtimelinking"; then
-	    shared_flag=$shared_flag' $wl-G'
-	  fi
-	  # Need to ensure runtime linking is disabled for the traditional
-	  # shared library, or the linker may eventually find shared libraries
-	  # /with/ Import File - we do not want to mix them.
-	  shared_flag_aix='-shared'
-	  shared_flag_svr4='-shared $wl-G'
-        else
-          # not using gcc
-          if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then
-	      shared_flag='$wl-G'
-	    else
-	      shared_flag='$wl-bM:SRE'
-	    fi
-	    shared_flag_aix='$wl-bM:SRE'
-	    shared_flag_svr4='$wl-G'
-          fi
-        fi
-
-        export_dynamic_flag_spec_CXX='$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_CXX=yes
-	if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          # The "-G" linker flag allows undefined symbols.
-          no_undefined_flag_CXX='-bernotok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath__CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_aix_libpath__CXX=`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 "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath__CXX
-fi
-
-          hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath"
-
-          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag
-        else
-          if test ia64 = "$host_cpu"; then
-	    hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib'
-	    allow_undefined_flag_CXX="-z nodefs"
-	    archive_expsym_cmds_CXX="\$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.
-	    if test set = "${lt_cv_aix_libpath+set}"; then
-  aix_libpath=$lt_cv_aix_libpath
-else
-  if ${lt_cv_aix_libpath__CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-
-  lt_aix_libpath_sed='
-      /Import File Strings/,/^$/ {
-	  /^0/ {
-	      s/^0  *\([^ ]*\) *$/\1/
-	      p
-	  }
-      }'
-  lt_cv_aix_libpath__CXX=`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 "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-  fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-  if test -z "$lt_cv_aix_libpath__CXX"; then
-    lt_cv_aix_libpath__CXX=/usr/lib:/lib
-  fi
-
-fi
-
-  aix_libpath=$lt_cv_aix_libpath__CXX
-fi
-
-	    hardcode_libdir_flag_spec_CXX='$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_CXX=' $wl-bernotok'
-	    allow_undefined_flag_CXX=' $wl-berok'
-	    if test yes = "$with_gnu_ld"; then
-	      # We only use this code for GNU lds that support --whole-archive.
-	      whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
-	    else
-	      # Exported symbols can be pulled into shared objects from archives
-	      whole_archive_flag_spec_CXX='$convenience'
-	    fi
-	    archive_cmds_need_lc_CXX=yes
-	    archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d'
-	    # -brtl affects multiple linker settings, -berok does not and is overridden later
-	    compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`'
-	    if test svr4 != "$with_aix_soname"; then
-	      # This is similar to how AIX traditionally builds its shared
-	      # libraries. Need -bnortl late, we may have -brtl in LDFLAGS.
-	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname'
-	    fi
-	    if test aix != "$with_aix_soname"; then
-	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_sy [...]
-	    else
-	      # used by -dlpreopen to get the symbols
-	      archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV  $output_objdir/$realname.d/$soname $output_objdir'
-	    fi
-	    archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d'
-          fi
-        fi
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  allow_undefined_flag_CXX=unsupported
-	  # Joseph Beckenbach <jrb3 at best.com> says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  ld_shlibs_CXX=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-	case $GXX,$cc_basename in
-	,cl* | no,cl*)
-	  # Native MSVC
-	  # hardcode_libdir_flag_spec is actually meaningless, as there is
-	  # no search path for DLLs.
-	  hardcode_libdir_flag_spec_CXX=' '
-	  allow_undefined_flag_CXX=unsupported
-	  always_export_symbols_CXX=yes
-	  file_list_spec_CXX='@'
-	  # 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_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
-	  archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; then
-              cp "$export_symbols" "$output_objdir/$soname.def";
-              echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
-            else
-              $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
-            fi~
-            $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
-            linknames='
-	  # The linker will not automatically build a static lib if we build a DLL.
-	  # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true'
-	  enable_shared_with_static_runtimes_CXX=yes
-	  # Don't use ranlib
-	  old_postinstall_cmds_CXX='chmod 644 $oldlib'
-	  postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~
-            lt_tool_outputfile="@TOOL_OUTPUT@"~
-            case $lt_outputfile in
-              *.exe|*.EXE) ;;
-              *)
-                lt_outputfile=$lt_outputfile.exe
-                lt_tool_outputfile=$lt_tool_outputfile.exe
-                ;;
-            esac~
-            func_to_tool_file "$lt_outputfile"~
-            if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then
-              $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1;
-              $RM "$lt_outputfile.manifest";
-            fi'
-	  ;;
-	*)
-	  # g++
-	  # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-	  # as there is no search path for DLLs.
-	  hardcode_libdir_flag_spec_CXX='-L$libdir'
-	  export_dynamic_flag_spec_CXX='$wl--export-all-symbols'
-	  allow_undefined_flag_CXX=unsupported
-	  always_export_symbols_CXX=no
-	  enable_shared_with_static_runtimes_CXX=yes
-
-	  if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-	    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $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, use it as
-	    # is; otherwise, prepend EXPORTS...
-	    archive_expsym_cmds_CXX='if   test DEF = "`$SED -n     -e '\''s/^[	 ]*//'\''     -e '\''/^\(;.*\)*$/d'\''     -e '\''s/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p'\''     -e q     $export_symbols`" ; 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 -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	  else
-	    ld_shlibs_CXX=no
-	  fi
-	  ;;
-	esac
-	;;
-      darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc_CXX=no
-  hardcode_direct_CXX=no
-  hardcode_automatic_CXX=yes
-  hardcode_shlibpath_var_CXX=unsupported
-  if test yes = "$lt_cv_ld_force_load"; then
-    whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-
-  else
-    whole_archive_flag_spec_CXX=''
-  fi
-  link_all_deplibs_CXX=yes
-  allow_undefined_flag_CXX=$_lt_dar_allow_undefined
-  case $cc_basename in
-     ifort*|nagfor*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test yes = "$_lt_dar_can_shared"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
-    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
-    archive_expsym_cmds_CXX="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_CXX="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"
-       if test yes != "$lt_cv_apple_cc_single_mod"; then
-      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
-      archive_expsym_cmds_CXX="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
-    fi
-
-  else
-  ld_shlibs_CXX=no
-  fi
-
-	;;
-
-      os2*)
-	hardcode_libdir_flag_spec_CXX='-L$libdir'
-	hardcode_minus_L_CXX=yes
-	allow_undefined_flag_CXX=unsupported
-	shrext_cmds=.dll
-	archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	  $ECHO EXPORTS >> $output_objdir/$libname.def~
-	  emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~
-	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	  emximp -o $lib $output_objdir/$libname.def'
-	archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~
-	  $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~
-	  $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~
-	  $ECHO EXPORTS >> $output_objdir/$libname.def~
-	  prefix_cmds="$SED"~
-	  if test EXPORTS = "`$SED 1q $export_symbols`"; then
-	    prefix_cmds="$prefix_cmds -e 1d";
-	  fi~
-	  prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~
-	  cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
-	  $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
-	  emximp -o $lib $output_objdir/$libname.def'
-	old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
-	enable_shared_with_static_runtimes_CXX=yes
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      freebsd2.*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        ld_shlibs_CXX=no
-        ;;
-
-      freebsd-elf*)
-        archive_cmds_need_lc_CXX=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        ld_shlibs_CXX=yes
-        ;;
-
-      haiku*)
-        archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-        link_all_deplibs_CXX=yes
-        ;;
-
-      hpux9*)
-        hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
-        hardcode_libdir_separator_CXX=:
-        export_dynamic_flag_spec_CXX='$wl-E'
-        hardcode_direct_CXX=yes
-        hardcode_minus_L_CXX=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            ld_shlibs_CXX=no
-            ;;
-          aCC*)
-            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-            ;;
-          *)
-            if test yes = "$GXX"; then
-              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              ld_shlibs_CXX=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test no = "$with_gnu_ld"; then
-	  hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir'
-	  hardcode_libdir_separator_CXX=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      export_dynamic_flag_spec_CXX='$wl-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            hardcode_direct_CXX=no
-            hardcode_shlibpath_var_CXX=no
-            ;;
-          *)
-            hardcode_direct_CXX=yes
-            hardcode_direct_absolute_CXX=yes
-            hardcode_minus_L_CXX=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-          *)
-	    if test yes = "$GXX"; then
-	      if test no = "$with_gnu_ld"; then
-	        case $host_cpu in
-	          hppa*64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[3-9]*)
-	hardcode_direct_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	export_dynamic_flag_spec_CXX='$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_CXX='$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_CXX='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'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test yes = "$GXX"; then
-	      if test no = "$with_gnu_ld"; then
-	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-	      else
-	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib'
-	      fi
-	    fi
-	    link_all_deplibs_CXX=yes
-	    ;;
-        esac
-        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-        hardcode_libdir_separator_CXX=:
-        inherit_rpath_CXX=yes
-        ;;
-
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-		archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    archive_cmds_need_lc_CXX=no
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-	    whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [1-5].* | *pgcpp\ [1-5].*)
-	      prelink_cmds_CXX='tpldir=Template.dir~
-               rm -rf $tpldir~
-               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-               compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"'
-	      old_archive_cmds_CXX='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-                $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~
-                $RANLIB $oldlib'
-	      archive_cmds_CXX='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	      archive_expsym_cmds_CXX='tpldir=Template.dir~
-                rm -rf $tpldir~
-                $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-                $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 and above use weak symbols
-	      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	      archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-	    whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib'
-	    archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname  -o $lib $wl-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed'
-	    ;;
-	  xl* | mpixl* | bgxl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-	    export_dynamic_flag_spec_CXX='$wl--export-dynamic'
-	    archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
-	    if test yes = "$supports_anon_versioning"; then
-	      archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
-                cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-                echo "local: *; };" >> $output_objdir/$libname.ver~
-                $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      no_undefined_flag_CXX=' -zdefs'
-	      archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols'
-	      hardcode_libdir_flag_spec_CXX='-R$libdir'
-	      whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
-	      compiler_needs_object_CXX=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='func_echo_all'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	ld_shlibs_CXX=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  hardcode_libdir_flag_spec_CXX='-R$libdir'
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        ld_shlibs_CXX=yes
-	;;
-
-      openbsd* | bitrig*)
-	if test -f /usr/libexec/ld.so; then
-	  hardcode_direct_CXX=yes
-	  hardcode_shlibpath_var_CXX=no
-	  hardcode_direct_absolute_CXX=yes
-	  archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then
-	    archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib'
-	    export_dynamic_flag_spec_CXX='$wl-E'
-	    whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=func_echo_all
-	else
-	  ld_shlibs_CXX=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir'
-	    hardcode_libdir_separator_CXX=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
-	        archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	        hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-		;;
-	      *)
-	        allow_undefined_flag_CXX=' -expect_unresolved \*'
-	        archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib'
-	        archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-                  echo "-hidden">> $lib.exp~
-                  $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp  `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~
-                  $RM $lib.exp'
-	        hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-		;;
-	    esac
-
-	    hardcode_libdir_separator_CXX=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
-	    ;;
-	  *)
-	    if test yes,no = "$GXX,$with_gnu_ld"; then
-	      allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*'
-	      case $host in
-	        osf3*)
-	          archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-		  ;;
-	        *)
-	          archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib'
-		  ;;
-	      esac
-
-	      hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir'
-	      hardcode_libdir_separator_CXX=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      ld_shlibs_CXX=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            archive_cmds_need_lc_CXX=yes
-	    no_undefined_flag_CXX=' -zdefs'
-	    archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-              $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    hardcode_libdir_flag_spec_CXX='-R$libdir'
-	    hardcode_shlibpath_var_CXX=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'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    link_all_deplibs_CXX=yes
-
-	    output_verbose_link_cmd='func_echo_all'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test yes,no = "$GXX,$with_gnu_ld"; then
-	      no_undefined_flag_CXX=' $wl-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require '-G' NOT '-shared' on this
-	        # platform.
-	        archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib'
-	        archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-                  $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
-	      fi
-
-	      hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir'
-	      case $host_os in
-		solaris2.[0-5] | solaris2.[0-5].*) ;;
-		*)
-		  whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_CXX='$wl-z,text'
-      archive_cmds_need_lc_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-	# Note: We CANNOT 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_CXX='$wl-z,text'
-	allow_undefined_flag_CXX='$wl-z,nodefs'
-	archive_cmds_need_lc_CXX=no
-	hardcode_shlibpath_var_CXX=no
-	hardcode_libdir_flag_spec_CXX='$wl-R,$libdir'
-	hardcode_libdir_separator_CXX=':'
-	link_all_deplibs_CXX=yes
-	export_dynamic_flag_spec_CXX='$wl-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~
-              '"$old_archive_cmds_CXX"
-	    reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~
-              '"$reload_cmds_CXX"
-	    ;;
-	  *)
-	    archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    ld_shlibs_CXX=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-        ;;
-    esac
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-    test no = "$ld_shlibs_CXX" && can_build_shared=no
-
-    GCC_CXX=$GXX
-    LD_CXX=$LD
-
-    ## 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...
-    # Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-
-cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-
-
-_lt_libdeps_save_CFLAGS=$CFLAGS
-case "$CC $CFLAGS " in #(
-*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;;
-*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;;
-*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;;
-esac
-
-if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $prev$p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test x-L = "$p" ||
-          test x-R = "$p"; then
-	 prev=$p
-	 continue
-       fi
-
-       # Expand the sysroot to ease extracting the directories later.
-       if test -z "$prev"; then
-         case $p in
-         -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;;
-         -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;;
-         -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;;
-         esac
-       fi
-       case $p in
-       =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;;
-       esac
-       if test no = "$pre_test_object_deps_done"; then
-	 case $prev in
-	 -L | -R)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$compiler_lib_search_path_CXX"; then
-	     compiler_lib_search_path_CXX=$prev$p
-	   else
-	     compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $prev$p"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$postdeps_CXX"; then
-	   postdeps_CXX=$prev$p
-	 else
-	   postdeps_CXX="${postdeps_CXX} $prev$p"
-	 fi
-       fi
-       prev=
-       ;;
-
-    *.lto.$objext) ;; # Ignore GCC LTO objects
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test no = "$pre_test_object_deps_done"; then
-	 if test -z "$predep_objects_CXX"; then
-	   predep_objects_CXX=$p
-	 else
-	   predep_objects_CXX="$predep_objects_CXX $p"
-	 fi
-       else
-	 if test -z "$postdep_objects_CXX"; then
-	   postdep_objects_CXX=$p
-	 else
-	   postdep_objects_CXX="$postdep_objects_CXX $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$RM -f confest.$objext
-CFLAGS=$_lt_libdeps_save_CFLAGS
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  predep_objects_CXX=
-  postdep_objects_CXX=
-  postdeps_CXX=
-  ;;
-esac
-
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
- compiler_lib_search_dirs_CXX=
-if test -n "${compiler_lib_search_path_CXX}"; then
- compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-
-  # C++ specific cases for pic, static, wl, etc.
-  if test yes = "$GXX"; then
-    lt_prog_compiler_wl_CXX='-Wl,'
-    lt_prog_compiler_static_CXX='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test ia64 = "$host_cpu"; then
-	# AIX 5 now supports IA64 processor
-	lt_prog_compiler_static_CXX='-Bstatic'
-      fi
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic_CXX='-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_CXX='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | 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_CXX='-DDLL_EXPORT'
-      case $host_os in
-      os2*)
-	lt_prog_compiler_static_CXX='$wl-static'
-	;;
-      esac
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_CXX='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      lt_prog_compiler_pic_CXX=
-      ;;
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static_CXX=
-      ;;
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	lt_prog_compiler_pic_CXX=-Kconform_pic
-      fi
-      ;;
-    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*)
-	;;
-      *)
-	lt_prog_compiler_pic_CXX='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic_CXX='-fPIC -shared'
-      ;;
-    *)
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[4-9]*)
-	# All AIX code is PIC.
-	if test ia64 = "$host_cpu"; then
-	  # AIX 5 now supports IA64 processor
-	  lt_prog_compiler_static_CXX='-Bstatic'
-	else
-	  lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      mingw* | cygwin* | os2* | pw32* | 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_CXX='-DDLL_EXPORT'
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
-	    if test ia64 != "$host_cpu"; then
-	      lt_prog_compiler_pic_CXX='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='$wl-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      lt_prog_compiler_pic_CXX='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64, which still supported -KPIC.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fPIC'
-	    lt_prog_compiler_static_CXX='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-fpic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  xlc* | xlC* | bgxl[cC]* | mpixl[cC]*)
-	    # IBM XL 8.0, 9.0 on PPC and BlueGene
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-qpic'
-	    lt_prog_compiler_static_CXX='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      lt_prog_compiler_pic_CXX='-KPIC'
-	      lt_prog_compiler_static_CXX='-Bstatic'
-	      lt_prog_compiler_wl_CXX='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    lt_prog_compiler_pic_CXX='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        lt_prog_compiler_pic_CXX='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    lt_prog_compiler_wl_CXX='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    lt_prog_compiler_pic_CXX=
-	    lt_prog_compiler_static_CXX='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC* | sunCC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    lt_prog_compiler_wl_CXX='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    lt_prog_compiler_pic_CXX='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    lt_prog_compiler_pic_CXX='-pic'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    lt_prog_compiler_pic_CXX='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    lt_prog_compiler_wl_CXX='-Wl,'
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    lt_prog_compiler_static_CXX='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    lt_prog_compiler_pic_CXX='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	lt_prog_compiler_can_build_shared_CXX=no
-	;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms that do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-if ${lt_cv_prog_compiler_pic_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; }
-lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works_CXX=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"  ## exclude from sc_useless_quotes_in_assignment
-   # 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:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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_CXX=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then
-    case $lt_prog_compiler_pic_CXX in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
-     esac
-else
-    lt_prog_compiler_pic_CXX=
-     lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_static_works_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works_CXX=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 "$_lt_linker_boilerplate" | $SED '/^$/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_CXX=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_CXX=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS=$save_LDFLAGS
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then
-    :
-else
-    lt_prog_compiler_static_CXX=
-fi
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=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:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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_CXX=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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-    { $as_echo "$as_me:${as_lineno-$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 ${lt_cv_prog_compiler_c_o_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=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:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $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 "$_lt_compiler_boilerplate" | $SED '/^$/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_CXX=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:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-
-
-hard_links=nottested
-if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test no = "$hard_links"; then
-    { $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  case $host_os in
-  aix[4-9]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to GNU nm, but means don't demangle to AIX nm.
-    # Without the "-l" option, or with the "-B" option, AIX nm treats
-    # weak defined symbols like other global defined symbols, whereas
-    # GNU nm marks them as "W".
-    # While the 'weak' keyword is ignored in the Export File, we need
-    # it in the Import File for the 'aix-soname' feature, so we have
-    # to replace the "-B" option with "-P" for AIX nm.
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
-    else
-      export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    export_symbols_cmds_CXX=$ltdll_cmds
-    ;;
-  cygwin* | mingw* | cegcc*)
-    case $cc_basename in
-    cl*)
-      exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
-      ;;
-    *)
-      export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
-      exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'
-      ;;
-    esac
-    ;;
-  *)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-    ;;
-  esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
-$as_echo "$ld_shlibs_CXX" >&6; }
-test no = "$ld_shlibs_CXX" && can_build_shared=no
-
-with_gnu_ld_CXX=$with_gnu_ld
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_CXX=yes
-
-  if test yes,yes = "$GCC,$enable_shared"; then
-    case $archive_cmds_CXX 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:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-	echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-	if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-	  soname=conftest
-	  lib=conftest
-	  libobjs=conftest.$ac_objext
-	  deplibs=
-	  wl=$lt_prog_compiler_wl_CXX
-	  pic_flag=$lt_prog_compiler_pic_CXX
-	  compiler_flags=-v
-	  linker_flags=-v
-	  verstring=
-	  output_objdir=.
-	  libname=conftest
-	  lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-	  allow_undefined_flag_CXX=
-	  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-	  then
-	    lt_cv_archive_cmds_need_lc_CXX=no
-	  else
-	    lt_cv_archive_cmds_need_lc_CXX=yes
-	  fi
-	  allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-	else
-	  cat conftest.err 1>&5
-	fi
-	$RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; }
-      archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-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 # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test ia64 = "$host_cpu"; 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
-    # Using Import Files as archive members, it is possible to support
-    # filename-based versioning of shared library archives on AIX. While
-    # this would work for both with and without runtime linking, it will
-    # prevent static linking of such archives. So we do filename-based
-    # shared library versioning with .so extension only, which is used
-    # when both runtime linking and shared linking is enabled.
-    # Unfortunately, runtime linking may impact performance, so we do
-    # not want this to be the default eventually. Also, we use the
-    # versioned .so libs for executables only if there is the -brtl
-    # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
-    # To allow for filename-based versioning support, we need to create
-    # libNAME.so.V as an archive file, containing:
-    # *) an Import File, referring to the versioned filename of the
-    #    archive as well as the shared archive member, telling the
-    #    bitwidth (32 or 64) of that shared object, and providing the
-    #    list of exported symbols of that shared object, eventually
-    #    decorated with the 'weak' keyword
-    # *) the shared object with the F_LOADONLY flag set, to really avoid
-    #    it being seen by the linker.
-    # At run time we better use the real file rather than another symlink,
-    # but for link time we create the symlink libNAME.so -> libNAME.so.V
-
-    case $with_aix_soname,$aix_use_runtimelinking in
-    # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    aix,yes) # traditional libtool
-      dynamic_linker='AIX unversionable lib.so'
-      # 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'
-      ;;
-    aix,no) # traditional AIX only
-      dynamic_linker='AIX lib.a(lib.so.V)'
-      # 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'
-      ;;
-    svr4,*) # full svr4 only
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,yes) # both, prefer svr4
-      dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)"
-      library_names_spec='$libname$release$shared_ext$major $libname$shared_ext'
-      # unpreferred sharedlib libNAME.a needs extra handling
-      postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"'
-      postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"'
-      # We do not specify a path in Import Files, so LIBPATH fires.
-      shlibpath_overrides_runpath=yes
-      ;;
-    *,no) # both, prefer aix
-      dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)"
-      library_names_spec='$libname$release.a $libname.a'
-      soname_spec='$libname$release$shared_ext$major'
-      # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling
-      postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)'
-      postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"'
-      ;;
-    esac
-    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=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $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 # correct to gnu/linux during the next big refactor
-  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,$cc_basename in
-  yes,*)
-    # gcc
-    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'
-
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-      ;;
-    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
-    dynamic_linker='Win32 ld.exe'
-    ;;
-
-  *,cl*)
-    # Native MSVC
-    libname_spec='$name'
-    soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
-    library_names_spec='$libname.dll.lib'
-
-    case $build_os in
-    mingw*)
-      sys_lib_search_path_spec=
-      lt_save_ifs=$IFS
-      IFS=';'
-      for lt_path in $LIB
-      do
-        IFS=$lt_save_ifs
-        # Let DOS variable expansion print the short 8.3 style file name.
-        lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"`
-        sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path"
-      done
-      IFS=$lt_save_ifs
-      # Convert to MSYS style.
-      sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
-      ;;
-    cygwin*)
-      # Convert to unix form, then to dos form, then back to unix form
-      # but this time dos style (no spaces!) so that the unix form looks
-      # like /cygdrive/c/PROGRA~1:/cygdr...
-      sys_lib_search_path_spec=`cygpath --path --unix "$LIB"`
-      sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null`
-      sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
-      ;;
-    *)
-      sys_lib_search_path_spec=$LIB
-      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH.
-        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
-      # FIXME: find the short name or the path components, as spaces are
-      # common. (e.g. "Program Files" -> "PROGRA~1")
-      ;;
-    esac
-
-    # 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'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-    dynamic_linker='Win32 link.exe'
-    ;;
-
-  *)
-    # Assume MSVC wrapper
-    library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
-    dynamic_linker='Win32 ld.exe'
-    ;;
-  esac
-  # 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_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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
-  ;;
-
-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[23].*) 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$major $libname$shared_ext'
-      soname_spec='$libname$release$shared_ext$major'
-      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
-  ;;
-
-haiku*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  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=LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
-  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 32 = "$HPUX_IA64_MODE"; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux32
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-      sys_lib_dlsearch_path_spec=/usr/lib/hpux64
-    fi
-    ;;
-  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'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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 yes = "$lt_cv_prog_gnu_ld"; then
-		version_type=linux # correct to gnu/linux during the next big refactor
-	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
-  ;;
-
-linux*android*)
-  version_type=none # Android doesn't support versioned libraries.
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='$libname$release$shared_ext'
-  soname_spec='$libname$release$shared_ext'
-  finish_cmds=
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-
-  # 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
-
-  dynamic_linker='Android linker'
-  # Don't embed -rpath directories since the linker doesn't support them.
-  hardcode_libdir_flag_spec_CXX='-L$libdir'
-  ;;
-
-# This must be glibc/ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
-	 LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # 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
-
-  # Ideally, we could use ldconfig to report *all* directores which are
-  # searched for libraries, however this is still not possible.  Aside from not
-  # being certain /sbin/ldconfig is available, command
-  # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
-  # even though it is searched at run-time.  Try to do the best guess by
-  # appending ld.so.conf contents (and includes) 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;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 # correct to gnu/linux during the next big refactor
-  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* | bitrig*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec=/usr/lib
-  need_lib_prefix=no
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
-    need_version=no
-  else
-    need_version=yes
-  fi
-  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
-  shlibpath_overrides_runpath=yes
-  ;;
-
-os2*)
-  libname_spec='$name'
-  version_type=windows
-  shrext_cmds=.dll
-  need_version=no
-  need_lib_prefix=no
-  # OS/2 can only load a DLL with a base name of 8 characters or less.
-  soname_spec='`test -n "$os2dllname" && libname="$os2dllname";
-    v=$($ECHO $release$versuffix | tr -d .-);
-    n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _);
-    $ECHO $n$v`$shared_ext'
-  library_names_spec='${libname}_dll.$libext'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=BEGINLIBPATH
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-  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'
-  ;;
-
-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 # correct to gnu/linux during the next big refactor
-  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 yes = "$with_gnu_ld"; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-    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=sco
-  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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor
-  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 # correct to gnu/linux during the next big refactor
-  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:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test no = "$dynamic_linker" && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test yes = "$GCC"; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then
-  sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec
-fi
-
-if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then
-  sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec
-fi
-
-# remember unaugmented sys_lib_dlsearch_path content for libtool script decls...
-configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec
-
-# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code
-func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH"
-
-# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool
-configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" ||
-   test -n "$runpath_var_CXX" ||
-   test yes = "$hardcode_automatic_CXX"; then
-
-  # We can hardcode non-existent directories.
-  if test no != "$hardcode_direct_CXX" &&
-     # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" &&
-     test no != "$hardcode_minus_L_CXX"; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
-$as_echo "$hardcode_action_CXX" >&6; }
-
-if test relink = "$hardcode_action_CXX" ||
-   test yes = "$inherit_rpath_CXX"; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test yes = "$shlibpath_overrides_runpath" ||
-     test no = "$enable_shared"; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  CFLAGS=$lt_save_CFLAGS
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test yes != "$_lt_caught_CXX_error"
-
-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_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
-$as_echo_n "checking whether build environment is sane... " >&6; }
-# 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_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
-esac
-case $srcdir in
-  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
-    as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
-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 (
-   am_has_slept=no
-   for am_try in 1 2; do
-     echo "timestamp, slept: $am_has_slept" > conftest.file
-     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
-     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_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
-  alias in your environment" "$LINENO" 5
-     fi
-     if test "$2" = conftest.file || test $am_try -eq 2; then
-       break
-     fi
-     # Just in case.
-     sleep 1
-     am_has_slept=yes
-   done
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   as_fn_error $? "newly created file is older than distributed files!
-Check your system clock" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-# If we didn't sleep, we still need to ensure time stamps of config.status and
-# generated files are strictly newer.
-am_sleep_pid=
-if grep 'slept: no' conftest.file >/dev/null 2>&1; then
-  ( sleep 1 ) &
-  am_sleep_pid=$!
-fi
-
-rm -f conftest.file
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then :
-  enableval=$enable_debug; CXXFLAGS="-g -Wall"; CFLAGS="-g -Wall"
-fi
-
-
-# Check whether --enable-profile was given.
-if test "${enable_profile+set}" = set; then :
-  enableval=$enable_profile; CXXFLAGS="-pg -g -Wall"; CFLAGS="-pg -g -Wall"; LDFLAGS="-pg"
-fi
-
-
-# Extract the first word of "xmllint", so it can be a program name with args.
-set dummy xmllint; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XMLLINT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $XMLLINT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_XMLLINT="$XMLLINT" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_XMLLINT" && ac_cv_path_XMLLINT="no"
-  ;;
-esac
-fi
-XMLLINT=$ac_cv_path_XMLLINT
-if test -n "$XMLLINT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XMLLINT" >&5
-$as_echo "$XMLLINT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x$ac_cv_path_XMLLINT = x
-then
-  as_fn_error $? "You don't have xmllint installed." "$LINENO" 5
-fi
-if test x$ac_cv_path_XMLLINT = xno
-then
-  as_fn_error $? "You don't have xmllint installed." "$LINENO" 5
-fi
-
-  # Extract the first word of "xsltproc", so it can be a program name with args.
-set dummy xsltproc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XSLTPROC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $XSLTPROC in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_XSLTPROC="$XSLTPROC" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_XSLTPROC="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_XSLTPROC" && ac_cv_path_XSLTPROC="no"
-  ;;
-esac
-fi
-XSLTPROC=$ac_cv_path_XSLTPROC
-if test -n "$XSLTPROC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XSLTPROC" >&5
-$as_echo "$XSLTPROC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  if test x$ac_cv_path_XSLTPROC = x
-  then
-    as_fn_error $? "You don't have xsltproc installed." "$LINENO" 5
-  fi
-  if test x$ac_cv_path_XSLTPROC = xno
-  then
-    as_fn_error $? "You don't have xsltproc installed." "$LINENO" 5
-  fi
-
-# Extract the first word of "bash", so it can be a program name with args.
-set dummy bash; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BASH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $BASH in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_BASH="$BASH" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_BASH="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_BASH" && ac_cv_path_BASH="no"
-  ;;
-esac
-fi
-BASH=$ac_cv_path_BASH
-if test -n "$BASH"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASH" >&5
-$as_echo "$BASH" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x$ac_cv_path_BASH = x
-then
-  as_fn_error $? "You don't have bash installed." "$LINENO" 5
-fi
-if test x$ac_cv_path_BASH = xno
-then
-  as_fn_error $? "You don't have bash installed." "$LINENO" 5
-fi
-
-# Extract the first word of "flex", so it can be a program name with args.
-set dummy flex; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_FLEX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $FLEX in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_FLEX="$FLEX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_FLEX" && ac_cv_path_FLEX="no"
-  ;;
-esac
-fi
-FLEX=$ac_cv_path_FLEX
-if test -n "$FLEX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5
-$as_echo "$FLEX" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x$ac_cv_path_FLEX = x
-then
-  as_fn_error $? "You don't have flex installed." "$LINENO" 5
-fi
-if test x$ac_cv_path_FLEX = xno
-then
-  as_fn_error $? "You don't have flex installed." "$LINENO" 5
-fi
-
-# Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x$ac_cv_path_PKG_CONFIG = x
-then
-  as_fn_error $? "You don't have pkg-config installed." "$LINENO" 5
-fi
-if test x$ac_cv_path_PKG_CONFIG = xno
-then
-  as_fn_error $? "You don't have pkg-config installed." "$LINENO" 5
-fi
-
-for ac_func in strcasecmp
-do :
-  ac_fn_cxx_check_func "$LINENO" "strcasecmp" "ac_cv_func_strcasecmp"
-if test "x$ac_cv_func_strcasecmp" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_STRCASECMP 1
-_ACEOF
-
-fi
-done
-
-
-if test x$(uname) != xDarwin;
-then
-
-ac_fn_cxx_check_header_mongrel "$LINENO" "pcreposix.h" "ac_cv_header_pcreposix_h" "$ac_includes_default"
-if test "x$ac_cv_header_pcreposix_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcre_fullinfo in -lpcre" >&5
-$as_echo_n "checking for pcre_fullinfo in -lpcre... " >&6; }
-if ${ac_cv_lib_pcre_pcre_fullinfo+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpcre  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pcre_fullinfo ();
-int
-main ()
-{
-return pcre_fullinfo ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_pcre_pcre_fullinfo=yes
-else
-  ac_cv_lib_pcre_pcre_fullinfo=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcre_pcre_fullinfo" >&5
-$as_echo "$ac_cv_lib_pcre_pcre_fullinfo" >&6; }
-if test "x$ac_cv_lib_pcre_pcre_fullinfo" = xyes; then :
-
-    LIBS="$LIBS -lpcreposix -lpcre"
-    no_comp_check=yes
-else
-  as_fn_error $? "*** unable to locate pcre library ***" "$LINENO" 5
-fi
-
-else
-  as_fn_error $? "*** unable to locate pcreposix.h include file ***" "$LINENO" 5
-fi
-
-
-
-ac_fn_cxx_check_header_mongrel "$LINENO" "pcrecpp.h" "ac_cv_header_pcrecpp_h" "$ac_includes_default"
-if test "x$ac_cv_header_pcrecpp_h" = xyes; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pcre_compile in -lpcrecpp" >&5
-$as_echo_n "checking for pcre_compile in -lpcrecpp... " >&6; }
-if ${ac_cv_lib_pcrecpp_pcre_compile+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lpcrecpp  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char pcre_compile ();
-int
-main ()
-{
-return pcre_compile ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_pcrecpp_pcre_compile=yes
-else
-  ac_cv_lib_pcrecpp_pcre_compile=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pcrecpp_pcre_compile" >&5
-$as_echo "$ac_cv_lib_pcrecpp_pcre_compile" >&6; }
-if test "x$ac_cv_lib_pcrecpp_pcre_compile" = xyes; then :
-
-  LIBS="$LIBS -lpcrecpp"
-  no_comp_check=yes
-else
-  as_fn_error $? "*** unable to locate pcrecpp library ***" "$LINENO" 5
-fi
-
-else
-  as_fn_error $? "*** unable to locate pcrecpp.h include file ***" "$LINENO" 5
-fi
-
-
-fi
-
-
-
-
-
-
-
-
-
-if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
-	if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
-set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_path_PKG_CONFIG"; then
-  ac_pt_PKG_CONFIG=$PKG_CONFIG
-  # Extract the first word of "pkg-config", so it can be a program name with args.
-set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $ac_pt_PKG_CONFIG in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
-  ;;
-  *)
-  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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  ;;
-esac
-fi
-ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
-if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_pt_PKG_CONFIG" = x; then
-    PKG_CONFIG=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$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
-    PKG_CONFIG=$ac_pt_PKG_CONFIG
-  fi
-else
-  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
-fi
-
-fi
-if test -n "$PKG_CONFIG"; then
-	_pkg_min_version=0.9.0
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
-	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	else
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-		PKG_CONFIG=""
-	fi
-fi
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for APERTIUM" >&5
-$as_echo_n "checking for APERTIUM... " >&6; }
-
-if test -n "$APERTIUM_CFLAGS"; then
-    pkg_cv_APERTIUM_CFLAGS="$APERTIUM_CFLAGS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_APERTIUM_CFLAGS=`$PKG_CONFIG --cflags "
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-if test -n "$APERTIUM_LIBS"; then
-    pkg_cv_APERTIUM_LIBS="$APERTIUM_LIBS"
- elif test -n "$PKG_CONFIG"; then
-    if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_APERTIUM_LIBS=`$PKG_CONFIG --libs "
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4" 2>/dev/null`
-		      test "x$?" != "x0" && pkg_failed=yes
-else
-  pkg_failed=yes
-fi
- else
-    pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        APERTIUM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4" 2>&1`
-        else
-	        APERTIUM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4" 2>&1`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$APERTIUM_PKG_ERRORS" >&5
-
-	as_fn_error $? "Package requirements (
-  lttoolbox >= 3.3.1
-  libxml-2.0 >= 2.6.17
-  libpcre >= 6.4) were not met:
-
-$APERTIUM_PKG_ERRORS
-
-Consider adjusting the PKG_CONFIG_PATH environment variable if you
-installed software in a non-standard prefix.
-
-Alternatively, you may set the environment variables APERTIUM_CFLAGS
-and APERTIUM_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details." "$LINENO" 5
-elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
-is in your PATH or set the PKG_CONFIG environment variable to the full
-path to pkg-config.
-
-Alternatively, you may set the environment variables APERTIUM_CFLAGS
-and APERTIUM_LIBS to avoid the need to call pkg-config.
-See the pkg-config man page for more details.
-
-To get pkg-config, see <http://pkg-config.freedesktop.org/>.
-See \`config.log' for more details" "$LINENO" 5; }
-else
-	APERTIUM_CFLAGS=$pkg_cv_APERTIUM_CFLAGS
-	APERTIUM_LIBS=$pkg_cv_APERTIUM_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-	CPPFLAGS="$CPPFLAGS $APERTIUM_CFLAGS"; LIBS="$LIBS $APERTIUM_LIBS"
-fi
-
-# Check for wide strings
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports wide strings" >&5
-$as_echo_n "checking whether the compiler supports wide strings... " >&6; }
-if ${ac_cv_cxx_wstring+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-   ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string>
-int
-main ()
-{
-
-std::wstring test = L"test";
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_cxx_wstring=yes
-else
-  ac_cv_cxx_wstring=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_wstring" >&5
-$as_echo "$ac_cv_cxx_wstring" >&6; }
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-	       not a universal capable compiler
-	     #endif
-	     typedef int dummy;
-
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-
-	# Check for potential -arch flags.  It is not universal unless
-	# there are at least two -arch flags with different values.
-	ac_arch=
-	ac_prev=
-	for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-	 if test -n "$ac_prev"; then
-	   case $ac_word in
-	     i?86 | x86_64 | ppc | ppc64)
-	       if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-		 ac_arch=$ac_word
-	       else
-		 ac_cv_c_bigendian=universal
-		 break
-	       fi
-	       ;;
-	   esac
-	   ac_prev=
-	 elif test "x$ac_word" = "x-arch"; then
-	   ac_prev=arch
-	 fi
-       done
-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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=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
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-	      bogus endian macros
-	     #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-		 not big endian
-		#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=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
-    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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_cxx_try_compile "$LINENO"; 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
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_cxx_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-if test "$ac_cv_cxx_wstring" = no
-then
-  as_fn_error $? "Missing wide string support" "$LINENO" 5
-fi
-
-
-# Checks for header files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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 confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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
-if ac_fn_cxx_try_run "$LINENO"; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_header in stdlib.h string.h unistd.h stddef.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-# Checks for typedefs, structures, and compiler characteristics.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if ${ac_cv_header_stdbool_h+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* 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];
-             /* See body of main program for 'e'.  */
-             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];
-             /* 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 ()
-{
-
-             bool e = &s;
-             *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
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_header_stdbool_h=yes
-else
-  ac_cv_header_stdbool_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
-   ac_fn_cxx_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
-if test "x$ac_cv_type__Bool" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE__BOOL 1
-_ACEOF
-
-
-fi
-
-
-if test $ac_cv_header_stdbool_h = yes; then
-
-$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
-$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
-if ${ac_cv_c_const+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-#ifndef __cplusplus
-  /* Ultrix mips cc rejects this sort of thing.  */
-  typedef int charset[2];
-  const charset cs = { 0, 0 };
-  /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *pcpcc;
-  char **ppc;
-  /* NEC SVR4.0.2 mips cc rejects this.  */
-  struct point {int x, y;};
-  static struct point const zero = {0,0};
-  /* AIX XL C 1.02.0.0 rejects this.
-     It does not let you subtract one const X* pointer from another in
-     an arm of an if-expression whose if-part is not a constant
-     expression */
-  const char *g = "string";
-  pcpcc = &g + (g ? g-g : 0);
-  /* HPUX 7.0 cc rejects these. */
-  ++pcpcc;
-  ppc = (char**) pcpcc;
-  pcpcc = (char const *const *) ppc;
-  { /* SCO 3.2v4 cc rejects this sort of thing.  */
-    char tx;
-    char *t = &tx;
-    char const *s = 0 ? (char *) 0 : (char const *) 0;
-
-    *t++ = 0;
-    if (s) return 0;
-  }
-  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
-    int x[] = {25, 17};
-    const int *foo = &x[0];
-    ++foo;
-  }
-  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-    typedef const int *iptr;
-    iptr p = 0;
-    ++p;
-  }
-  { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
-       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-    struct s { int j; const int *ap[3]; } bx;
-    struct s *b = &bx; b->j = 5;
-  }
-  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-    const int foo = 10;
-    if (!foo) return 0;
-  }
-  return !cs[0] && !zero.x;
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_compile "$LINENO"; then :
-  ac_cv_c_const=yes
-else
-  ac_cv_c_const=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
-$as_echo "$ac_cv_c_const" >&6; }
-if test $ac_cv_c_const = no; then
-
-$as_echo "#define const /**/" >>confdefs.h
-
-fi
-
-ac_fn_cxx_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-
-# Checks for library functions.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for error_at_line" >&5
-$as_echo_n "checking for error_at_line... " >&6; }
-if ${ac_cv_lib_error_at_line+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <error.h>
-int
-main ()
-{
-error_at_line (0, 0, "", 0, "an error occurred");
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_cxx_try_link "$LINENO"; then :
-  ac_cv_lib_error_at_line=yes
-else
-  ac_cv_lib_error_at_line=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_error_at_line" >&5
-$as_echo "$ac_cv_lib_error_at_line" >&6; }
-if test $ac_cv_lib_error_at_line = no; then
-  case " $LIBOBJS " in
-  *" error.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS error.$ac_objext"
- ;;
-esac
-
-fi
-
-
-ac_fn_cxx_check_decl "$LINENO" "fread_unlocked" "ac_cv_have_decl_fread_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fread_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FREAD_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fwrite_unlocked" "ac_cv_have_decl_fwrite_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fwrite_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FWRITE_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fgetc_unlocked" "ac_cv_have_decl_fgetc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fgetc_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FGETC_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fputc_unlocked" "ac_cv_have_decl_fputc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fputc_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FPUTC_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fputs_unlocked" "ac_cv_have_decl_fputs_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fputs_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FPUTS_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "getopt_long" "ac_cv_have_decl_getopt_long" "$ac_includes_default"
-if test "x$ac_cv_have_decl_getopt_long" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_GETOPT_LONG $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fgetwc_unlocked" "ac_cv_have_decl_fgetwc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fgetwc_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FGETWC_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fputwc_unlocked" "ac_cv_have_decl_fputwc_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fputwc_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FPUTWC_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fgetws_unlocked" "ac_cv_have_decl_fgetws_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fgetws_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FGETWS_UNLOCKED $ac_have_decl
-_ACEOF
-ac_fn_cxx_check_decl "$LINENO" "fputws_unlocked" "ac_cv_have_decl_fputws_unlocked" "$ac_includes_default"
-if test "x$ac_cv_have_decl_fputws_unlocked" = xyes; then :
-  ac_have_decl=1
-else
-  ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FPUTWS_UNLOCKED $ac_have_decl
-_ACEOF
-
-
-for ac_func in setlocale strdup getopt_long snprintf
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
- if test x$version_type = xwindows; then
-  WINDOWS_TRUE=
-  WINDOWS_FALSE='#'
-else
-  WINDOWS_TRUE='#'
-  WINDOWS_FALSE=
-fi
-
-if test x$version_type = xwindows; then :
-  $as_echo "#define HAVE_GETOPT_LONG 0" >>confdefs.h
-
-fi
-
-ac_config_files="$ac_config_files Makefile apertium.pc apertium/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:${as_lineno-$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= ;; #(
-      *) { eval $ac_var=; 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
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-	cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-	  mv -f confcache "$cache_file"$$ &&
-	  mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-	  mv -f confcache "$cache_file" ;;
-	esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$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=
-U=
-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.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
- 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_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
-$as_echo_n "checking that generated files are newer than configure... " >&6; }
-   if test -n "$am_sleep_pid"; then
-     # Hide warnings about reused PIDs.
-     wait $am_sleep_pid 2>/dev/null
-   fi
-   { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
-$as_echo "done" >&6; }
-
-if test -z "${WINDOWS_TRUE}" && test -z "${WINDOWS_FALSE}"; then
-  as_fn_error $? "conditional \"WINDOWS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-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:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_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}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_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
-
-
-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
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (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
-
-
-# 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.
-as_myself=
-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
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-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
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-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'`
-
-# 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
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='	';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-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 -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    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_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# 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
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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 apertium $as_me 3.4.0, which was
-generated by GNU Autoconf 2.69.  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 and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, 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 <sortiz at users.sourceforge.net>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-apertium config.status 3.4.0
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 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=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    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 ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; 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"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append 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
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --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_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append 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 "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`'
-lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`'
-want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
-DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
-sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`'
-nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`'
-lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`'
-lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`'
-configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`'
-predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`'
-postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`'
-predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`'
-postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`'
-LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`'
-reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`'
-reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`'
-GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`'
-inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`'
-always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
-include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`'
-prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`'
-file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`'
-hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`'
-predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`'
-postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`'
-predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`'
-postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`'
-compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-PATH_SEPARATOR \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-file_magic_glob \
-want_nocaseglob \
-DLLTOOL \
-sharedlib_from_linklib_cmd \
-AR \
-AR_FLAGS \
-archiver_list_spec \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_import \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-lt_cv_nm_interface \
-nm_file_list_spec \
-lt_cv_truncate_bin \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_pic \
-lt_prog_compiler_wl \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-MANIFEST_TOOL \
-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_separator \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib \
-compiler_lib_search_dirs \
-predep_objects \
-postdep_objects \
-predeps \
-postdeps \
-compiler_lib_search_path \
-LD_CXX \
-reload_flag_CXX \
-compiler_CXX \
-lt_prog_compiler_no_builtin_flag_CXX \
-lt_prog_compiler_pic_CXX \
-lt_prog_compiler_wl_CXX \
-lt_prog_compiler_static_CXX \
-lt_cv_prog_compiler_c_o_CXX \
-export_dynamic_flag_spec_CXX \
-whole_archive_flag_spec_CXX \
-compiler_needs_object_CXX \
-with_gnu_ld_CXX \
-allow_undefined_flag_CXX \
-no_undefined_flag_CXX \
-hardcode_libdir_flag_spec_CXX \
-hardcode_libdir_separator_CXX \
-exclude_expsyms_CXX \
-include_expsyms_CXX \
-file_list_spec_CXX \
-compiler_lib_search_dirs_CXX \
-predep_objects_CXX \
-postdep_objects_CXX \
-predeps_CXX \
-postdeps_CXX \
-compiler_lib_search_path_CXX; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      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 \
-postlink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-configure_time_dlsearch_path \
-configure_time_lt_sys_library_path \
-reload_cmds_CXX \
-old_archive_cmds_CXX \
-old_archive_from_new_cmds_CXX \
-old_archive_from_expsyms_cmds_CXX \
-archive_cmds_CXX \
-archive_expsym_cmds_CXX \
-module_cmds_CXX \
-module_expsym_cmds_CXX \
-export_symbols_cmds_CXX \
-prelink_cmds_CXX \
-postlink_cmds_CXX; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-
-# See if we are running on zsh, and set the options that 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'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-
-
-_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
-    "apertium/apertium_config.h") CONFIG_HEADERS="$CONFIG_HEADERS apertium/apertium_config.h" ;;
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-    "apertium.pc") CONFIG_FILES="$CONFIG_FILES apertium.pc" ;;
-    "apertium/Makefile") CONFIG_FILES="$CONFIG_FILES apertium/Makefile" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  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= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-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 {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-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_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  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_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  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 >>"\$ac_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 >>"\$ac_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 < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries 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[	 ]*=[	 ]*/{
-h
-s///
-s/^/:/
-s/[	 ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[	 ]*\).*/\1/
-G
-s/\n//
-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 >"$ac_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_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  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_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-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_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[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="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
-	 # because $ac_f cannot contain `:'.
-	 test -f "$ac_f" ||
-	   case $ac_f in
-	   [\\/$]*) false;;
-	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-	   esac ||
-	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # 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:${as_lineno-$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 >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    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"; as_fn_mkdir_p
-  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:${as_lineno-$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 "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$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 "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  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:${as_lineno-$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"" || {
-  # Older Autoconf 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"`
-    # 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'`; 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; as_fn_mkdir_p
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
- ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options that 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
-# Generated automatically by $as_me ($PACKAGE) $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.
-
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit, 1996
-
-# Copyright (C) 2014 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# 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 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 this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags='CXX '
-
-# Configured defaults for sys_lib_dlsearch_path munging.
-: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"}
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# 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
-
-# Shared archive member basename,for filename based shared library versioning on AIX.
-shared_archive_member_spec=$shared_archive_member_spec
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The PATH separator for the build system.
-PATH_SEPARATOR=$lt_PATH_SEPARATOR
-
-# 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
-
-# convert \$build file names to \$host format.
-to_host_file_cmd=$lt_cv_to_host_file_cmd
-
-# convert \$build files to toolchain format.
-to_tool_file_cmd=$lt_cv_to_tool_file_cmd
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# 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
-
-# How to find potential files when deplibs_check_method = "file_magic".
-file_magic_glob=$lt_file_magic_glob
-
-# Find potential files using nocaseglob when deplibs_check_method = "file_magic".
-want_nocaseglob=$lt_want_nocaseglob
-
-# DLL creation program.
-DLLTOOL=$lt_DLLTOOL
-
-# Command to associate shared and link libraries.
-sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
-
-# The archiver.
-AR=$lt_AR
-
-# Flags to create an archive.
-AR_FLAGS=$lt_AR_FLAGS
-
-# How to feed a file listing to the archiver.
-archiver_list_spec=$lt_archiver_list_spec
-
-# 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
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# 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 into a list of symbols to manually relocate.
-global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import
-
-# 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 lister interface.
-nm_interface=$lt_lt_cv_nm_interface
-
-# Specify filename containing input files for \$NM.
-nm_file_list_spec=$lt_nm_file_list_spec
-
-# The root where to search for dependent libraries,and where our libraries should be installed.
-lt_sysroot=$lt_sysroot
-
-# Command to truncate a binary pipe.
-lt_truncate_bin=$lt_lt_cv_truncate_bin
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# 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
-
-# Manifest tool.
-MANIFEST_TOOL=$lt_MANIFEST_TOOL
-
-# 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
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# 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
-
-# Detected run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path
-
-# Explicit LT_SYS_LIBRARY_PATH set during ./configure time.
-configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path
-
-# 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
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# 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
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# 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
-
-# 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
-
-# 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
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_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
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects
-postdep_objects=$lt_postdep_objects
-predeps=$lt_predeps
-postdeps=$lt_postdeps
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-    cat <<'_LT_EOF' >> "$cfgfile"
-
-# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE
-
-# func_munge_path_list VARIABLE PATH
-# -----------------------------------
-# VARIABLE is name of variable containing _space_ separated list of
-# directories to be munged by the contents of PATH, which is string
-# having a format:
-# "DIR[:DIR]:"
-#       string "DIR[ DIR]" will be prepended to VARIABLE
-# ":DIR[:DIR]"
-#       string "DIR[ DIR]" will be appended to VARIABLE
-# "DIRP[:DIRP]::[DIRA:]DIRA"
-#       string "DIRP[ DIRP]" will be prepended to VARIABLE and string
-#       "DIRA[ DIRA]" will be appended to VARIABLE
-# "DIR[:DIR]"
-#       VARIABLE will be replaced by "DIR[ DIR]"
-func_munge_path_list ()
-{
-    case x$2 in
-    x)
-        ;;
-    *:)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\"
-        ;;
-    x:*)
-        eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    *::*)
-        eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\"
-        eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\"
-        ;;
-    *)
-        eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\"
-        ;;
-    esac
-}
-
-
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-func_cc_basename ()
-{
-    for cc_temp in $*""; do
-      case $cc_temp in
-        compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-        distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-        \-*) ;;
-        *) break;;
-      esac
-    done
-    func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-}
-
-
-# ### END FUNCTIONS SHARED WITH CONFIGURE
-
-_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 set != "${COLLECT_NAMES+set}"; 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 '$q' "$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: CXX
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag_CXX
-reload_cmds=$lt_reload_cmds_CXX
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds_CXX
-
-# A language specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object_CXX
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld_CXX
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# 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_CXX
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# 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_CXX
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# 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_CXX
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath_CXX
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds_CXX
-
-# Commands necessary for finishing linking programs.
-postlink_cmds=$lt_postlink_cmds_CXX
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec_CXX
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# The directories searched by this compiler when creating a shared library.
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
-
-# Dependencies to place before and after the objects being linked to
-# create a shared library.
-predep_objects=$lt_predep_objects_CXX
-postdep_objects=$lt_postdep_objects_CXX
-predeps=$lt_predeps_CXX
-postdeps=$lt_postdeps_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# ### END LIBTOOL TAG CONFIG: CXX
-_LT_EOF
-
- ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# 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 || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/configure.ac b/configure.ac
index a72a662..1e0b278 100644
--- a/configure.ac
+++ b/configure.ac
@@ -129,6 +129,7 @@ AC_ARG_ENABLE(profile,
               [  --enable-profile  Enable "-pg -g -Wall" compiler options],
               [CXXFLAGS="-pg -g -Wall"; CFLAGS="-pg -g -Wall"; LDFLAGS="-pg"])
 
+
 AC_PATH_PROG(XMLLINT, xmllint, no)
 if test x$ac_cv_path_XMLLINT = x
 then
diff --git a/depcomp b/depcomp
deleted file mode 100755
index fc98710..0000000
--- a/depcomp
+++ /dev/null
@@ -1,791 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2013-05-30.07; # UTC
-
-# Copyright (C) 1999-2014 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 2, 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 to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva at dcc.unicamp.br>.
-
-case $1 in
-  '')
-    echo "$0: No command.  Try '$0 --help' for more information." 1>&2
-    exit 1;
-    ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
-  depmode     Dependency tracking mode.
-  source      Source file read by 'PROGRAMS ARGS'.
-  object      Object file output by 'PROGRAMS ARGS'.
-  DEPDIR      directory where to store dependencies.
-  depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputting dependencies.
-  libtool     Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake at gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-# Get the directory component of the given path, and save it in the
-# global variables '$dir'.  Note that this directory component will
-# be either empty or ending with a '/' character.  This is deliberate.
-set_dir_from ()
-{
-  case $1 in
-    */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
-      *) dir=;;
-  esac
-}
-
-# Get the suffix-stripped basename of the given path, and save it the
-# global variable '$base'.
-set_base_from ()
-{
-  base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
-}
-
-# If no dependency file was actually created by the compiler invocation,
-# we still have to create a dummy depfile, to avoid errors with the
-# Makefile "include basename.Plo" scheme.
-make_dummy_depfile ()
-{
-  echo "#dummy" > "$depfile"
-}
-
-# Factor out some common post-processing of the generated depfile.
-# Requires the auxiliary global variable '$tmpdepfile' to be set.
-aix_post_process_depfile ()
-{
-  # If the compiler actually managed to produce a dependency file,
-  # post-process it.
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form 'foo.o: dependency.h'.
-    # Do two passes, one to just change these to
-    #   $object: dependency.h
-    # and one to simply output
-    #   dependency.h:
-    # which is needed to avoid the deleted-header problem.
-    { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
-      sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
-    } > "$depfile"
-    rm -f "$tmpdepfile"
-  else
-    make_dummy_depfile
-  fi
-}
-
-# A tabulation character.
-tab='	'
-# A newline character.
-nl='
-'
-# Character ranges might be problematic outside the C locale.
-# These definitions help.
-upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
-lower=abcdefghijklmnopqrstuvwxyz
-digits=0123456789
-alpha=${upper}${lower}
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
-  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Avoid interferences from the environment.
-gccflag= dashmflag=
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-  # This is just like dashmstdout with a different argument.
-  dashmflag=-xM
-  depmode=dashmstdout
-fi
-
-cygpath_u="cygpath -u -f -"
-if test "$depmode" = msvcmsys; then
-  # This is just like msvisualcpp but w/o cygpath translation.
-  # Just convert the backslash-escaped backslashes to single forward
-  # slashes to satisfy depend.m4
-  cygpath_u='sed s,\\\\,/,g'
-  depmode=msvisualcpp
-fi
-
-if test "$depmode" = msvc7msys; then
-  # This is just like msvc7 but w/o cygpath translation.
-  # Just convert the backslash-escaped backslashes to single forward
-  # slashes to satisfy depend.m4
-  cygpath_u='sed s,\\\\,/,g'
-  depmode=msvc7
-fi
-
-if test "$depmode" = xlc; then
-  # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
-  gccflag=-qmakedep=gcc,-MF
-  depmode=gcc
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
-## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
-## (see the conditional assignment to $gccflag above).
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).  Also, it might not be
-##   supported by the other compilers which use the 'gcc' depmode.
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  # The second -e expression handles DOS-style file names with drive
-  # letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the "deleted header file" problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-## Some versions of gcc put a space before the ':'.  On the theory
-## that the space means something, we add a space to the output as
-## well.  hp depmode also adds that space, but also prefixes the VPATH
-## to the object.  Take care to not repeat it in the output.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-  tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like '#:fec' to the end of the
-    # dependency line.
-    tr ' ' "$nl" < "$tmpdepfile" \
-      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
-      | tr "$nl" ' ' >> "$depfile"
-    echo >> "$depfile"
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' "$nl" < "$tmpdepfile" \
-      | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-      >> "$depfile"
-  else
-    make_dummy_depfile
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-xlc)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts '$object:' at the
-  # start of each line; $object doesn't have directory information.
-  # Version 6 uses the directory in both cases.
-  set_dir_from "$object"
-  set_base_from "$object"
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
-    "$@" -Wc,-M
-  else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
-    "$@" -M
-  fi
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  aix_post_process_depfile
-  ;;
-
-tcc)
-  # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
-  # FIXME: That version still under development at the moment of writing.
-  #        Make that this statement remains true also for stable, released
-  #        versions.
-  # It will wrap lines (doesn't matter whether long or short) with a
-  # trailing '\', as in:
-  #
-  #   foo.o : \
-  #    foo.c \
-  #    foo.h \
-  #
-  # It will put a trailing '\' even on the last line, and will use leading
-  # spaces rather than leading tabs (at least since its commit 0394caf7
-  # "Emit spaces for -MD").
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
-  # We have to change lines of the first kind to '$object: \'.
-  sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
-  # And for each line of the second kind, we have to emit a 'dep.h:'
-  # dummy dependency, to avoid the deleted-header problem.
-  sed -n -e 's|^  *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-## The order of this option in the case statement is important, since the
-## shell code in configure will try each of these formats in the order
-## listed in this file.  A plain '-MD' option would be understood by many
-## compilers, so we must ensure this comes after the gcc and icc options.
-pgcc)
-  # Portland's C compiler understands '-MD'.
-  # Will always output deps to 'file.d' where file is the root name of the
-  # source file under compilation, even if file resides in a subdirectory.
-  # The object file name does not affect the name of the '.d' file.
-  # pgcc 10.2 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using '\' :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-  set_dir_from "$object"
-  # Use the source, not the object, to determine the base name, since
-  # that's sadly what pgcc will do too.
-  set_base_from "$source"
-  tmpdepfile=$base.d
-
-  # For projects that build the same source file twice into different object
-  # files, the pgcc approach of using the *source* file root name can cause
-  # problems in parallel builds.  Use a locking strategy to avoid stomping on
-  # the same $tmpdepfile.
-  lockdir=$base.d-lock
-  trap "
-    echo '$0: caught signal, cleaning up...' >&2
-    rmdir '$lockdir'
-    exit 1
-  " 1 2 13 15
-  numtries=100
-  i=$numtries
-  while test $i -gt 0; do
-    # mkdir is a portable test-and-set.
-    if mkdir "$lockdir" 2>/dev/null; then
-      # This process acquired the lock.
-      "$@" -MD
-      stat=$?
-      # Release the lock.
-      rmdir "$lockdir"
-      break
-    else
-      # If the lock is being held by a different process, wait
-      # until the winning process is done or we timeout.
-      while test -d "$lockdir" && test $i -gt 0; do
-        sleep 1
-        i=`expr $i - 1`
-      done
-    fi
-    i=`expr $i - 1`
-  done
-  trap - 1 2 13 15
-  if test $i -le 0; then
-    echo "$0: failed to acquire lock after $numtries attempts" >&2
-    echo "$0: check lockdir '$lockdir'" >&2
-    exit 1
-  fi
-
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  set_dir_from  "$object"
-  set_base_from "$object"
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -ne 0; then
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add 'dependent.h:' lines.
-    sed -ne '2,${
-               s/^ *//
-               s/ \\*$//
-               s/$/:/
-               p
-             }' "$tmpdepfile" >> "$depfile"
-  else
-    make_dummy_depfile
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
-tru64)
-  # The Tru64 compiler uses -MD to generate dependencies as a side
-  # effect.  'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
-  # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-  # dependencies in 'foo.d' instead, so we check for that too.
-  # Subdirectories are respected.
-  set_dir_from  "$object"
-  set_base_from "$object"
-
-  if test "$libtool" = yes; then
-    # Libtool generates 2 separate objects for the 2 libraries.  These
-    # two compilations output dependencies in $dir.libs/$base.o.d and
-    # in $dir$base.o.d.  We have to check for both files, because
-    # one of the two compilations can be disabled.  We should prefer
-    # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-    # automatically cleaned when .libs/ is deleted, while ignoring
-    # the former would cause a distcleancheck panic.
-    tmpdepfile1=$dir$base.o.d          # libtool 1.5
-    tmpdepfile2=$dir.libs/$base.o.d    # Likewise.
-    tmpdepfile3=$dir.libs/$base.d      # Compaq CCC V6.2-504
-    "$@" -Wc,-MD
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    tmpdepfile3=$dir$base.d
-    "$@" -MD
-  fi
-
-  stat=$?
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  # Same post-processing that is required for AIX mode.
-  aix_post_process_depfile
-  ;;
-
-msvc7)
-  if test "$libtool" = yes; then
-    showIncludes=-Wc,-showIncludes
-  else
-    showIncludes=-showIncludes
-  fi
-  "$@" $showIncludes > "$tmpdepfile"
-  stat=$?
-  grep -v '^Note: including file: ' "$tmpdepfile"
-  if test $stat -ne 0; then
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  # The first sed program below extracts the file names and escapes
-  # backslashes for cygpath.  The second sed program outputs the file
-  # name when reading, but also accumulates all include files in the
-  # hold buffer in order to output them again at the end.  This only
-  # works with sed implementations that can handle large buffers.
-  sed < "$tmpdepfile" -n '
-/^Note: including file:  *\(.*\)/ {
-  s//\1/
-  s/\\/\\\\/g
-  p
-}' | $cygpath_u | sort -u | sed -n '
-s/ /\\ /g
-s/\(.*\)/'"$tab"'\1 \\/p
-s/.\(.*\) \\/\1:/
-H
-$ {
-  s/.*/'"$tab"'/
-  G
-  p
-}' >> "$depfile"
-  echo >> "$depfile" # make sure the fragment doesn't end with a backslash
-  rm -f "$tmpdepfile"
-  ;;
-
-msvc7msys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove '-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for ':'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
-  "$@" $dashmflag |
-    sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this sed invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  tr ' ' "$nl" < "$tmpdepfile" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no eat=no
-  for arg
-  do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    if test $eat = yes; then
-      eat=no
-      continue
-    fi
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -arch)
-      eat=yes ;;
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix=`echo "$object" | sed 's/^.*\././'`
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  # makedepend may prepend the VPATH from the source file name to the object.
-  # No need to regex-escape $object, excess matching of '.' is harmless.
-  sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process the last invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed '1,2d' "$tmpdepfile" \
-    | tr ' ' "$nl" \
-    | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
-    | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove '-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E \
-    | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-             -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-    | sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-        set fnord "$@"
-        shift
-        shift
-        ;;
-    *)
-        set fnord "$@" "$arg"
-        shift
-        shift
-        ;;
-    esac
-  done
-  "$@" -E 2>/dev/null |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
-  echo "$tab" >> "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvcmsys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/install-sh b/install-sh
deleted file mode 100755
index 0b0fdcb..0000000
--- a/install-sh
+++ /dev/null
@@ -1,501 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2013-12-25.23; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# 'make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-tab='	'
-nl='
-'
-IFS=" $tab$nl"
-
-# Set DOITPROG to "echo" to test this script.
-
-doit=${DOITPROG-}
-doit_exec=${doit:-exec}
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-is_target_a_directory=possibly
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-   or: $0 [OPTION]... SRCFILES... DIRECTORY
-   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-   or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
-     --help     display this help and exit.
-     --version  display version info and exit.
-
-  -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
-  -d            create directories instead of installing files.
-  -g GROUP      $chgrpprog installed files to GROUP.
-  -m MODE       $chmodprog installed files to MODE.
-  -o USER       $chownprog installed files to USER.
-  -s            $stripprog installed files.
-  -t DIRECTORY  install into DIRECTORY.
-  -T            report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-  RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
-  case $1 in
-    -c) ;;
-
-    -C) copy_on_change=true;;
-
-    -d) dir_arg=true;;
-
-    -g) chgrpcmd="$chgrpprog $2"
-        shift;;
-
-    --help) echo "$usage"; exit $?;;
-
-    -m) mode=$2
-        case $mode in
-          *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
-            echo "$0: invalid mode: $mode" >&2
-            exit 1;;
-        esac
-        shift;;
-
-    -o) chowncmd="$chownprog $2"
-        shift;;
-
-    -s) stripcmd=$stripprog;;
-
-    -t)
-        is_target_a_directory=always
-        dst_arg=$2
-        # Protect names problematic for 'test' and other utilities.
-        case $dst_arg in
-          -* | [=\(\)!]) dst_arg=./$dst_arg;;
-        esac
-        shift;;
-
-    -T) is_target_a_directory=never;;
-
-    --version) echo "$0 $scriptversion"; exit $?;;
-
-    --) shift
-        break;;
-
-    -*) echo "$0: invalid option: $1" >&2
-        exit 1;;
-
-    *)  break;;
-  esac
-  shift
-done
-
-# We allow the use of options -d and -T together, by making -d
-# take the precedence; this is for compatibility with GNU install.
-
-if test -n "$dir_arg"; then
-  if test -n "$dst_arg"; then
-    echo "$0: target directory not allowed when installing a directory." >&2
-    exit 1
-  fi
-fi
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from $@.
-  for arg
-  do
-    if test -n "$dst_arg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dst_arg"
-      shift # fnord
-    fi
-    shift # arg
-    dst_arg=$arg
-    # Protect names problematic for 'test' and other utilities.
-    case $dst_arg in
-      -* | [=\(\)!]) dst_arg=./$dst_arg;;
-    esac
-  done
-fi
-
-if test $# -eq 0; then
-  if test -z "$dir_arg"; then
-    echo "$0: no input file specified." >&2
-    exit 1
-  fi
-  # It's OK to call 'install-sh -d' without argument.
-  # This can happen when creating conditional directories.
-  exit 0
-fi
-
-if test -z "$dir_arg"; then
-  if test $# -gt 1 || test "$is_target_a_directory" = always; then
-    if test ! -d "$dst_arg"; then
-      echo "$0: $dst_arg: Is not a directory." >&2
-      exit 1
-    fi
-  fi
-fi
-
-if test -z "$dir_arg"; then
-  do_exit='(exit $ret); exit $ret'
-  trap "ret=129; $do_exit" 1
-  trap "ret=130; $do_exit" 2
-  trap "ret=141; $do_exit" 13
-  trap "ret=143; $do_exit" 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-        u_plus_rw=
-      else
-        u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-        u_plus_rw=
-      else
-        u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
-for src
-do
-  # Protect names problematic for 'test' and other utilities.
-  case $src in
-    -* | [=\(\)!]) src=./$src;;
-  esac
-
-  if test -n "$dir_arg"; then
-    dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
-
-    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-    # might cause directories to be created, which would be especially bad
-    # if $src (and thus $dsttmp) contains '*'.
-    if test ! -f "$src" && test ! -d "$src"; then
-      echo "$0: $src does not exist." >&2
-      exit 1
-    fi
-
-    if test -z "$dst_arg"; then
-      echo "$0: no destination specified." >&2
-      exit 1
-    fi
-    dst=$dst_arg
-
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
-    if test -d "$dst"; then
-      if test "$is_target_a_directory" = never; then
-        echo "$0: $dst_arg: Is a directory" >&2
-        exit 1
-      fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      dstdir=`dirname "$dst"`
-      test -d "$dstdir"
-      dstdir_status=$?
-    fi
-  fi
-
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-        # Create intermediate dirs using mode 755 as modified by the umask.
-        # This is like FreeBSD 'install' as of 1997-10-28.
-        umask=`umask`
-        case $stripcmd.$umask in
-          # Optimize common cases.
-          *[2367][2367]) mkdir_umask=$umask;;
-          .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-          *[0-7])
-            mkdir_umask=`expr $umask + 22 \
-              - $umask % 100 % 40 + $umask % 20 \
-              - $umask % 10 % 4 + $umask % 2
-            `;;
-          *) mkdir_umask=$umask,go-w;;
-        esac
-
-        # With -d, create the new directory with the user-specified mode.
-        # Otherwise, rely on $mkdir_umask.
-        if test -n "$dir_arg"; then
-          mkdir_mode=-m$mode
-        else
-          mkdir_mode=
-        fi
-
-        posix_mkdir=false
-        case $umask in
-          *[123567][0-7][0-7])
-            # POSIX mkdir -p sets u+wx bits regardless of umask, which
-            # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-            ;;
-          *)
-            tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-            trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-            if (umask $mkdir_umask &&
-                exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-            then
-              if test -z "$dir_arg" || {
-                   # Check for POSIX incompatibilities with -m.
-                   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                   # other-writable bit of parent directory when it shouldn't.
-                   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-                   case $ls_ld_tmpdir in
-                     d????-?r-*) different_mode=700;;
-                     d????-?--*) different_mode=755;;
-                     *) false;;
-                   esac &&
-                   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-                     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                   }
-                 }
-              then posix_mkdir=:
-              fi
-              rmdir "$tmpdir/d" "$tmpdir"
-            else
-              # Remove any dirs left behind by ancient mkdir implementations.
-              rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-            fi
-            trap '' 0;;
-        esac;;
-    esac
-
-    if
-      $posix_mkdir && (
-        umask $mkdir_umask &&
-        $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
-
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
-
-      case $dstdir in
-        /*) prefix='/';;
-        [-=\(\)!]*) prefix='./';;
-        *)  prefix='';;
-      esac
-
-      oIFS=$IFS
-      IFS=/
-      set -f
-      set fnord $dstdir
-      shift
-      set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-        test X"$d" = X && continue
-
-        prefix=$prefix$d
-        if test -d "$prefix"; then
-          prefixes=
-        else
-          if $posix_mkdir; then
-            (umask=$mkdir_umask &&
-             $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-            # Don't fail if two instances are running concurrently.
-            test -d "$prefix" || exit 1
-          else
-            case $prefix in
-              *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-              *) qprefix=$prefix;;
-            esac
-            prefixes="$prefixes '$qprefix'"
-          fi
-        fi
-        prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-        # Don't fail if two instances are running concurrently.
-        (umask $mkdir_umask &&
-         eval "\$doit_exec \$mkdirprog $prefixes") ||
-          test -d "$dstdir" || exit 1
-        obsolete_mkdir_used=true
-      fi
-    fi
-  fi
-
-  if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
-  else
-
-    # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
-
-    # Trap to clean up those temp files at exit.
-    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
-    # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
-    # and set any options; do chmod last to preserve setuid bits.
-    #
-    # If any of these fail, we abort the whole thing.  If we want to
-    # ignore errors from any of these, just make sure not to ignore
-    # errors from the above "$doit $cpprog $src $dsttmp" command.
-    #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # If -C, don't bother to copy if it wouldn't change the file.
-    if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"     2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"  2>/dev/null` &&
-       set -f &&
-       set X $old && old=:$2:$4:$5:$6 &&
-       set X $new && new=:$2:$4:$5:$6 &&
-       set +f &&
-       test "$old" = "$new" &&
-       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-    then
-      rm -f "$dsttmp"
-    else
-      # Rename the file to the real destination.
-      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
-      # The rename failed, perhaps because mv can't rename something else
-      # to itself, or perhaps because mv is so ancient that it does not
-      # support -f.
-      {
-        # Now remove or move aside any old file at destination location.
-        # We try this two ways since rm can't unlink itself on some
-        # systems and the destination file might be busy for other
-        # reasons.  In this case, the final cleanup might fail but the new
-        # file should still install successfully.
-        {
-          test ! -f "$dst" ||
-          $doit $rmcmd -f "$dst" 2>/dev/null ||
-          { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-            { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-          } ||
-          { echo "$0: cannot unlink or rename $dst" >&2
-            (exit 1); exit 1
-          }
-        } &&
-
-        # Now rename the file to the real destination.
-        $doit $mvcmd "$dsttmp" "$dst"
-      }
-    fi || exit 1
-
-    trap '' 0
-  fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/ltmain.sh b/ltmain.sh
deleted file mode 100644
index 0f0a2da..0000000
--- a/ltmain.sh
+++ /dev/null
@@ -1,11147 +0,0 @@
-#! /bin/sh
-## DO NOT EDIT - This file generated from ./build-aux/ltmain.in
-##               by inline-source v2014-01-03.01
-
-# libtool (GNU libtool) 2.4.6
-# Provide generalized library-building support services.
-# Written by Gordon Matzigkeit <gord at gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# 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 this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-PROGRAM=libtool
-PACKAGE=libtool
-VERSION=2.4.6
-package_revision=2.4.6
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# Run './libtool --help' for help with using this script from the
-# command line.
-
-
-## ------------------------------- ##
-## User overridable command paths. ##
-## ------------------------------- ##
-
-# After configure completes, it has a better idea of some of the
-# shell tools we need than the defaults used by the functions shared
-# with bootstrap, so set those here where they can still be over-
-# ridden by the user, but otherwise take precedence.
-
-: ${AUTOCONF="autoconf"}
-: ${AUTOMAKE="automake"}
-
-
-## -------------------------- ##
-## Source external libraries. ##
-## -------------------------- ##
-
-# Much of our low-level functionality needs to be sourced from external
-# libraries, which are installed to $pkgauxdir.
-
-# Set a version string for this script.
-scriptversion=2015-01-20.17; # UTC
-
-# General shell script boiler plate, and helper functions.
-# Written by Gary V. Vaughan, 2004
-
-# Copyright (C) 2004-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# 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.
-
-# 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.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNES 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/>.
-
-# Please report bugs or propose patches to gary at gnu.org.
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# Evaluate this file near the top of your script to gain access to
-# the functions and variables defined here:
-#
-#   . `echo "$0" | ${SED-sed} 's|[^/]*$||'`/build-aux/funclib.sh
-#
-# If you need to override any of the default environment variable
-# settings, do that before evaluating this file.
-
-
-## -------------------- ##
-## Shell normalisation. ##
-## -------------------- ##
-
-# Some shells need a little help to be as Bourne compatible as possible.
-# Before doing anything else, make sure all that help has been provided!
-
-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
-
-# NLS nuisances: We save the old values in case they are required later.
-_G_user_locale=
-_G_safe_locale=
-for _G_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test set = \"\${$_G_var+set}\"; then
-          save_$_G_var=\$$_G_var
-          $_G_var=C
-	  export $_G_var
-	  _G_user_locale=\"$_G_var=\\\$save_\$_G_var; \$_G_user_locale\"
-	  _G_safe_locale=\"$_G_var=C; \$_G_safe_locale\"
-	fi"
-done
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Make sure IFS has a sensible default
-sp=' '
-nl='
-'
-IFS="$sp	$nl"
-
-# There are apparently some retarded systems that use ';' as a PATH separator!
-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
-
-
-
-## ------------------------- ##
-## Locate command utilities. ##
-## ------------------------- ##
-
-
-# func_executable_p FILE
-# ----------------------
-# Check that FILE is an executable regular file.
-func_executable_p ()
-{
-    test -f "$1" && test -x "$1"
-}
-
-
-# func_path_progs PROGS_LIST CHECK_FUNC [PATH]
-# --------------------------------------------
-# Search for either a program that responds to --version with output
-# containing "GNU", or else returned by CHECK_FUNC otherwise, by
-# trying all the directories in PATH with each of the elements of
-# PROGS_LIST.
-#
-# CHECK_FUNC should accept the path to a candidate program, and
-# set $func_check_prog_result if it truncates its output less than
-# $_G_path_prog_max characters.
-func_path_progs ()
-{
-    _G_progs_list=$1
-    _G_check_func=$2
-    _G_PATH=${3-"$PATH"}
-
-    _G_path_prog_max=0
-    _G_path_prog_found=false
-    _G_save_IFS=$IFS; IFS=${PATH_SEPARATOR-:}
-    for _G_dir in $_G_PATH; do
-      IFS=$_G_save_IFS
-      test -z "$_G_dir" && _G_dir=.
-      for _G_prog_name in $_G_progs_list; do
-        for _exeext in '' .EXE; do
-          _G_path_prog=$_G_dir/$_G_prog_name$_exeext
-          func_executable_p "$_G_path_prog" || continue
-          case `"$_G_path_prog" --version 2>&1` in
-            *GNU*) func_path_progs_result=$_G_path_prog _G_path_prog_found=: ;;
-            *)     $_G_check_func $_G_path_prog
-		   func_path_progs_result=$func_check_prog_result
-		   ;;
-          esac
-          $_G_path_prog_found && break 3
-        done
-      done
-    done
-    IFS=$_G_save_IFS
-    test -z "$func_path_progs_result" && {
-      echo "no acceptable sed could be found in \$PATH" >&2
-      exit 1
-    }
-}
-
-
-# We want to be able to use the functions in this file before configure
-# has figured out where the best binaries are kept, which means we have
-# to search for them ourselves - except when the results are already set
-# where we skip the searches.
-
-# Unless the user overrides by setting SED, search the path for either GNU
-# sed, or the sed that truncates its output the least.
-test -z "$SED" && {
-  _G_sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-  for _G_i in 1 2 3 4 5 6 7; do
-    _G_sed_script=$_G_sed_script$nl$_G_sed_script
-  done
-  echo "$_G_sed_script" 2>/dev/null | sed 99q >conftest.sed
-  _G_sed_script=
-
-  func_check_prog_sed ()
-  {
-    _G_path_prog=$1
-
-    _G_count=0
-    printf 0123456789 >conftest.in
-    while :
-    do
-      cat conftest.in conftest.in >conftest.tmp
-      mv conftest.tmp conftest.in
-      cp conftest.in conftest.nl
-      echo '' >> conftest.nl
-      "$_G_path_prog" -f conftest.sed <conftest.nl >conftest.out 2>/dev/null || break
-      diff conftest.out conftest.nl >/dev/null 2>&1 || break
-      _G_count=`expr $_G_count + 1`
-      if test "$_G_count" -gt "$_G_path_prog_max"; then
-        # Best one so far, save it but keep looking for a better one
-        func_check_prog_result=$_G_path_prog
-        _G_path_prog_max=$_G_count
-      fi
-      # 10*(2^10) chars as input seems more than enough
-      test 10 -lt "$_G_count" && break
-    done
-    rm -f conftest.in conftest.tmp conftest.nl conftest.out
-  }
-
-  func_path_progs "sed gsed" func_check_prog_sed $PATH:/usr/xpg4/bin
-  rm -f conftest.sed
-  SED=$func_path_progs_result
-}
-
-
-# Unless the user overrides by setting GREP, search the path for either GNU
-# grep, or the grep that truncates its output the least.
-test -z "$GREP" && {
-  func_check_prog_grep ()
-  {
-    _G_path_prog=$1
-
-    _G_count=0
-    _G_path_prog_max=0
-    printf 0123456789 >conftest.in
-    while :
-    do
-      cat conftest.in conftest.in >conftest.tmp
-      mv conftest.tmp conftest.in
-      cp conftest.in conftest.nl
-      echo 'GREP' >> conftest.nl
-      "$_G_path_prog" -e 'GREP$' -e '-(cannot match)-' <conftest.nl >conftest.out 2>/dev/null || break
-      diff conftest.out conftest.nl >/dev/null 2>&1 || break
-      _G_count=`expr $_G_count + 1`
-      if test "$_G_count" -gt "$_G_path_prog_max"; then
-        # Best one so far, save it but keep looking for a better one
-        func_check_prog_result=$_G_path_prog
-        _G_path_prog_max=$_G_count
-      fi
-      # 10*(2^10) chars as input seems more than enough
-      test 10 -lt "$_G_count" && break
-    done
-    rm -f conftest.in conftest.tmp conftest.nl conftest.out
-  }
-
-  func_path_progs "grep ggrep" func_check_prog_grep $PATH:/usr/xpg4/bin
-  GREP=$func_path_progs_result
-}
-
-
-## ------------------------------- ##
-## User overridable command paths. ##
-## ------------------------------- ##
-
-# All uppercase variable names are used for environment variables.  These
-# variables can be overridden by the user before calling a script that
-# uses them if a suitable command of that name is not already available
-# in the command search PATH.
-
-: ${CP="cp -f"}
-: ${ECHO="printf %s\n"}
-: ${EGREP="$GREP -E"}
-: ${FGREP="$GREP -F"}
-: ${LN_S="ln -s"}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-
-
-## -------------------- ##
-## Useful sed snippets. ##
-## -------------------- ##
-
-sed_dirname='s|/[^/]*$||'
-sed_basename='s|^.*/||'
-
-# 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.
-sed_double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution that turns a string into a regex matching for the
-# string literally.
-sed_make_literal_regex='s|[].[^$\\*\/]|\\&|g'
-
-# Sed substitution that converts a w32 file name or path
-# that contains forward slashes, into one that contains
-# (escaped) backslashes.  A very naive implementation.
-sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-
-# Re-'\' parameter expansions in output of sed_double_quote_subst that
-# were '\'-ed in input to the same.  If an odd number of '\' preceded a
-# '$' in input to sed_double_quote_subst, that '$' was protected from
-# expansion.  Since each input '\' is now two '\'s, look for any number
-# of runs of four '\'s followed by two '\'s and then a '$'.  '\' that '$'.
-_G_bs='\\'
-_G_bs2='\\\\'
-_G_bs4='\\\\\\\\'
-_G_dollar='\$'
-sed_double_backslash="\
-  s/$_G_bs4/&\\
-/g
-  s/^$_G_bs2$_G_dollar/$_G_bs&/
-  s/\\([^$_G_bs]\\)$_G_bs2$_G_dollar/\\1$_G_bs2$_G_bs$_G_dollar/g
-  s/\n//g"
-
-
-## ----------------- ##
-## Global variables. ##
-## ----------------- ##
-
-# Except for the global variables explicitly listed below, the following
-# functions in the '^func_' namespace, and the '^require_' namespace
-# variables initialised in the 'Resource management' section, sourcing
-# this file will not pollute your global namespace with anything
-# else. There's no portable way to scope variables in Bourne shell
-# though, so actually running these functions will sometimes place
-# results into a variable named after the function, and often use
-# temporary variables in the '^_G_' namespace. If you are careful to
-# avoid using those namespaces casually in your sourcing script, things
-# should continue to work as you expect. And, of course, you can freely
-# overwrite any of the functions or variables defined here before
-# calling anything to customize them.
-
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
-
-# Allow overriding, eg assuming that you follow the convention of
-# putting '$debug_cmd' at the start of all your functions, you can get
-# bash to show function call trace with:
-#
-#    debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name
-debug_cmd=${debug_cmd-":"}
-exit_cmd=:
-
-# By convention, finish your script with:
-#
-#    exit $exit_status
-#
-# so that you can set exit_status to non-zero if you want to indicate
-# something went wrong during execution without actually bailing out at
-# the point of failure.
-exit_status=$EXIT_SUCCESS
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath=$0
-
-# The name of this program.
-progname=`$ECHO "$progpath" |$SED "$sed_basename"`
-
-# Make sure we have an absolute progpath for reexecution:
-case $progpath in
-  [\\/]*|[A-Za-z]:\\*) ;;
-  *[\\/]*)
-     progdir=`$ECHO "$progpath" |$SED "$sed_dirname"`
-     progdir=`cd "$progdir" && pwd`
-     progpath=$progdir/$progname
-     ;;
-  *)
-     _G_IFS=$IFS
-     IFS=${PATH_SEPARATOR-:}
-     for progdir in $PATH; do
-       IFS=$_G_IFS
-       test -x "$progdir/$progname" && break
-     done
-     IFS=$_G_IFS
-     test -n "$progdir" || progdir=`pwd`
-     progpath=$progdir/$progname
-     ;;
-esac
-
-
-## ----------------- ##
-## Standard options. ##
-## ----------------- ##
-
-# The following options affect the operation of the functions defined
-# below, and should be set appropriately depending on run-time para-
-# meters passed on the command line.
-
-opt_dry_run=false
-opt_quiet=false
-opt_verbose=false
-
-# Categories 'all' and 'none' are always available.  Append any others
-# you will pass as the first argument to func_warning from your own
-# code.
-warning_categories=
-
-# By default, display warnings according to 'opt_warning_types'.  Set
-# 'warning_func'  to ':' to elide all warnings, or func_fatal_error to
-# treat the next displayed warning as a fatal error.
-warning_func=func_warn_and_continue
-
-# Set to 'all' to display all warnings, 'none' to suppress all
-# warnings, or a space delimited list of some subset of
-# 'warning_categories' to display only the listed warnings.
-opt_warning_types=all
-
-
-## -------------------- ##
-## Resource management. ##
-## -------------------- ##
-
-# This section contains definitions for functions that each ensure a
-# particular resource (a file, or a non-empty configuration variable for
-# example) is available, and if appropriate to extract default values
-# from pertinent package files. Call them using their associated
-# 'require_*' variable to ensure that they are executed, at most, once.
-#
-# It's entirely deliberate that calling these functions can set
-# variables that don't obey the namespace limitations obeyed by the rest
-# of this file, in order that that they be as useful as possible to
-# callers.
-
-
-# require_term_colors
-# -------------------
-# Allow display of bold text on terminals that support it.
-require_term_colors=func_require_term_colors
-func_require_term_colors ()
-{
-    $debug_cmd
-
-    test -t 1 && {
-      # COLORTERM and USE_ANSI_COLORS environment variables take
-      # precedence, because most terminfo databases neglect to describe
-      # whether color sequences are supported.
-      test -n "${COLORTERM+set}" && : ${USE_ANSI_COLORS="1"}
-
-      if test 1 = "$USE_ANSI_COLORS"; then
-        # Standard ANSI escape sequences
-        tc_reset=''
-        tc_bold='';   tc_standout=''
-        tc_red='';   tc_green=''
-        tc_blue='';  tc_cyan=''
-      else
-        # Otherwise trust the terminfo database after all.
-        test -n "`tput sgr0 2>/dev/null`" && {
-          tc_reset=`tput sgr0`
-          test -n "`tput bold 2>/dev/null`" && tc_bold=`tput bold`
-          tc_standout=$tc_bold
-          test -n "`tput smso 2>/dev/null`" && tc_standout=`tput smso`
-          test -n "`tput setaf 1 2>/dev/null`" && tc_red=`tput setaf 1`
-          test -n "`tput setaf 2 2>/dev/null`" && tc_green=`tput setaf 2`
-          test -n "`tput setaf 4 2>/dev/null`" && tc_blue=`tput setaf 4`
-          test -n "`tput setaf 5 2>/dev/null`" && tc_cyan=`tput setaf 5`
-        }
-      fi
-    }
-
-    require_term_colors=:
-}
-
-
-## ----------------- ##
-## Function library. ##
-## ----------------- ##
-
-# This section contains a variety of useful functions to call in your
-# scripts. Take note of the portable wrappers for features provided by
-# some modern shells, which will fall back to slower equivalents on
-# less featureful shells.
-
-
-# func_append VAR VALUE
-# ---------------------
-# Append VALUE onto the existing contents of VAR.
-
-  # We should try to minimise forks, especially on Windows where they are
-  # unreasonably slow, so skip the feature probes when bash or zsh are
-  # being used:
-  if test set = "${BASH_VERSION+set}${ZSH_VERSION+set}"; then
-    : ${_G_HAVE_ARITH_OP="yes"}
-    : ${_G_HAVE_XSI_OPS="yes"}
-    # The += operator was introduced in bash 3.1
-    case $BASH_VERSION in
-      [12].* | 3.0 | 3.0*) ;;
-      *)
-        : ${_G_HAVE_PLUSEQ_OP="yes"}
-        ;;
-    esac
-  fi
-
-  # _G_HAVE_PLUSEQ_OP
-  # Can be empty, in which case the shell is probed, "yes" if += is
-  # useable or anything else if it does not work.
-  test -z "$_G_HAVE_PLUSEQ_OP" \
-    && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \
-    && _G_HAVE_PLUSEQ_OP=yes
-
-if test yes = "$_G_HAVE_PLUSEQ_OP"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_append ()
-  {
-    $debug_cmd
-
-    eval "$1+=\$2"
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_append ()
-  {
-    $debug_cmd
-
-    eval "$1=\$$1\$2"
-  }
-fi
-
-
-# func_append_quoted VAR VALUE
-# ----------------------------
-# Quote VALUE and append to the end of shell variable VAR, separated
-# by a space.
-if test yes = "$_G_HAVE_PLUSEQ_OP"; then
-  eval 'func_append_quoted ()
-  {
-    $debug_cmd
-
-    func_quote_for_eval "$2"
-    eval "$1+=\\ \$func_quote_for_eval_result"
-  }'
-else
-  func_append_quoted ()
-  {
-    $debug_cmd
-
-    func_quote_for_eval "$2"
-    eval "$1=\$$1\\ \$func_quote_for_eval_result"
-  }
-fi
-
-
-# func_append_uniq VAR VALUE
-# --------------------------
-# Append unique VALUE onto the existing contents of VAR, assuming
-# entries are delimited by the first character of VALUE.  For example:
-#
-#   func_append_uniq options " --another-option option-argument"
-#
-# will only append to $options if " --another-option option-argument "
-# is not already present somewhere in $options already (note spaces at
-# each end implied by leading space in second argument).
-func_append_uniq ()
-{
-    $debug_cmd
-
-    eval _G_current_value='`$ECHO $'$1'`'
-    _G_delim=`expr "$2" : '\(.\)'`
-
-    case $_G_delim$_G_current_value$_G_delim in
-      *"$2$_G_delim"*) ;;
-      *) func_append "$@" ;;
-    esac
-}
-
-
-# func_arith TERM...
-# ------------------
-# Set func_arith_result to the result of evaluating TERMs.
-  test -z "$_G_HAVE_ARITH_OP" \
-    && (eval 'test 2 = $(( 1 + 1 ))') 2>/dev/null \
-    && _G_HAVE_ARITH_OP=yes
-
-if test yes = "$_G_HAVE_ARITH_OP"; then
-  eval 'func_arith ()
-  {
-    $debug_cmd
-
-    func_arith_result=$(( $* ))
-  }'
-else
-  func_arith ()
-  {
-    $debug_cmd
-
-    func_arith_result=`expr "$@"`
-  }
-fi
-
-
-# func_basename FILE
-# ------------------
-# Set func_basename_result to FILE with everything up to and including
-# the last / stripped.
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  # If this shell supports suffix pattern removal, then use it to avoid
-  # forking. Hide the definitions single quotes in case the shell chokes
-  # on unsupported syntax...
-  _b='func_basename_result=${1##*/}'
-  _d='case $1 in
-        */*) func_dirname_result=${1%/*}$2 ;;
-        *  ) func_dirname_result=$3        ;;
-      esac'
-
-else
-  # ...otherwise fall back to using sed.
-  _b='func_basename_result=`$ECHO "$1" |$SED "$sed_basename"`'
-  _d='func_dirname_result=`$ECHO "$1"  |$SED "$sed_dirname"`
-      if test "X$func_dirname_result" = "X$1"; then
-        func_dirname_result=$3
-      else
-        func_append func_dirname_result "$2"
-      fi'
-fi
-
-eval 'func_basename ()
-{
-    $debug_cmd
-
-    '"$_b"'
-}'
-
-
-# func_dirname FILE APPEND NONDIR_REPLACEMENT
-# -------------------------------------------
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-eval 'func_dirname ()
-{
-    $debug_cmd
-
-    '"$_d"'
-}'
-
-
-# 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"
-# For efficiency, we do not delegate to the functions above but instead
-# duplicate the functionality here.
-eval 'func_dirname_and_basename ()
-{
-    $debug_cmd
-
-    '"$_b"'
-    '"$_d"'
-}'
-
-
-# func_echo ARG...
-# ----------------
-# Echo program name prefixed message.
-func_echo ()
-{
-    $debug_cmd
-
-    _G_message=$*
-
-    func_echo_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_IFS
-      $ECHO "$progname: $_G_line"
-    done
-    IFS=$func_echo_IFS
-}
-
-
-# func_echo_all ARG...
-# --------------------
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO "$*"
-}
-
-
-# func_echo_infix_1 INFIX ARG...
-# ------------------------------
-# Echo program name, followed by INFIX on the first line, with any
-# additional lines not showing INFIX.
-func_echo_infix_1 ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    _G_infix=$1; shift
-    _G_indent=$_G_infix
-    _G_prefix="$progname: $_G_infix: "
-    _G_message=$*
-
-    # Strip color escape sequences before counting printable length
-    for _G_tc in "$tc_reset" "$tc_bold" "$tc_standout" "$tc_red" "$tc_green" "$tc_blue" "$tc_cyan"
-    do
-      test -n "$_G_tc" && {
-        _G_esc_tc=`$ECHO "$_G_tc" | $SED "$sed_make_literal_regex"`
-        _G_indent=`$ECHO "$_G_indent" | $SED "s|$_G_esc_tc||g"`
-      }
-    done
-    _G_indent="$progname: "`echo "$_G_indent" | $SED 's|.| |g'`"  " ## exclude from sc_prohibit_nested_quotes
-
-    func_echo_infix_1_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_infix_1_IFS
-      $ECHO "$_G_prefix$tc_bold$_G_line$tc_reset" >&2
-      _G_prefix=$_G_indent
-    done
-    IFS=$func_echo_infix_1_IFS
-}
-
-
-# func_error ARG...
-# -----------------
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    func_echo_infix_1 "  $tc_standout${tc_red}error$tc_reset" "$*" >&2
-}
-
-
-# func_fatal_error ARG...
-# -----------------------
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    $debug_cmd
-
-    func_error "$*"
-    exit $EXIT_FAILURE
-}
-
-
-# func_grep EXPRESSION FILENAME
-# -----------------------------
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
-    $debug_cmd
-
-    $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_len STRING
-# ---------------
-# Set func_len_result to the length of STRING. STRING may not
-# start with a hyphen.
-  test -z "$_G_HAVE_XSI_OPS" \
-    && (eval 'x=a/b/c;
-      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
-    && _G_HAVE_XSI_OPS=yes
-
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_len ()
-  {
-    $debug_cmd
-
-    func_len_result=${#1}
-  }'
-else
-  func_len ()
-  {
-    $debug_cmd
-
-    func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-  }
-fi
-
-
-# func_mkdir_p DIRECTORY-PATH
-# ---------------------------
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
-    $debug_cmd
-
-    _G_directory_path=$1
-    _G_dir_list=
-
-    if test -n "$_G_directory_path" && test : != "$opt_dry_run"; then
-
-      # Protect directory names starting with '-'
-      case $_G_directory_path in
-        -*) _G_directory_path=./$_G_directory_path ;;
-      esac
-
-      # While some portion of DIR does not yet exist...
-      while test ! -d "$_G_directory_path"; do
-        # ...make a list in topmost first order.  Use a colon delimited
-	# list incase some portion of path contains whitespace.
-        _G_dir_list=$_G_directory_path:$_G_dir_list
-
-        # If the last portion added has no slash in it, the list is done
-        case $_G_directory_path in */*) ;; *) break ;; esac
-
-        # ...otherwise throw away the child directory and loop
-        _G_directory_path=`$ECHO "$_G_directory_path" | $SED -e "$sed_dirname"`
-      done
-      _G_dir_list=`$ECHO "$_G_dir_list" | $SED 's|:*$||'`
-
-      func_mkdir_p_IFS=$IFS; IFS=:
-      for _G_dir in $_G_dir_list; do
-	IFS=$func_mkdir_p_IFS
-        # mkdir can fail with a 'File exist' error if two processes
-        # try to create one of the directories concurrently.  Don't
-        # stop in that case!
-        $MKDIR "$_G_dir" 2>/dev/null || :
-      done
-      IFS=$func_mkdir_p_IFS
-
-      # Bail out if we (or some other process) failed to create a directory.
-      test -d "$_G_directory_path" || \
-        func_fatal_error "Failed to create '$1'"
-    fi
-}
-
-
-# func_mktempdir [BASENAME]
-# -------------------------
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, BASENAME is the basename for that directory.
-func_mktempdir ()
-{
-    $debug_cmd
-
-    _G_template=${TMPDIR-/tmp}/${1-$progname}
-
-    if test : = "$opt_dry_run"; then
-      # Return a directory name, but don't create it in dry-run mode
-      _G_tmpdir=$_G_template-$$
-    else
-
-      # If mktemp works, use that first and foremost
-      _G_tmpdir=`mktemp -d "$_G_template-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$_G_tmpdir"; then
-        # Failing that, at least try and use $RANDOM to avoid a race
-        _G_tmpdir=$_G_template-${RANDOM-0}$$
-
-        func_mktempdir_umask=`umask`
-        umask 0077
-        $MKDIR "$_G_tmpdir"
-        umask $func_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$_G_tmpdir" || \
-        func_fatal_error "cannot create temporary directory '$_G_tmpdir'"
-    fi
-
-    $ECHO "$_G_tmpdir"
-}
-
-
-# func_normal_abspath PATH
-# ------------------------
-# Remove doubled-up and trailing slashes, "." path components,
-# and cancel out any ".." path components in PATH after making
-# it an absolute path.
-func_normal_abspath ()
-{
-    $debug_cmd
-
-    # These SED scripts presuppose an absolute path with a trailing slash.
-    _G_pathcar='s|^/\([^/]*\).*$|\1|'
-    _G_pathcdr='s|^/[^/]*||'
-    _G_removedotparts=':dotsl
-		s|/\./|/|g
-		t dotsl
-		s|/\.$|/|'
-    _G_collapseslashes='s|/\{1,\}|/|g'
-    _G_finalslash='s|/*$|/|'
-
-    # Start from root dir and reassemble the path.
-    func_normal_abspath_result=
-    func_normal_abspath_tpath=$1
-    func_normal_abspath_altnamespace=
-    case $func_normal_abspath_tpath in
-      "")
-        # Empty path, that just means $cwd.
-        func_stripname '' '/' "`pwd`"
-        func_normal_abspath_result=$func_stripname_result
-        return
-        ;;
-      # The next three entries are used to spot a run of precisely
-      # two leading slashes without using negated character classes;
-      # we take advantage of case's first-match behaviour.
-      ///*)
-        # Unusual form of absolute path, do nothing.
-        ;;
-      //*)
-        # Not necessarily an ordinary path; POSIX reserves leading '//'
-        # and for example Cygwin uses it to access remote file shares
-        # over CIFS/SMB, so we conserve a leading double slash if found.
-        func_normal_abspath_altnamespace=/
-        ;;
-      /*)
-        # Absolute path, do nothing.
-        ;;
-      *)
-        # Relative path, prepend $cwd.
-        func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath
-        ;;
-    esac
-
-    # Cancel out all the simple stuff to save iterations.  We also want
-    # the path to end with a slash for ease of parsing, so make sure
-    # there is one (and only one) here.
-    func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_removedotparts" -e "$_G_collapseslashes" -e "$_G_finalslash"`
-    while :; do
-      # Processed it all yet?
-      if test / = "$func_normal_abspath_tpath"; then
-        # If we ascended to the root using ".." the result may be empty now.
-        if test -z "$func_normal_abspath_result"; then
-          func_normal_abspath_result=/
-        fi
-        break
-      fi
-      func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_pathcar"`
-      func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \
-          -e "$_G_pathcdr"`
-      # Figure out what to do with it
-      case $func_normal_abspath_tcomponent in
-        "")
-          # Trailing empty path component, ignore it.
-          ;;
-        ..)
-          # Parent dir; strip last assembled component from result.
-          func_dirname "$func_normal_abspath_result"
-          func_normal_abspath_result=$func_dirname_result
-          ;;
-        *)
-          # Actual path component, append it.
-          func_append func_normal_abspath_result "/$func_normal_abspath_tcomponent"
-          ;;
-      esac
-    done
-    # Restore leading double-slash if one was found on entry.
-    func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result
-}
-
-
-# func_notquiet ARG...
-# --------------------
-# Echo program name prefixed message only when not in quiet mode.
-func_notquiet ()
-{
-    $debug_cmd
-
-    $opt_quiet || func_echo ${1+"$@"}
-
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
-
-
-# func_relative_path SRCDIR DSTDIR
-# --------------------------------
-# Set func_relative_path_result to the relative path from SRCDIR to DSTDIR.
-func_relative_path ()
-{
-    $debug_cmd
-
-    func_relative_path_result=
-    func_normal_abspath "$1"
-    func_relative_path_tlibdir=$func_normal_abspath_result
-    func_normal_abspath "$2"
-    func_relative_path_tbindir=$func_normal_abspath_result
-
-    # Ascend the tree starting from libdir
-    while :; do
-      # check if we have found a prefix of bindir
-      case $func_relative_path_tbindir in
-        $func_relative_path_tlibdir)
-          # found an exact match
-          func_relative_path_tcancelled=
-          break
-          ;;
-        $func_relative_path_tlibdir*)
-          # found a matching prefix
-          func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir"
-          func_relative_path_tcancelled=$func_stripname_result
-          if test -z "$func_relative_path_result"; then
-            func_relative_path_result=.
-          fi
-          break
-          ;;
-        *)
-          func_dirname $func_relative_path_tlibdir
-          func_relative_path_tlibdir=$func_dirname_result
-          if test -z "$func_relative_path_tlibdir"; then
-            # Have to descend all the way to the root!
-            func_relative_path_result=../$func_relative_path_result
-            func_relative_path_tcancelled=$func_relative_path_tbindir
-            break
-          fi
-          func_relative_path_result=../$func_relative_path_result
-          ;;
-      esac
-    done
-
-    # Now calculate path; take care to avoid doubling-up slashes.
-    func_stripname '' '/' "$func_relative_path_result"
-    func_relative_path_result=$func_stripname_result
-    func_stripname '/' '/' "$func_relative_path_tcancelled"
-    if test -n "$func_stripname_result"; then
-      func_append func_relative_path_result "/$func_stripname_result"
-    fi
-
-    # Normalisation. If bindir is libdir, return '.' else relative path.
-    if test -n "$func_relative_path_result"; then
-      func_stripname './' '' "$func_relative_path_result"
-      func_relative_path_result=$func_stripname_result
-    fi
-
-    test -n "$func_relative_path_result" || func_relative_path_result=.
-
-    :
-}
-
-
-# func_quote_for_eval ARG...
-# --------------------------
-# Aesthetically quote ARGs to be evaled later.
-# This function returns two values:
-#   i) func_quote_for_eval_result
-#      double-quoted, suitable for a subsequent eval
-#  ii) func_quote_for_eval_unquoted_result
-#      has all characters that are still active within double
-#      quotes backslashified.
-func_quote_for_eval ()
-{
-    $debug_cmd
-
-    func_quote_for_eval_unquoted_result=
-    func_quote_for_eval_result=
-    while test 0 -lt $#; do
-      case $1 in
-        *[\\\`\"\$]*)
-	  _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
-        *)
-          _G_unquoted_arg=$1 ;;
-      esac
-      if test -n "$func_quote_for_eval_unquoted_result"; then
-	func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
-      else
-        func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
-      fi
-
-      case $_G_unquoted_arg in
-        # Double-quote args containing shell metacharacters to delay
-        # word splitting, command substitution and variable expansion
-        # for a subsequent eval.
-        # Many Bourne shells cannot handle close brackets correctly
-        # in scan sets, so we specify it separately.
-        *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-          _G_quoted_arg=\"$_G_unquoted_arg\"
-          ;;
-        *)
-          _G_quoted_arg=$_G_unquoted_arg
-	  ;;
-      esac
-
-      if test -n "$func_quote_for_eval_result"; then
-	func_append func_quote_for_eval_result " $_G_quoted_arg"
-      else
-        func_append func_quote_for_eval_result "$_G_quoted_arg"
-      fi
-      shift
-    done
-}
-
-
-# func_quote_for_expand ARG
-# -------------------------
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
-    $debug_cmd
-
-    case $1 in
-      *[\\\`\"]*)
-	_G_arg=`$ECHO "$1" | $SED \
-	    -e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        _G_arg=$1 ;;
-    esac
-
-    case $_G_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        _G_arg=\"$_G_arg\"
-        ;;
-    esac
-
-    func_quote_for_expand_result=$_G_arg
-}
-
-
-# func_stripname PREFIX SUFFIX NAME
-# ---------------------------------
-# strip PREFIX and SUFFIX from NAME, and store in func_stripname_result.
-# 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).
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_stripname ()
-  {
-    $debug_cmd
-
-    # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-    # positional parameters, so assign one to ordinary variable first.
-    func_stripname_result=$3
-    func_stripname_result=${func_stripname_result#"$1"}
-    func_stripname_result=${func_stripname_result%"$2"}
-  }'
-else
-  func_stripname ()
-  {
-    $debug_cmd
-
-    case $2 in
-      .*) func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%\\\\$2\$%%"`;;
-      *)  func_stripname_result=`$ECHO "$3" | $SED -e "s%^$1%%" -e "s%$2\$%%"`;;
-    esac
-  }
-fi
-
-
-# func_show_eval CMD [FAIL_EXP]
-# -----------------------------
-# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
-    $debug_cmd
-
-    _G_cmd=$1
-    _G_fail_exp=${2-':'}
-
-    func_quote_for_expand "$_G_cmd"
-    eval "func_notquiet $func_quote_for_expand_result"
-
-    $opt_dry_run || {
-      eval "$_G_cmd"
-      _G_status=$?
-      if test 0 -ne "$_G_status"; then
-	eval "(exit $_G_status); $_G_fail_exp"
-      fi
-    }
-}
-
-
-# func_show_eval_locale CMD [FAIL_EXP]
-# ------------------------------------
-# Unless opt_quiet is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
-    $debug_cmd
-
-    _G_cmd=$1
-    _G_fail_exp=${2-':'}
-
-    $opt_quiet || {
-      func_quote_for_expand "$_G_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    $opt_dry_run || {
-      eval "$_G_user_locale
-	    $_G_cmd"
-      _G_status=$?
-      eval "$_G_safe_locale"
-      if test 0 -ne "$_G_status"; then
-	eval "(exit $_G_status); $_G_fail_exp"
-      fi
-    }
-}
-
-
-# func_tr_sh
-# ----------
-# Turn $1 into a string suitable for a shell variable name.
-# Result is stored in $func_tr_sh_result.  All characters
-# not in the set a-zA-Z0-9_ are replaced with '_'. Further,
-# if $1 begins with a digit, a '_' is prepended as well.
-func_tr_sh ()
-{
-    $debug_cmd
-
-    case $1 in
-    [0-9]* | *[!a-zA-Z0-9_]*)
-      func_tr_sh_result=`$ECHO "$1" | $SED -e 's/^\([0-9]\)/_\1/' -e 's/[^a-zA-Z0-9_]/_/g'`
-      ;;
-    * )
-      func_tr_sh_result=$1
-      ;;
-    esac
-}
-
-
-# func_verbose ARG...
-# -------------------
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $debug_cmd
-
-    $opt_verbose && func_echo "$*"
-
-    :
-}
-
-
-# func_warn_and_continue ARG...
-# -----------------------------
-# Echo program name prefixed warning message to standard error.
-func_warn_and_continue ()
-{
-    $debug_cmd
-
-    $require_term_colors
-
-    func_echo_infix_1 "${tc_red}warning$tc_reset" "$*" >&2
-}
-
-
-# func_warning CATEGORY ARG...
-# ----------------------------
-# Echo program name prefixed warning message to standard error. Warning
-# messages can be filtered according to CATEGORY, where this function
-# elides messages where CATEGORY is not listed in the global variable
-# 'opt_warning_types'.
-func_warning ()
-{
-    $debug_cmd
-
-    # CATEGORY must be in the warning_categories list!
-    case " $warning_categories " in
-      *" $1 "*) ;;
-      *) func_internal_error "invalid warning category '$1'" ;;
-    esac
-
-    _G_category=$1
-    shift
-
-    case " $opt_warning_types " in
-      *" $_G_category "*) $warning_func ${1+"$@"} ;;
-    esac
-}
-
-
-# func_sort_ver VER1 VER2
-# -----------------------
-# 'sort -V' is not generally available.
-# Note this deviates from the version comparison in automake
-# in that it treats 1.5 < 1.5.0, and treats 1.4.4a < 1.4-p3a
-# but this should suffice as we won't be specifying old
-# version formats or redundant trailing .0 in bootstrap.conf.
-# If we did want full compatibility then we should probably
-# use m4_version_compare from autoconf.
-func_sort_ver ()
-{
-    $debug_cmd
-
-    printf '%s\n%s\n' "$1" "$2" \
-      | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n -k 5,5n -k 6,6n -k 7,7n -k 8,8n -k 9,9n
-}
-
-# func_lt_ver PREV CURR
-# ---------------------
-# Return true if PREV and CURR are in the correct order according to
-# func_sort_ver, otherwise false.  Use it like this:
-#
-#  func_lt_ver "$prev_ver" "$proposed_ver" || func_fatal_error "..."
-func_lt_ver ()
-{
-    $debug_cmd
-
-    test "x$1" = x`func_sort_ver "$1" "$2" | $SED 1q`
-}
-
-
-# Local variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
-# time-stamp-time-zone: "UTC"
-# End:
-#! /bin/sh
-
-# Set a version string for this script.
-scriptversion=2014-01-07.03; # UTC
-
-# A portable, pluggable option parser for Bourne shell.
-# Written by Gary V. Vaughan, 2010
-
-# Copyright (C) 2010-2015 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# 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/>.
-
-# Please report bugs or propose patches to gary at gnu.org.
-
-
-## ------ ##
-## Usage. ##
-## ------ ##
-
-# This file is a library for parsing options in your shell scripts along
-# with assorted other useful supporting features that you can make use
-# of too.
-#
-# For the simplest scripts you might need only:
-#
-#   #!/bin/sh
-#   . relative/path/to/funclib.sh
-#   . relative/path/to/options-parser
-#   scriptversion=1.0
-#   func_options ${1+"$@"}
-#   eval set dummy "$func_options_result"; shift
-#   ...rest of your script...
-#
-# In order for the '--version' option to work, you will need to have a
-# suitably formatted comment like the one at the top of this file
-# starting with '# Written by ' and ending with '# warranty; '.
-#
-# For '-h' and '--help' to work, you will also need a one line
-# description of your script's purpose in a comment directly above the
-# '# Written by ' line, like the one at the top of this file.
-#
-# The default options also support '--debug', which will turn on shell
-# execution tracing (see the comment above debug_cmd below for another
-# use), and '--verbose' and the func_verbose function to allow your script
-# to display verbose messages only when your user has specified
-# '--verbose'.
-#
-# After sourcing this file, you can plug processing for additional
-# options by amending the variables from the 'Configuration' section
-# below, and following the instructions in the 'Option parsing'
-# section further down.
-
-## -------------- ##
-## Configuration. ##
-## -------------- ##
-
-# You should override these variables in your script after sourcing this
-# file so that they reflect the customisations you have added to the
-# option parser.
-
-# The usage line for option parsing errors and the start of '-h' and
-# '--help' output messages. You can embed shell variables for delayed
-# expansion at the time the message is displayed, but you will need to
-# quote other shell meta-characters carefully to prevent them being
-# expanded when the contents are evaled.
-usage='$progpath [OPTION]...'
-
-# Short help message in response to '-h' and '--help'.  Add to this or
-# override it after sourcing this library to reflect the full set of
-# options your script accepts.
-usage_message="\
-       --debug        enable verbose shell tracing
-   -W, --warnings=CATEGORY
-                      report the warnings falling in CATEGORY [all]
-   -v, --verbose      verbosely report processing
-       --version      print version information and exit
-   -h, --help         print short or long help message and exit
-"
-
-# Additional text appended to 'usage_message' in response to '--help'.
-long_help_message="
-Warning categories include:
-       'all'          show all warnings
-       'none'         turn off all the warnings
-       'error'        warnings are treated as fatal errors"
-
-# Help message printed before fatal option parsing errors.
-fatal_help="Try '\$progname --help' for more information."
-
-
-
-## ------------------------- ##
-## Hook function management. ##
-## ------------------------- ##
-
-# This section contains functions for adding, removing, and running hooks
-# to the main code.  A hook is just a named list of of function, that can
-# be run in order later on.
-
-# func_hookable FUNC_NAME
-# -----------------------
-# Declare that FUNC_NAME will run hooks added with
-# 'func_add_hook FUNC_NAME ...'.
-func_hookable ()
-{
-    $debug_cmd
-
-    func_append hookable_fns " $1"
-}
-
-
-# func_add_hook FUNC_NAME HOOK_FUNC
-# ---------------------------------
-# Request that FUNC_NAME call HOOK_FUNC before it returns.  FUNC_NAME must
-# first have been declared "hookable" by a call to 'func_hookable'.
-func_add_hook ()
-{
-    $debug_cmd
-
-    case " $hookable_fns " in
-      *" $1 "*) ;;
-      *) func_fatal_error "'$1' does not accept hook functions." ;;
-    esac
-
-    eval func_append ${1}_hooks '" $2"'
-}
-
-
-# func_remove_hook FUNC_NAME HOOK_FUNC
-# ------------------------------------
-# Remove HOOK_FUNC from the list of functions called by FUNC_NAME.
-func_remove_hook ()
-{
-    $debug_cmd
-
-    eval ${1}_hooks='`$ECHO "\$'$1'_hooks" |$SED "s| '$2'||"`'
-}
-
-
-# func_run_hooks FUNC_NAME [ARG]...
-# ---------------------------------
-# Run all hook functions registered to FUNC_NAME.
-# It is assumed that the list of hook functions contains nothing more
-# than a whitespace-delimited list of legal shell function names, and
-# no effort is wasted trying to catch shell meta-characters or preserve
-# whitespace.
-func_run_hooks ()
-{
-    $debug_cmd
-
-    case " $hookable_fns " in
-      *" $1 "*) ;;
-      *) func_fatal_error "'$1' does not support hook funcions.n" ;;
-    esac
-
-    eval _G_hook_fns=\$$1_hooks; shift
-
-    for _G_hook in $_G_hook_fns; do
-      eval $_G_hook '"$@"'
-
-      # store returned options list back into positional
-      # parameters for next 'cmd' execution.
-      eval _G_hook_result=\$${_G_hook}_result
-      eval set dummy "$_G_hook_result"; shift
-    done
-
-    func_quote_for_eval ${1+"$@"}
-    func_run_hooks_result=$func_quote_for_eval_result
-}
-
-
-
-## --------------- ##
-## Option parsing. ##
-## --------------- ##
-
-# In order to add your own option parsing hooks, you must accept the
-# full positional parameter list in your hook function, remove any
-# options that you action, and then pass back the remaining unprocessed
-# options in '<hooked_function_name>_result', escaped suitably for
-# 'eval'.  Like this:
-#
-#    my_options_prep ()
-#    {
-#        $debug_cmd
-#
-#        # Extend the existing usage message.
-#        usage_message=$usage_message'
-#      -s, --silent       don'\''t print informational messages
-#    '
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_options_prep_result=$func_quote_for_eval_result
-#    }
-#    func_add_hook func_options_prep my_options_prep
-#
-#
-#    my_silent_option ()
-#    {
-#        $debug_cmd
-#
-#        # Note that for efficiency, we parse as many options as we can
-#        # recognise in a loop before passing the remainder back to the
-#        # caller on the first unrecognised argument we encounter.
-#        while test $# -gt 0; do
-#          opt=$1; shift
-#          case $opt in
-#            --silent|-s) opt_silent=: ;;
-#            # Separate non-argument short options:
-#            -s*)         func_split_short_opt "$_G_opt"
-#                         set dummy "$func_split_short_opt_name" \
-#                             "-$func_split_short_opt_arg" ${1+"$@"}
-#                         shift
-#                         ;;
-#            *)            set dummy "$_G_opt" "$*"; shift; break ;;
-#          esac
-#        done
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_silent_option_result=$func_quote_for_eval_result
-#    }
-#    func_add_hook func_parse_options my_silent_option
-#
-#
-#    my_option_validation ()
-#    {
-#        $debug_cmd
-#
-#        $opt_silent && $opt_verbose && func_fatal_help "\
-#    '--silent' and '--verbose' options are mutually exclusive."
-#
-#        func_quote_for_eval ${1+"$@"}
-#        my_option_validation_result=$func_quote_for_eval_result
-#    }
-#    func_add_hook func_validate_options my_option_validation
-#
-# You'll alse need to manually amend $usage_message to reflect the extra
-# options you parse.  It's preferable to append if you can, so that
-# multiple option parsing hooks can be added safely.
-
-
-# func_options [ARG]...
-# ---------------------
-# All the functions called inside func_options are hookable. See the
-# individual implementations for details.
-func_hookable func_options
-func_options ()
-{
-    $debug_cmd
-
-    func_options_prep ${1+"$@"}
-    eval func_parse_options \
-        ${func_options_prep_result+"$func_options_prep_result"}
-    eval func_validate_options \
-        ${func_parse_options_result+"$func_parse_options_result"}
-
-    eval func_run_hooks func_options \
-        ${func_validate_options_result+"$func_validate_options_result"}
-
-    # save modified positional parameters for caller
-    func_options_result=$func_run_hooks_result
-}
-
-
-# func_options_prep [ARG]...
-# --------------------------
-# All initialisations required before starting the option parse loop.
-# Note that when calling hook functions, we pass through the list of
-# positional parameters.  If a hook function modifies that list, and
-# needs to propogate that back to rest of this script, then the complete
-# modified list must be put in 'func_run_hooks_result' before
-# returning.
-func_hookable func_options_prep
-func_options_prep ()
-{
-    $debug_cmd
-
-    # Option defaults:
-    opt_verbose=false
-    opt_warning_types=
-
-    func_run_hooks func_options_prep ${1+"$@"}
-
-    # save modified positional parameters for caller
-    func_options_prep_result=$func_run_hooks_result
-}
-
-
-# func_parse_options [ARG]...
-# ---------------------------
-# The main option parsing loop.
-func_hookable func_parse_options
-func_parse_options ()
-{
-    $debug_cmd
-
-    func_parse_options_result=
-
-    # this just eases exit handling
-    while test $# -gt 0; do
-      # Defer to hook functions for initial option parsing, so they
-      # get priority in the event of reusing an option name.
-      func_run_hooks func_parse_options ${1+"$@"}
-
-      # Adjust func_parse_options positional parameters to match
-      eval set dummy "$func_run_hooks_result"; shift
-
-      # Break out of the loop if we already parsed every option.
-      test $# -gt 0 || break
-
-      _G_opt=$1
-      shift
-      case $_G_opt in
-        --debug|-x)   debug_cmd='set -x'
-                      func_echo "enabling shell trace mode"
-                      $debug_cmd
-                      ;;
-
-        --no-warnings|--no-warning|--no-warn)
-                      set dummy --warnings none ${1+"$@"}
-                      shift
-		      ;;
-
-        --warnings|--warning|-W)
-                      test $# = 0 && func_missing_arg $_G_opt && break
-                      case " $warning_categories $1" in
-                        *" $1 "*)
-                          # trailing space prevents matching last $1 above
-                          func_append_uniq opt_warning_types " $1"
-                          ;;
-                        *all)
-                          opt_warning_types=$warning_categories
-                          ;;
-                        *none)
-                          opt_warning_types=none
-                          warning_func=:
-                          ;;
-                        *error)
-                          opt_warning_types=$warning_categories
-                          warning_func=func_fatal_error
-                          ;;
-                        *)
-                          func_fatal_error \
-                             "unsupported warning category: '$1'"
-                          ;;
-                      esac
-                      shift
-                      ;;
-
-        --verbose|-v) opt_verbose=: ;;
-        --version)    func_version ;;
-        -\?|-h)       func_usage ;;
-        --help)       func_help ;;
-
-	# Separate optargs to long options (plugins may need this):
-	--*=*)        func_split_equals "$_G_opt"
-	              set dummy "$func_split_equals_lhs" \
-                          "$func_split_equals_rhs" ${1+"$@"}
-                      shift
-                      ;;
-
-       # Separate optargs to short options:
-        -W*)
-                      func_split_short_opt "$_G_opt"
-                      set dummy "$func_split_short_opt_name" \
-                          "$func_split_short_opt_arg" ${1+"$@"}
-                      shift
-                      ;;
-
-        # Separate non-argument short options:
-        -\?*|-h*|-v*|-x*)
-                      func_split_short_opt "$_G_opt"
-                      set dummy "$func_split_short_opt_name" \
-                          "-$func_split_short_opt_arg" ${1+"$@"}
-                      shift
-                      ;;
-
-        --)           break ;;
-        -*)           func_fatal_help "unrecognised option: '$_G_opt'" ;;
-        *)            set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
-      esac
-    done
-
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    func_parse_options_result=$func_quote_for_eval_result
-}
-
-
-# func_validate_options [ARG]...
-# ------------------------------
-# Perform any sanity checks on option settings and/or unconsumed
-# arguments.
-func_hookable func_validate_options
-func_validate_options ()
-{
-    $debug_cmd
-
-    # Display all warnings if -W was not given.
-    test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
-
-    func_run_hooks func_validate_options ${1+"$@"}
-
-    # Bail if the options were screwed!
-    $exit_cmd $EXIT_FAILURE
-
-    # save modified positional parameters for caller
-    func_validate_options_result=$func_run_hooks_result
-}
-
-
-
-## ----------------- ##
-## Helper functions. ##
-## ----------------- ##
-
-# This section contains the helper functions used by the rest of the
-# hookable option parser framework in ascii-betical order.
-
-
-# func_fatal_help ARG...
-# ----------------------
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    $debug_cmd
-
-    eval \$ECHO \""Usage: $usage"\"
-    eval \$ECHO \""$fatal_help"\"
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
-
-
-# func_help
-# ---------
-# Echo long help message to standard output and exit.
-func_help ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "$long_help_message"
-    exit 0
-}
-
-
-# func_missing_arg ARGNAME
-# ------------------------
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
-    $debug_cmd
-
-    func_error "Missing argument for '$1'."
-    exit_cmd=exit
-}
-
-
-# func_split_equals STRING
-# ------------------------
-# Set func_split_equals_lhs and func_split_equals_rhs shell variables after
-# splitting STRING at the '=' sign.
-test -z "$_G_HAVE_XSI_OPS" \
-    && (eval 'x=a/b/c;
-      test 5aa/bb/cc = "${#x}${x%%/*}${x%/*}${x#*/}${x##*/}"') 2>/dev/null \
-    && _G_HAVE_XSI_OPS=yes
-
-if test yes = "$_G_HAVE_XSI_OPS"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_split_equals ()
-  {
-      $debug_cmd
-
-      func_split_equals_lhs=${1%%=*}
-      func_split_equals_rhs=${1#*=}
-      test "x$func_split_equals_lhs" = "x$1" \
-        && func_split_equals_rhs=
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_split_equals ()
-  {
-      $debug_cmd
-
-      func_split_equals_lhs=`expr "x$1" : 'x\([^=]*\)'`
-      func_split_equals_rhs=
-      test "x$func_split_equals_lhs" = "x$1" \
-        || func_split_equals_rhs=`expr "x$1" : 'x[^=]*=\(.*\)$'`
-  }
-fi #func_split_equals
-
-
-# func_split_short_opt SHORTOPT
-# -----------------------------
-# Set func_split_short_opt_name and func_split_short_opt_arg shell
-# variables after splitting SHORTOPT after the 2nd character.
-if test yes = "$_G_HAVE_XSI_OPS"
-then
-  # This is an XSI compatible shell, allowing a faster implementation...
-  eval 'func_split_short_opt ()
-  {
-      $debug_cmd
-
-      func_split_short_opt_arg=${1#??}
-      func_split_short_opt_name=${1%"$func_split_short_opt_arg"}
-  }'
-else
-  # ...otherwise fall back to using expr, which is often a shell builtin.
-  func_split_short_opt ()
-  {
-      $debug_cmd
-
-      func_split_short_opt_name=`expr "x$1" : 'x-\(.\)'`
-      func_split_short_opt_arg=`expr "x$1" : 'x-.\(.*\)$'`
-  }
-fi #func_split_short_opt
-
-
-# func_usage
-# ----------
-# Echo short help message to standard output and exit.
-func_usage ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "Run '$progname --help |${PAGER-more}' for full usage"
-    exit 0
-}
-
-
-# func_usage_message
-# ------------------
-# Echo short help message to standard output.
-func_usage_message ()
-{
-    $debug_cmd
-
-    eval \$ECHO \""Usage: $usage"\"
-    echo
-    $SED -n 's|^# ||
-        /^Written by/{
-          x;p;x
-        }
-	h
-	/^Written by/q' < "$progpath"
-    echo
-    eval \$ECHO \""$usage_message"\"
-}
-
-
-# func_version
-# ------------
-# Echo version message to standard output and exit.
-func_version ()
-{
-    $debug_cmd
-
-    printf '%s\n' "$progname $scriptversion"
-    $SED -n '
-        /(C)/!b go
-        :more
-        /\./!{
-          N
-          s|\n# | |
-          b more
-        }
-        :go
-        /^# Written by /,/# warranty; / {
-          s|^# ||
-          s|^# *$||
-          s|\((C)\)[ 0-9,-]*[ ,-]\([1-9][0-9]* \)|\1 \2|
-          p
-        }
-        /^# Written by / {
-          s|^# ||
-          p
-        }
-        /^warranty; /q' < "$progpath"
-
-    exit $?
-}
-
-
-# Local variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'before-save-hook 'time-stamp)
-# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
-# time-stamp-time-zone: "UTC"
-# End:
-
-# Set a version string.
-scriptversion='(GNU libtool) 2.4.6'
-
-
-# func_echo ARG...
-# ----------------
-# Libtool also displays the current mode in messages, so override
-# funclib.sh func_echo with this custom definition.
-func_echo ()
-{
-    $debug_cmd
-
-    _G_message=$*
-
-    func_echo_IFS=$IFS
-    IFS=$nl
-    for _G_line in $_G_message; do
-      IFS=$func_echo_IFS
-      $ECHO "$progname${opt_mode+: $opt_mode}: $_G_line"
-    done
-    IFS=$func_echo_IFS
-}
-
-
-# func_warning ARG...
-# -------------------
-# Libtool warnings are not categorized, so override funclib.sh
-# func_warning with this simpler definition.
-func_warning ()
-{
-    $debug_cmd
-
-    $warning_func ${1+"$@"}
-}
-
-
-## ---------------- ##
-## Options parsing. ##
-## ---------------- ##
-
-# Hook in the functions to make sure our own options are parsed during
-# the option parsing loop.
-
-usage='$progpath [OPTION]... [MODE-ARG]...'
-
-# Short help message in response to '-h'.
-usage_message="Options:
-       --config             show all configuration variables
-       --debug              enable verbose shell tracing
-   -n, --dry-run            display commands without modifying any files
-       --features           display basic configuration information and exit
-       --mode=MODE          use operation mode MODE
-       --no-warnings        equivalent to '-Wnone'
-       --preserve-dup-deps  don't remove duplicate dependency libraries
-       --quiet, --silent    don't print informational messages
-       --tag=TAG            use configuration variables from tag TAG
-   -v, --verbose            print more informational messages than default
-       --version            print version information
-   -W, --warnings=CATEGORY  report the warnings falling in CATEGORY [all]
-   -h, --help, --help-all   print short, long, or detailed help message
-"
-
-# Additional text appended to 'usage_message' in response to '--help'.
-func_help ()
-{
-    $debug_cmd
-
-    func_usage_message
-    $ECHO "$long_help_message
-
-MODE must be one of the following:
-
-       clean           remove files from the build directory
-       compile         compile a source file into a libtool object
-       execute         automatically set library path, then run a program
-       finish          complete the installation of libtool libraries
-       install         install libraries or executables
-       link            create a library or an executable
-       uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  When passed as first option,
-'--mode=MODE' may be abbreviated as 'MODE' or a unique abbreviation of that.
-Try '$progname --help --mode=MODE' for a more detailed description of MODE.
-
-When reporting a bug, please describe a test case to reproduce it and
-include the following information:
-
-       host-triplet:   $host
-       shell:          $SHELL
-       compiler:       $LTCC
-       compiler flags: $LTCFLAGS
-       linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname (GNU libtool) 2.4.6
-       automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
-       autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
-
-Report bugs to <bug-libtool at gnu.org>.
-GNU libtool home page: <http://www.gnu.org/software/libtool/>.
-General help using GNU software: <http://www.gnu.org/gethelp/>."
-    exit 0
-}
-
-
-# func_lo2o OBJECT-NAME
-# ---------------------
-# Transform OBJECT-NAME from a '.lo' suffix to the platform specific
-# object suffix.
-
-lo2o=s/\\.lo\$/.$objext/
-o2lo=s/\\.$objext\$/.lo/
-
-if test yes = "$_G_HAVE_XSI_OPS"; then
-  eval 'func_lo2o ()
-  {
-    case $1 in
-      *.lo) func_lo2o_result=${1%.lo}.$objext ;;
-      *   ) func_lo2o_result=$1               ;;
-    esac
-  }'
-
-  # func_xform LIBOBJ-OR-SOURCE
-  # ---------------------------
-  # Transform LIBOBJ-OR-SOURCE from a '.o' or '.c' (or otherwise)
-  # suffix to a '.lo' libtool-object suffix.
-  eval 'func_xform ()
-  {
-    func_xform_result=${1%.*}.lo
-  }'
-else
-  # ...otherwise fall back to using sed.
-  func_lo2o ()
-  {
-    func_lo2o_result=`$ECHO "$1" | $SED "$lo2o"`
-  }
-
-  func_xform ()
-  {
-    func_xform_result=`$ECHO "$1" | $SED 's|\.[^.]*$|.lo|'`
-  }
-fi
-
-
-# func_fatal_configuration ARG...
-# -------------------------------
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
-    func__fatal_error ${1+"$@"} \
-      "See the $PACKAGE documentation for more information." \
-      "Fatal configuration error."
-}
-
-
-# func_config
-# -----------
-# Display the configuration for all the tags in this script.
-func_config ()
-{
-    re_begincf='^# ### BEGIN LIBTOOL'
-    re_endcf='^# ### END LIBTOOL'
-
-    # Default configuration.
-    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-    done
-
-    exit $?
-}
-
-
-# func_features
-# -------------
-# Display the features supported by this script.
-func_features ()
-{
-    echo "host: $host"
-    if test yes = "$build_libtool_libs"; then
-      echo "enable shared libraries"
-    else
-      echo "disable shared libraries"
-    fi
-    if test yes = "$build_old_libs"; then
-      echo "enable static libraries"
-    else
-      echo "disable static libraries"
-    fi
-
-    exit $?
-}
-
-
-# func_enable_tag TAGNAME
-# -----------------------
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
-    # Global variable:
-    tagname=$1
-
-    re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-    re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-    sed_extractcf=/$re_begincf/,/$re_endcf/p
-
-    # Validate tagname.
-    case $tagname in
-      *[!-_A-Za-z0-9,/]*)
-        func_fatal_error "invalid tag name: $tagname"
-        ;;
-    esac
-
-    # Don't test for the "default" C tag, as we know it's
-    # there but not specially marked.
-    case $tagname in
-        CC) ;;
-    *)
-        if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-	  taglist="$taglist $tagname"
-
-	  # Evaluate the configuration.  Be careful to quote the path
-	  # and the sed script, to avoid splitting on whitespace, but
-	  # also don't use non-portable quotes within backquotes within
-	  # quotes we have to do it in 2 steps:
-	  extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-	  eval "$extractedcf"
-        else
-	  func_error "ignoring unknown tag $tagname"
-        fi
-        ;;
-    esac
-}
-
-
-# func_check_version_match
-# ------------------------
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-    if test "$package_revision" != "$macro_revision"; then
-      if test "$VERSION" != "$macro_version"; then
-        if test -z "$macro_version"; then
-          cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-        else
-          cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-        fi
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
-      fi
-
-      exit $EXIT_MISMATCH
-    fi
-}
-
-
-# libtool_options_prep [ARG]...
-# -----------------------------
-# Preparation for options parsed by libtool.
-libtool_options_prep ()
-{
-    $debug_mode
-
-    # Option defaults:
-    opt_config=false
-    opt_dlopen=
-    opt_dry_run=false
-    opt_help=false
-    opt_mode=
-    opt_preserve_dup_deps=false
-    opt_quiet=false
-
-    nonopt=
-    preserve_args=
-
-    # Shorthand for --mode=foo, only valid as the first argument
-    case $1 in
-    clean|clea|cle|cl)
-      shift; set dummy --mode clean ${1+"$@"}; shift
-      ;;
-    compile|compil|compi|comp|com|co|c)
-      shift; set dummy --mode compile ${1+"$@"}; shift
-      ;;
-    execute|execut|execu|exec|exe|ex|e)
-      shift; set dummy --mode execute ${1+"$@"}; shift
-      ;;
-    finish|finis|fini|fin|fi|f)
-      shift; set dummy --mode finish ${1+"$@"}; shift
-      ;;
-    install|instal|insta|inst|ins|in|i)
-      shift; set dummy --mode install ${1+"$@"}; shift
-      ;;
-    link|lin|li|l)
-      shift; set dummy --mode link ${1+"$@"}; shift
-      ;;
-    uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-      shift; set dummy --mode uninstall ${1+"$@"}; shift
-      ;;
-    esac
-
-    # Pass back the list of options.
-    func_quote_for_eval ${1+"$@"}
-    libtool_options_prep_result=$func_quote_for_eval_result
-}
-func_add_hook func_options_prep libtool_options_prep
-
-
-# libtool_parse_options [ARG]...
-# ---------------------------------
-# Provide handling for libtool specific options.
-libtool_parse_options ()
-{
-    $debug_cmd
-
-    # Perform our own loop to consume as many options as possible in
-    # each iteration.
-    while test $# -gt 0; do
-      _G_opt=$1
-      shift
-      case $_G_opt in
-        --dry-run|--dryrun|-n)
-                        opt_dry_run=:
-                        ;;
-
-        --config)       func_config ;;
-
-        --dlopen|-dlopen)
-                        opt_dlopen="${opt_dlopen+$opt_dlopen
-}$1"
-                        shift
-                        ;;
-
-        --preserve-dup-deps)
-                        opt_preserve_dup_deps=: ;;
-
-        --features)     func_features ;;
-
-        --finish)       set dummy --mode finish ${1+"$@"}; shift ;;
-
-        --help)         opt_help=: ;;
-
-        --help-all)     opt_help=': help-all' ;;
-
-        --mode)         test $# = 0 && func_missing_arg $_G_opt && break
-                        opt_mode=$1
-                        case $1 in
-                          # Valid mode arguments:
-                          clean|compile|execute|finish|install|link|relink|uninstall) ;;
-
-                          # Catch anything else as an error
-                          *) func_error "invalid argument for $_G_opt"
-                             exit_cmd=exit
-                             break
-                             ;;
-                        esac
-                        shift
-                        ;;
-
-        --no-silent|--no-quiet)
-                        opt_quiet=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --no-warnings|--no-warning|--no-warn)
-                        opt_warning=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --no-verbose)
-                        opt_verbose=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --silent|--quiet)
-                        opt_quiet=:
-                        opt_verbose=false
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-        --tag)          test $# = 0 && func_missing_arg $_G_opt && break
-                        opt_tag=$1
-                        func_append preserve_args " $_G_opt $1"
-                        func_enable_tag "$1"
-                        shift
-                        ;;
-
-        --verbose|-v)   opt_quiet=false
-                        opt_verbose=:
-                        func_append preserve_args " $_G_opt"
-                        ;;
-
-	# An option not handled by this hook function:
-        *)		set dummy "$_G_opt" ${1+"$@"};	shift; break  ;;
-      esac
-    done
-
-
-    # save modified positional parameters for caller
-    func_quote_for_eval ${1+"$@"}
-    libtool_parse_options_result=$func_quote_for_eval_result
-}
-func_add_hook func_parse_options libtool_parse_options
-
-
-
-# libtool_validate_options [ARG]...
-# ---------------------------------
-# Perform any sanity checks on option settings and/or unconsumed
-# arguments.
-libtool_validate_options ()
-{
-    # save first non-option argument
-    if test 0 -lt $#; then
-      nonopt=$1
-      shift
-    fi
-
-    # preserve --debug
-    test : = "$debug_cmd" || func_append preserve_args " --debug"
-
-    case $host in
-      # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452
-      # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788
-      *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*)
-        # don't eliminate duplications in $postdeps and $predeps
-        opt_duplicate_compiler_generated_deps=:
-        ;;
-      *)
-        opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps
-        ;;
-    esac
-
-    $opt_help || {
-      # Sanity checks first:
-      func_check_version_match
-
-      test yes != "$build_libtool_libs" \
-        && test yes != "$build_old_libs" \
-        && func_fatal_configuration "not configured to build any kind of library"
-
-      # Darwin sucks
-      eval std_shrext=\"$shrext_cmds\"
-
-      # Only execute mode is allowed to have -dlopen flags.
-      if test -n "$opt_dlopen" && test execute != "$opt_mode"; then
-        func_error "unrecognized option '-dlopen'"
-        $ECHO "$help" 1>&2
-        exit $EXIT_FAILURE
-      fi
-
-      # Change the help message to a mode-specific one.
-      generic_help=$help
-      help="Try '$progname --help --mode=$opt_mode' for more information."
-    }
-
-    # Pass back the unparsed argument list
-    func_quote_for_eval ${1+"$@"}
-    libtool_validate_options_result=$func_quote_for_eval_result
-}
-func_add_hook func_validate_options libtool_validate_options
-
-
-# Process options as early as possible so that --help and --version
-# can return quickly.
-func_options ${1+"$@"}
-eval set dummy "$func_options_result"; shift
-
-
-
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-magic='%%%MAGIC variable%%%'
-magic_exe='%%%MAGIC EXE variable%%%'
-
-# Global variables.
-extracted_archives=
-extracted_serial=0
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-}
-
-# func_generated_by_libtool
-# True iff stdin has been generated by Libtool. This function is only
-# a basic sanity check; it will hardly flush out determined imposters.
-func_generated_by_libtool_p ()
-{
-  $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_p file
-# True iff FILE is a libtool '.la' library or '.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
-    test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null | func_generated_by_libtool_p
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool '.la' library or '.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs.  To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if 'file' does not exist.
-func_lalib_unsafe_p ()
-{
-    lalib_p=no
-    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-	for lalib_p_l in 1 2 3 4
-	do
-	    read lalib_p_line
-	    case $lalib_p_line in
-		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-	    esac
-	done
-	exec 0<&5 5<&-
-    fi
-    test yes = "$lalib_p"
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
-    test -f "$1" &&
-      $lt_truncate_bin < "$1" 2>/dev/null | func_generated_by_libtool_p
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
-    func_ltwrapper_exec_suffix=
-    case $1 in
-    *.exe) ;;
-    *) func_ltwrapper_exec_suffix=.exe ;;
-    esac
-    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
-    func_dirname_and_basename "$1" "" "."
-    func_stripname '' '.exe' "$func_basename_result"
-    func_ltwrapper_scriptname_result=$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
-    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
-    $debug_cmd
-
-    save_ifs=$IFS; IFS='~'
-    for cmd in $1; do
-      IFS=$sp$nl
-      eval cmd=\"$cmd\"
-      IFS=$save_ifs
-      func_show_eval "$cmd" "${2-:}"
-    done
-    IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# 'FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
-    $debug_cmd
-
-    case $1 in
-    */* | *\\*)	. "$1" ;;
-    *)		. "./$1" ;;
-    esac
-}
-
-
-# func_resolve_sysroot PATH
-# Replace a leading = in PATH with a sysroot.  Store the result into
-# func_resolve_sysroot_result
-func_resolve_sysroot ()
-{
-  func_resolve_sysroot_result=$1
-  case $func_resolve_sysroot_result in
-  =*)
-    func_stripname '=' '' "$func_resolve_sysroot_result"
-    func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
-    ;;
-  esac
-}
-
-# func_replace_sysroot PATH
-# If PATH begins with the sysroot, replace it with = and
-# store the result into func_replace_sysroot_result.
-func_replace_sysroot ()
-{
-  case $lt_sysroot:$1 in
-  ?*:"$lt_sysroot"*)
-    func_stripname "$lt_sysroot" '' "$1"
-    func_replace_sysroot_result='='$func_stripname_result
-    ;;
-  *)
-    # Including no sysroot.
-    func_replace_sysroot_result=$1
-    ;;
-  esac
-}
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    $debug_cmd
-
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-	func_append_quoted CC_quoted "$arg"
-      done
-      CC_expanded=`func_echo_all $CC`
-      CC_quoted_expanded=`func_echo_all $CC_quoted`
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-      " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-	for z in $available_tags; do
-	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`$SED -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	      # Double-quote args containing other shell metacharacters.
-	      func_append_quoted CC_quoted "$arg"
-	    done
-	    CC_expanded=`func_echo_all $CC`
-	    CC_quoted_expanded=`func_echo_all $CC_quoted`
-	    case "$@ " in
-	    " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \
-	    " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  func_echo "unable to infer tagged configuration"
-	  func_fatal_error "specify a tag with '--tag'"
-#	else
-#	  func_verbose "using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
-    write_libobj=$1
-    if test yes = "$build_libtool_libs"; then
-      write_lobj=\'$2\'
-    else
-      write_lobj=none
-    fi
-
-    if test yes = "$build_old_libs"; then
-      write_oldobj=\'$3\'
-    else
-      write_oldobj=none
-    fi
-
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
-      $MV "${write_libobj}T" "$write_libobj"
-    }
-}
-
-
-##################################################
-# FILE NAME AND PATH CONVERSION HELPER FUNCTIONS #
-##################################################
-
-# func_convert_core_file_wine_to_w32 ARG
-# Helper function used by file name conversion functions when $build is *nix,
-# and $host is mingw, cygwin, or some other w32 environment. Relies on a
-# correctly configured wine environment available, with the winepath program
-# in $build's $PATH.
-#
-# ARG is the $build file name to be converted to w32 format.
-# Result is available in $func_convert_core_file_wine_to_w32_result, and will
-# be empty on error (or when ARG is empty)
-func_convert_core_file_wine_to_w32 ()
-{
-  $debug_cmd
-
-  func_convert_core_file_wine_to_w32_result=$1
-  if test -n "$1"; then
-    # Unfortunately, winepath does not exit with a non-zero error code, so we
-    # are forced to check the contents of stdout. On the other hand, if the
-    # command is not found, the shell will set an exit code of 127 and print
-    # *an error message* to stdout. So we must check for both error code of
-    # zero AND non-empty stdout, which explains the odd construction:
-    func_convert_core_file_wine_to_w32_tmp=`winepath -w "$1" 2>/dev/null`
-    if test "$?" -eq 0 && test -n "$func_convert_core_file_wine_to_w32_tmp"; then
-      func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" |
-        $SED -e "$sed_naive_backslashify"`
-    else
-      func_convert_core_file_wine_to_w32_result=
-    fi
-  fi
-}
-# end: func_convert_core_file_wine_to_w32
-
-
-# func_convert_core_path_wine_to_w32 ARG
-# Helper function used by path conversion functions when $build is *nix, and
-# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly
-# configured wine environment available, with the winepath program in $build's
-# $PATH. Assumes ARG has no leading or trailing path separator characters.
-#
-# ARG is path to be converted from $build format to win32.
-# Result is available in $func_convert_core_path_wine_to_w32_result.
-# Unconvertible file (directory) names in ARG are skipped; if no directory names
-# are convertible, then the result may be empty.
-func_convert_core_path_wine_to_w32 ()
-{
-  $debug_cmd
-
-  # unfortunately, winepath doesn't convert paths, only file names
-  func_convert_core_path_wine_to_w32_result=
-  if test -n "$1"; then
-    oldIFS=$IFS
-    IFS=:
-    for func_convert_core_path_wine_to_w32_f in $1; do
-      IFS=$oldIFS
-      func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f"
-      if test -n "$func_convert_core_file_wine_to_w32_result"; then
-        if test -z "$func_convert_core_path_wine_to_w32_result"; then
-          func_convert_core_path_wine_to_w32_result=$func_convert_core_file_wine_to_w32_result
-        else
-          func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result"
-        fi
-      fi
-    done
-    IFS=$oldIFS
-  fi
-}
-# end: func_convert_core_path_wine_to_w32
-
-
-# func_cygpath ARGS...
-# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when
-# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2)
-# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or
-# (2), returns the Cygwin file name or path in func_cygpath_result (input
-# file name or path is assumed to be in w32 format, as previously converted
-# from $build's *nix or MSYS format). In case (3), returns the w32 file name
-# or path in func_cygpath_result (input file name or path is assumed to be in
-# Cygwin format). Returns an empty string on error.
-#
-# ARGS are passed to cygpath, with the last one being the file name or path to
-# be converted.
-#
-# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH
-# environment variable; do not put it in $PATH.
-func_cygpath ()
-{
-  $debug_cmd
-
-  if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then
-    func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null`
-    if test "$?" -ne 0; then
-      # on failure, ensure result is empty
-      func_cygpath_result=
-    fi
-  else
-    func_cygpath_result=
-    func_error "LT_CYGPATH is empty or specifies non-existent file: '$LT_CYGPATH'"
-  fi
-}
-#end: func_cygpath
-
-
-# func_convert_core_msys_to_w32 ARG
-# Convert file name or path ARG from MSYS format to w32 format.  Return
-# result in func_convert_core_msys_to_w32_result.
-func_convert_core_msys_to_w32 ()
-{
-  $debug_cmd
-
-  # awkward: cmd appends spaces to result
-  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
-    $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
-}
-#end: func_convert_core_msys_to_w32
-
-
-# func_convert_file_check ARG1 ARG2
-# Verify that ARG1 (a file name in $build format) was converted to $host
-# format in ARG2. Otherwise, emit an error message, but continue (resetting
-# func_to_host_file_result to ARG1).
-func_convert_file_check ()
-{
-  $debug_cmd
-
-  if test -z "$2" && test -n "$1"; then
-    func_error "Could not determine host file name corresponding to"
-    func_error "  '$1'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback:
-    func_to_host_file_result=$1
-  fi
-}
-# end func_convert_file_check
-
-
-# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH
-# Verify that FROM_PATH (a path in $build format) was converted to $host
-# format in TO_PATH. Otherwise, emit an error message, but continue, resetting
-# func_to_host_file_result to a simplistic fallback value (see below).
-func_convert_path_check ()
-{
-  $debug_cmd
-
-  if test -z "$4" && test -n "$3"; then
-    func_error "Could not determine the host path corresponding to"
-    func_error "  '$3'"
-    func_error "Continuing, but uninstalled executables may not work."
-    # Fallback.  This is a deliberately simplistic "conversion" and
-    # should not be "improved".  See libtool.info.
-    if test "x$1" != "x$2"; then
-      lt_replace_pathsep_chars="s|$1|$2|g"
-      func_to_host_path_result=`echo "$3" |
-        $SED -e "$lt_replace_pathsep_chars"`
-    else
-      func_to_host_path_result=$3
-    fi
-  fi
-}
-# end func_convert_path_check
-
-
-# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG
-# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT
-# and appending REPL if ORIG matches BACKPAT.
-func_convert_path_front_back_pathsep ()
-{
-  $debug_cmd
-
-  case $4 in
-  $1 ) func_to_host_path_result=$3$func_to_host_path_result
-    ;;
-  esac
-  case $4 in
-  $2 ) func_append func_to_host_path_result "$3"
-    ;;
-  esac
-}
-# end func_convert_path_front_back_pathsep
-
-
-##################################################
-# $build to $host FILE NAME CONVERSION FUNCTIONS #
-##################################################
-# invoked via '$to_host_file_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# Result will be available in $func_to_host_file_result.
-
-
-# func_to_host_file ARG
-# Converts the file name ARG from $build format to $host format. Return result
-# in func_to_host_file_result.
-func_to_host_file ()
-{
-  $debug_cmd
-
-  $to_host_file_cmd "$1"
-}
-# end func_to_host_file
-
-
-# func_to_tool_file ARG LAZY
-# converts the file name ARG from $build format to toolchain format. Return
-# result in func_to_tool_file_result.  If the conversion in use is listed
-# in (the comma separated) LAZY, no conversion takes place.
-func_to_tool_file ()
-{
-  $debug_cmd
-
-  case ,$2, in
-    *,"$to_tool_file_cmd",*)
-      func_to_tool_file_result=$1
-      ;;
-    *)
-      $to_tool_file_cmd "$1"
-      func_to_tool_file_result=$func_to_host_file_result
-      ;;
-  esac
-}
-# end func_to_tool_file
-
-
-# func_convert_file_noop ARG
-# Copy ARG to func_to_host_file_result.
-func_convert_file_noop ()
-{
-  func_to_host_file_result=$1
-}
-# end func_convert_file_noop
-
-
-# func_convert_file_msys_to_w32 ARG
-# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_file_result.
-func_convert_file_msys_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_to_host_file_result=$func_convert_core_msys_to_w32_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_w32
-
-
-# func_convert_file_cygwin_to_w32 ARG
-# Convert file name ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_file_cygwin_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    # because $build is cygwin, we call "the" cygpath in $PATH; no need to use
-    # LT_CYGPATH in this case.
-    func_to_host_file_result=`cygpath -m "$1"`
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_cygwin_to_w32
-
-
-# func_convert_file_nix_to_w32 ARG
-# Convert file name ARG from *nix to w32 format.  Requires a wine environment
-# and a working winepath. Returns result in func_to_host_file_result.
-func_convert_file_nix_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_file_wine_to_w32 "$1"
-    func_to_host_file_result=$func_convert_core_file_wine_to_w32_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_w32
-
-
-# func_convert_file_msys_to_cygwin ARG
-# Convert file name ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_file_msys_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    func_convert_core_msys_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_msys_to_w32_result"
-    func_to_host_file_result=$func_cygpath_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_msys_to_cygwin
-
-
-# func_convert_file_nix_to_cygwin ARG
-# Convert file name ARG from *nix to Cygwin format.  Requires Cygwin installed
-# in a wine environment, working winepath, and LT_CYGPATH set.  Returns result
-# in func_to_host_file_result.
-func_convert_file_nix_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_file_result=$1
-  if test -n "$1"; then
-    # convert from *nix to w32, then use cygpath to convert from w32 to cygwin.
-    func_convert_core_file_wine_to_w32 "$1"
-    func_cygpath -u "$func_convert_core_file_wine_to_w32_result"
-    func_to_host_file_result=$func_cygpath_result
-  fi
-  func_convert_file_check "$1" "$func_to_host_file_result"
-}
-# end func_convert_file_nix_to_cygwin
-
-
-#############################################
-# $build to $host PATH CONVERSION FUNCTIONS #
-#############################################
-# invoked via '$to_host_path_cmd ARG'
-#
-# In each case, ARG is the path to be converted from $build to $host format.
-# The result will be available in $func_to_host_path_result.
-#
-# Path separators are also converted from $build format to $host format.  If
-# ARG begins or ends with a path separator character, it is preserved (but
-# converted to $host format) on output.
-#
-# All path conversion functions are named using the following convention:
-#   file name conversion function    : func_convert_file_X_to_Y ()
-#   path conversion function         : func_convert_path_X_to_Y ()
-# where, for any given $build/$host combination the 'X_to_Y' value is the
-# same.  If conversion functions are added for new $build/$host combinations,
-# the two new functions must follow this pattern, or func_init_to_host_path_cmd
-# will break.
-
-
-# func_init_to_host_path_cmd
-# Ensures that function "pointer" variable $to_host_path_cmd is set to the
-# appropriate value, based on the value of $to_host_file_cmd.
-to_host_path_cmd=
-func_init_to_host_path_cmd ()
-{
-  $debug_cmd
-
-  if test -z "$to_host_path_cmd"; then
-    func_stripname 'func_convert_file_' '' "$to_host_file_cmd"
-    to_host_path_cmd=func_convert_path_$func_stripname_result
-  fi
-}
-
-
-# func_to_host_path ARG
-# Converts the path ARG from $build format to $host format. Return result
-# in func_to_host_path_result.
-func_to_host_path ()
-{
-  $debug_cmd
-
-  func_init_to_host_path_cmd
-  $to_host_path_cmd "$1"
-}
-# end func_to_host_path
-
-
-# func_convert_path_noop ARG
-# Copy ARG to func_to_host_path_result.
-func_convert_path_noop ()
-{
-  func_to_host_path_result=$1
-}
-# end func_convert_path_noop
-
-
-# func_convert_path_msys_to_w32 ARG
-# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic
-# conversion to w32 is not available inside the cwrapper.  Returns result in
-# func_to_host_path_result.
-func_convert_path_msys_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from ARG.  MSYS
-    # behavior is inconsistent here; cygpath turns them into '.;' and ';.';
-    # and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result=$func_convert_core_msys_to_w32_result
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_msys_to_w32
-
-
-# func_convert_path_cygwin_to_w32 ARG
-# Convert path ARG from Cygwin to w32 format.  Returns result in
-# func_to_host_file_result.
-func_convert_path_cygwin_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"`
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_cygwin_to_w32
-
-
-# func_convert_path_nix_to_w32 ARG
-# Convert path ARG from *nix to w32 format.  Requires a wine environment and
-# a working winepath.  Returns result in func_to_host_file_result.
-func_convert_path_nix_to_w32 ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_to_host_path_result=$func_convert_core_path_wine_to_w32_result
-    func_convert_path_check : ";" \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" ";" "$1"
-  fi
-}
-# end func_convert_path_nix_to_w32
-
-
-# func_convert_path_msys_to_cygwin ARG
-# Convert path ARG from MSYS to Cygwin format.  Requires LT_CYGPATH set.
-# Returns result in func_to_host_file_result.
-func_convert_path_msys_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # See func_convert_path_msys_to_w32:
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_msys_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_msys_to_w32_result"
-    func_to_host_path_result=$func_cygpath_result
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_msys_to_cygwin
-
-
-# func_convert_path_nix_to_cygwin ARG
-# Convert path ARG from *nix to Cygwin format.  Requires Cygwin installed in a
-# a wine environment, working winepath, and LT_CYGPATH set.  Returns result in
-# func_to_host_file_result.
-func_convert_path_nix_to_cygwin ()
-{
-  $debug_cmd
-
-  func_to_host_path_result=$1
-  if test -n "$1"; then
-    # Remove leading and trailing path separator characters from
-    # ARG. msys behavior is inconsistent here, cygpath turns them
-    # into '.;' and ';.', and winepath ignores them completely.
-    func_stripname : : "$1"
-    func_to_host_path_tmp1=$func_stripname_result
-    func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1"
-    func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result"
-    func_to_host_path_result=$func_cygpath_result
-    func_convert_path_check : : \
-      "$func_to_host_path_tmp1" "$func_to_host_path_result"
-    func_convert_path_front_back_pathsep ":*" "*:" : "$1"
-  fi
-}
-# end func_convert_path_nix_to_cygwin
-
-
-# func_dll_def_p FILE
-# True iff FILE is a Windows DLL '.def' file.
-# Keep in sync with _LT_DLL_DEF_P in libtool.m4
-func_dll_def_p ()
-{
-  $debug_cmd
-
-  func_dll_def_p_tmp=`$SED -n \
-    -e 's/^[	 ]*//' \
-    -e '/^\(;.*\)*$/d' \
-    -e 's/^\(EXPORTS\|LIBRARY\)\([	 ].*\)*$/DEF/p' \
-    -e q \
-    "$1"`
-  test DEF = "$func_dll_def_p_tmp"
-}
-
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
-    $debug_cmd
-
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile=$nonopt  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-    pie_flag=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-	# do not "continue".  Instead, add this to base_compile
-	lastarg=$arg
-	arg_mode=normal
-	;;
-
-      target )
-	libobj=$arg
-	arg_mode=normal
-	continue
-	;;
-
-      normal )
-	# Accept any command-line options.
-	case $arg in
-	-o)
-	  test -n "$libobj" && \
-	    func_fatal_error "you cannot specify '-o' more than once"
-	  arg_mode=target
-	  continue
-	  ;;
-
-	-pie | -fpie | -fPIE)
-          func_append pie_flag " $arg"
-	  continue
-	  ;;
-
-	-shared | -static | -prefer-pic | -prefer-non-pic)
-	  func_append later " $arg"
-	  continue
-	  ;;
-
-	-no-suppress)
-	  suppress_opt=no
-	  continue
-	  ;;
-
-	-Xcompiler)
-	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
-	  continue      #  The current "srcfile" will either be retained or
-	  ;;            #  replaced later.  I would guess that would be a bug.
-
-	-Wc,*)
-	  func_stripname '-Wc,' '' "$arg"
-	  args=$func_stripname_result
-	  lastarg=
-	  save_ifs=$IFS; IFS=,
-	  for arg in $args; do
-	    IFS=$save_ifs
-	    func_append_quoted lastarg "$arg"
-	  done
-	  IFS=$save_ifs
-	  func_stripname ' ' '' "$lastarg"
-	  lastarg=$func_stripname_result
-
-	  # Add the arguments to base_compile.
-	  func_append base_compile " $lastarg"
-	  continue
-	  ;;
-
-	*)
-	  # Accept the current argument as the source file.
-	  # The previous "srcfile" becomes the current argument.
-	  #
-	  lastarg=$srcfile
-	  srcfile=$arg
-	  ;;
-	esac  #  case $arg
-	;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      func_append_quoted base_compile "$lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      func_fatal_error "you must specify an argument for -Xcompile"
-      ;;
-    target)
-      func_fatal_error "you must specify a target with '-o'"
-      ;;
-    *)
-      # Get the name of the library object.
-      test -z "$libobj" && {
-	func_basename "$srcfile"
-	libobj=$func_basename_result
-      }
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    case $libobj in
-    *.[cCFSifmso] | \
-    *.ada | *.adb | *.ads | *.asm | \
-    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
-      func_xform "$libobj"
-      libobj=$func_xform_result
-      ;;
-    esac
-
-    case $libobj in
-    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-    *)
-      func_fatal_error "cannot determine name of library object from '$libobj'"
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -shared)
-	test yes = "$build_libtool_libs" \
-	  || func_fatal_configuration "cannot build a shared library"
-	build_old_libs=no
-	continue
-	;;
-
-      -static)
-	build_libtool_libs=no
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-      esac
-    done
-
-    func_quote_for_eval "$libobj"
-    test "X$libobj" != "X$func_quote_for_eval_result" \
-      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
-      && func_warning "libobj name '$libobj' may not contain shell special characters."
-    func_dirname_and_basename "$obj" "/" ""
-    objname=$func_basename_result
-    xdir=$func_dirname_result
-    lobj=$xdir$objdir/$objname
-
-    test -z "$base_compile" && \
-      func_fatal_help "you must specify a compilation command"
-
-    # Delete any leftover library objects.
-    if test yes = "$build_old_libs"; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2* | cegcc*)
-      pic_mode=default
-      ;;
-    esac
-    if test no = "$pic_mode" && test pass_all != "$deplibs_check_method"; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test no = "$compiler_c_o"; then
-      output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.$objext
-      lockfile=$output_obj.lock
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test yes = "$need_locks"; then
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test warn = "$need_locks"; then
-      if test -f "$lockfile"; then
-	$ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-      func_append removelist " $output_obj"
-      $ECHO "$srcfile" > "$lockfile"
-    fi
-
-    $opt_dry_run || $RM $removelist
-    func_append removelist " $lockfile"
-    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
-    func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
-    srcfile=$func_to_tool_file_result
-    func_quote_for_eval "$srcfile"
-    qsrcfile=$func_quote_for_eval_result
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test yes = "$build_libtool_libs"; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test no != "$pic_mode"; then
-	command="$base_compile $qsrcfile $pic_flag"
-      else
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      fi
-
-      func_mkdir_p "$xdir$objdir"
-
-      if test -z "$output_obj"; then
-	# Place PIC objects in $objdir
-	func_append command " -o $lobj"
-      fi
-
-      func_show_eval_locale "$command"	\
-          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
-      if test warn = "$need_locks" &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	func_show_eval '$MV "$output_obj" "$lobj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-
-      # Allow error messages only from the first compilation.
-      if test yes = "$suppress_opt"; then
-	suppress_output=' >/dev/null 2>&1'
-      fi
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test yes = "$build_old_libs"; then
-      if test yes != "$pic_mode"; then
-	# Don't build PIC code
-	command="$base_compile $qsrcfile$pie_flag"
-      else
-	command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test yes = "$compiler_c_o"; then
-	func_append command " -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      func_append command "$suppress_output"
-      func_show_eval_locale "$command" \
-        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
-      if test warn = "$need_locks" &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support '-c' and '-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	func_show_eval '$MV "$output_obj" "$obj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-    fi
-
-    $opt_dry_run || {
-      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
-      # Unlock the critical section if it was locked
-      if test no != "$need_locks"; then
-	removelist=$lockfile
-        $RM "$lockfile"
-      fi
-    }
-
-    exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-  test compile = "$opt_mode" && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
-    # We need to display help for each of the modes.
-    case $opt_mode in
-      "")
-        # Generic help is extracted from the usage comments
-        # at the start of this file.
-        func_help
-        ;;
-
-      clean)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      compile)
-      $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to build PIC objects only
-  -prefer-non-pic   try to build non-PIC objects only
-  -shared           do not build a '.o' file suitable for static linking
-  -static           only build a '.o' file suitable for static linking
-  -Wc,FLAG          pass FLAG directly to the compiler
-
-COMPILE-COMMAND is a command to be used in creating a 'standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix '.c' with the
-library object suffix, '.lo'."
-        ;;
-
-      execute)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to '-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-        ;;
-
-      finish)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the '--dry-run' option if you just want to see what would be executed."
-        ;;
-
-      install)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the 'install' or 'cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
-  -inst-prefix-dir PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-        ;;
-
-      link)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -bindir BINDIR    specify path to binaries directory (for systems where
-                    libraries must be found in the PATH setting at runtime)
-  -dlopen FILE      '-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  use a list of object files found in FILE to specify objects
-  -os2dllname NAME  force a short DLL name on OS/2 (no effect on other OSes)
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -shared           only do dynamic linking of libtool libraries
-  -shrext SUFFIX    override the standard shared library file extension
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-  -weak LIBNAME     declare that the target provides the LIBNAME interface
-  -Wc,FLAG
-  -Xcompiler FLAG   pass linker-specific FLAG directly to the compiler
-  -Wl,FLAG
-  -Xlinker FLAG     pass linker-specific FLAG directly to the linker
-  -XCClinker FLAG   pass link-specific FLAG to the compiler driver (CC)
-
-All other options (arguments beginning with '-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in '.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in '.la', then a libtool library is created,
-only library objects ('.lo' files) may be specified, and '-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in '.a' or '.lib', then a standard library is created
-using 'ar' and 'ranlib', or on Windows using 'lib'.
-
-If OUTPUT-FILE ends in '.lo' or '.$objext', then a reloadable object file
-is created, otherwise an executable program is created."
-        ;;
-
-      uninstall)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically '/bin/rm').  RM-OPTIONS are options (such as '-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      *)
-        func_fatal_help "invalid operation mode '$opt_mode'"
-        ;;
-    esac
-
-    echo
-    $ECHO "Try '$progname --help' for more information about other modes."
-}
-
-# Now that we've collected a possible --mode arg, show help if necessary
-if $opt_help; then
-  if test : = "$opt_help"; then
-    func_mode_help
-  else
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-	func_mode_help
-      done
-    } | $SED -n '1p; 2,$s/^Usage:/  or: /p'
-    {
-      func_help noexit
-      for opt_mode in compile link execute install finish uninstall clean; do
-	echo
-	func_mode_help
-      done
-    } |
-    $SED '1d
-      /^When reporting/,/^Report/{
-	H
-	d
-      }
-      $x
-      /information about other modes/d
-      /more detailed .*MODE/d
-      s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
-  fi
-  exit $?
-fi
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
-    $debug_cmd
-
-    # The first argument is the command name.
-    cmd=$nonopt
-    test -z "$cmd" && \
-      func_fatal_help "you must specify a COMMAND"
-
-    # Handle -dlopen flags immediately.
-    for file in $opt_dlopen; do
-      test -f "$file" \
-	|| func_fatal_help "'$file' is not a file"
-
-      dir=
-      case $file in
-      *.la)
-	func_resolve_sysroot "$file"
-	file=$func_resolve_sysroot_result
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "'$lib' is not a valid libtool archive"
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-	func_source "$file"
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && \
-	    func_warning "'$file' was not linked with '-export-dynamic'"
-	  continue
-	fi
-
-	func_dirname "$file" "" "."
-	dir=$func_dirname_result
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  func_append dir "/$objdir"
-	else
-	  if test ! -f "$dir/$dlname"; then
-	    func_fatal_error "cannot find '$dlname' in '$dir' or '$dir/$objdir'"
-	  fi
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	func_dirname "$file" "" "."
-	dir=$func_dirname_result
-	;;
-
-      *)
-	func_warning "'-dlopen' is ignored for non-libtool libraries and objects"
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir=$absdir
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic=$magic
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -* | *.la | *.lo ) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if func_ltwrapper_script_p "$file"; then
-	  func_source "$file"
-	  # Transform arg to wrapped name.
-	  file=$progdir/$program
-	elif func_ltwrapper_executable_p "$file"; then
-	  func_ltwrapper_scriptname "$file"
-	  func_source "$func_ltwrapper_scriptname_result"
-	  # Transform arg to wrapped name.
-	  file=$progdir/$program
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      func_append_quoted args "$file"
-    done
-
-    if $opt_dry_run; then
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	echo "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
-    else
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-	eval "if test \"\${save_$lt_var+set}\" = set; then
-                $lt_var=\$save_$lt_var; export $lt_var
-	      else
-		$lt_unset $lt_var
-	      fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd=\$cmd$args
-    fi
-}
-
-test execute = "$opt_mode" && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $debug_cmd
-
-    libs=
-    libdirs=
-    admincmds=
-
-    for opt in "$nonopt" ${1+"$@"}
-    do
-      if test -d "$opt"; then
-	func_append libdirs " $opt"
-
-      elif test -f "$opt"; then
-	if func_lalib_unsafe_p "$opt"; then
-	  func_append libs " $opt"
-	else
-	  func_warning "'$opt' is not a valid libtool archive"
-	fi
-
-      else
-	func_fatal_error "invalid argument '$opt'"
-      fi
-    done
-
-    if test -n "$libs"; then
-      if test -n "$lt_sysroot"; then
-        sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"`
-        sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;"
-      else
-        sysroot_cmd=
-      fi
-
-      # Remove sysroot references
-      if $opt_dry_run; then
-        for lib in $libs; do
-          echo "removing references to $lt_sysroot and '=' prefixes from $lib"
-        done
-      else
-        tmpdir=`func_mktempdir`
-        for lib in $libs; do
-	  $SED -e "$sysroot_cmd s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
-	    > $tmpdir/tmp-la
-	  mv -f $tmpdir/tmp-la $lib
-	done
-        ${RM}r "$tmpdir"
-      fi
-    fi
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $opt_dry_run || eval "$cmds" || func_append admincmds "
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    $opt_quiet && exit $EXIT_SUCCESS
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      echo "----------------------------------------------------------------------"
-      echo "Libraries have been installed in:"
-      for libdir in $libdirs; do
-	$ECHO "   $libdir"
-      done
-      echo
-      echo "If you ever happen to want to link against installed libraries"
-      echo "in a given directory, LIBDIR, you must either use libtool, and"
-      echo "specify the full pathname of the library, or use the '-LLIBDIR'"
-      echo "flag during linking and do at least one of the following:"
-      if test -n "$shlibpath_var"; then
-	echo "   - add LIBDIR to the '$shlibpath_var' environment variable"
-	echo "     during execution"
-      fi
-      if test -n "$runpath_var"; then
-	echo "   - add LIBDIR to the '$runpath_var' environment variable"
-	echo "     during linking"
-      fi
-      if test -n "$hardcode_libdir_flag_spec"; then
-	libdir=LIBDIR
-	eval flag=\"$hardcode_libdir_flag_spec\"
-
-	$ECHO "   - use the '$flag' linker flag"
-      fi
-      if test -n "$admincmds"; then
-	$ECHO "   - have your system administrator run these commands:$admincmds"
-      fi
-      if test -f /etc/ld.so.conf; then
-	echo "   - have your system administrator add LIBDIR to '/etc/ld.so.conf'"
-      fi
-      echo
-
-      echo "See any operating system documentation about shared libraries for"
-      case $host in
-	solaris2.[6789]|solaris2.1[0-9])
-	  echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	  echo "pages."
-	  ;;
-	*)
-	  echo "more information, such as the ld(1) and ld.so(8) manual pages."
-	  ;;
-      esac
-      echo "----------------------------------------------------------------------"
-    fi
-    exit $EXIT_SUCCESS
-}
-
-test finish = "$opt_mode" && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
-    $debug_cmd
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$SHELL" = "$nonopt" || test /bin/sh = "$nonopt" ||
-       # Allow the use of GNU shtool's install command.
-       case $nonopt in *shtool*) :;; *) false;; esac
-    then
-      # Aesthetically quote it.
-      func_quote_for_eval "$nonopt"
-      install_prog="$func_quote_for_eval_result "
-      arg=$1
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    func_quote_for_eval "$arg"
-    func_append install_prog "$func_quote_for_eval_result"
-    install_shared_prog=$install_prog
-    case " $install_prog " in
-      *[\\\ /]cp\ *) install_cp=: ;;
-      *) install_cp=false ;;
-    esac
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=false
-    stripme=
-    no_mode=:
-    for arg
-    do
-      arg2=
-      if test -n "$dest"; then
-	func_append files " $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=: ;;
-      -f)
-	if $install_cp; then :; else
-	  prev=$arg
-	fi
-	;;
-      -g | -m | -o)
-	prev=$arg
-	;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  if test X-m = "X$prev" && test -n "$install_override_mode"; then
-	    arg2=$install_override_mode
-	    no_mode=false
-	  fi
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      func_quote_for_eval "$arg"
-      func_append install_prog " $func_quote_for_eval_result"
-      if test -n "$arg2"; then
-	func_quote_for_eval "$arg2"
-      fi
-      func_append install_shared_prog " $func_quote_for_eval_result"
-    done
-
-    test -z "$install_prog" && \
-      func_fatal_help "you must specify an install program"
-
-    test -n "$prev" && \
-      func_fatal_help "the '$prev' option requires an argument"
-
-    if test -n "$install_override_mode" && $no_mode; then
-      if $install_cp; then :; else
-	func_quote_for_eval "$install_override_mode"
-	func_append install_shared_prog " -m $func_quote_for_eval_result"
-      fi
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	func_fatal_help "no file or destination specified"
-      else
-	func_fatal_help "you must specify a destination"
-      fi
-    fi
-
-    # Strip any trailing slash from the destination.
-    func_stripname '' '/' "$dest"
-    dest=$func_stripname_result
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=:
-    if $isdir; then
-      destdir=$dest
-      destname=
-    else
-      func_dirname_and_basename "$dest" "" "."
-      destdir=$func_dirname_result
-      destname=$func_basename_result
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files; shift
-      test "$#" -gt 1 && \
-	func_fatal_help "'$dest' is not a directory"
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  func_fatal_help "'$destdir' must be an absolute directory name"
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic=$magic
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	func_append staticlibs " $file"
-	;;
-
-      *.la)
-	func_resolve_sysroot "$file"
-	file=$func_resolve_sysroot_result
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "'$file' is not a valid libtool archive"
-
-	library_names=
-	old_library=
-	relink_command=
-	func_source "$file"
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) func_append current_libdirs " $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) func_append future_libdirs " $libdir" ;;
-	  esac
-	fi
-
-	func_dirname "$file" "/" ""
-	dir=$func_dirname_result
-	func_append dir "$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  test "$inst_prefix_dir" = "$destdir" && \
-	    func_fatal_error "error: cannot install '$file' to a directory not ending in $libdir"
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-	  else
-	    relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"`
-	  fi
-
-	  func_warning "relinking '$file'"
-	  func_show_eval "$relink_command" \
-	    'func_fatal_error "error: relink '\''$file'\'' with the above command before installing it"'
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names; shift
-	if test -n "$1"; then
-	  realname=$1
-	  shift
-
-	  srcname=$realname
-	  test -n "$relink_command" && srcname=${realname}T
-
-	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \
-	      'exit $?'
-	  tstripme=$stripme
-	  case $host_os in
-	  cygwin* | mingw* | pw32* | cegcc*)
-	    case $realname in
-	    *.dll.a)
-	      tstripme=
-	      ;;
-	    esac
-	    ;;
-	  os2*)
-	    case $realname in
-	    *_dll.a)
-	      tstripme=
-	      ;;
-	    esac
-	    ;;
-	  esac
-	  if test -n "$tstripme" && test -n "$striplib"; then
-	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try 'ln -sf' first, because the 'ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      test "$linkname" != "$realname" \
-		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib=$destdir/$realname
-	  func_execute_cmds "$postinstall_cmds" 'exit $?'
-	fi
-
-	# Install the pseudo-library for information purposes.
-	func_basename "$file"
-	name=$func_basename_result
-	instname=$dir/${name}i
-	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && func_append staticlibs " $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile=$destdir/$destname
-	else
-	  func_basename "$file"
-	  destfile=$func_basename_result
-	  destfile=$destdir/$destfile
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  func_lo2o "$destfile"
-	  staticdest=$func_lo2o_result
-	  ;;
-	*.$objext)
-	  staticdest=$destfile
-	  destfile=
-	  ;;
-	*)
-	  func_fatal_help "cannot copy a libtool object to '$destfile'"
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	test -n "$destfile" && \
-	  func_show_eval "$install_prog $file $destfile" 'exit $?'
-
-	# Install the old object if enabled.
-	if test yes = "$build_old_libs"; then
-	  # Deduce the name of the old-style object file.
-	  func_lo2o "$file"
-	  staticobj=$func_lo2o_result
-	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile=$destdir/$destname
-	else
-	  func_basename "$file"
-	  destfile=$func_basename_result
-	  destfile=$destdir/$destfile
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      func_stripname '' '.exe' "$file"
-	      file=$func_stripname_result
-	      stripped_ext=.exe
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin* | *mingw*)
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      wrapper=$func_ltwrapper_scriptname_result
-	    else
-	      func_stripname '' '.exe' "$file"
-	      wrapper=$func_stripname_result
-	    fi
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if func_ltwrapper_script_p "$wrapper"; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  func_source "$wrapper"
-
-	  # Check the variables that should have been set.
-	  test -z "$generated_by_libtool_version" && \
-	    func_fatal_error "invalid libtool wrapper script '$wrapper'"
-
-	  finalize=:
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      func_source "$lib"
-	    fi
-	    libfile=$libdir/`$ECHO "$lib" | $SED 's%^.*/%%g'`
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      func_warning "'$lib' has not been installed in '$libdir'"
-	      finalize=false
-	    fi
-	  done
-
-	  relink_command=
-	  func_source "$wrapper"
-
-	  outputname=
-	  if test no = "$fast_install" && test -n "$relink_command"; then
-	    $opt_dry_run || {
-	      if $finalize; then
-	        tmpdir=`func_mktempdir`
-		func_basename "$file$stripped_ext"
-		file=$func_basename_result
-	        outputname=$tmpdir/$file
-	        # Replace the output file specification.
-	        relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
-
-	        $opt_quiet || {
-	          func_quote_for_expand "$relink_command"
-		  eval "func_echo $func_quote_for_expand_result"
-	        }
-	        if eval "$relink_command"; then :
-	          else
-		  func_error "error: relink '$file' with the above command before installing it"
-		  $opt_dry_run || ${RM}r "$tmpdir"
-		  continue
-	        fi
-	        file=$outputname
-	      else
-	        func_warning "cannot relink '$file'"
-	      fi
-	    }
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    func_stripname '' '.exe' "$destfile"
-	    destfile=$func_stripname_result
-	    ;;
-	  esac
-	  ;;
-	esac
-	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-	$opt_dry_run || if test -n "$outputname"; then
-	  ${RM}r "$tmpdir"
-	fi
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      func_basename "$file"
-      name=$func_basename_result
-
-      # Set up the ranlib parameters.
-      oldlib=$destdir/$name
-      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-      tool_oldlib=$func_to_tool_file_result
-
-      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
-      fi
-
-      # Do each command in the postinstall commands.
-      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-    done
-
-    test -n "$future_libdirs" && \
-      func_warning "remember to run '$progname --finish$future_libdirs'"
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL "$progpath" $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test install = "$opt_mode" && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
-    $debug_cmd
-
-    my_outputname=$1
-    my_originator=$2
-    my_pic_p=${3-false}
-    my_prefix=`$ECHO "$my_originator" | $SED 's%[^a-zA-Z0-9]%_%g'`
-    my_dlsyms=
-
-    if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-      if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	my_dlsyms=${my_outputname}S.c
-      else
-	func_error "not configured to extract global symbols from dlpreopened files"
-      fi
-    fi
-
-    if test -n "$my_dlsyms"; then
-      case $my_dlsyms in
-      "") ;;
-      *.c)
-	# Discover the nlist of each of the dlfiles.
-	nlist=$output_objdir/$my_outputname.nm
-
-	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
-	# Parse the name list into a source file.
-	func_verbose "creating $output_objdir/$my_dlsyms"
-
-	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for '$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-#if defined __GNUC__ && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4))
-#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
-#endif
-
-/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests.  */
-#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE
-/* DATA imports from DLLs on WIN32 can't be const, because runtime
-   relocations are performed -- see ld's documentation on pseudo-relocs.  */
-# define LT_DLSYM_CONST
-#elif defined __osf__
-/* This system does not cope well with relocations in const data.  */
-# define LT_DLSYM_CONST
-#else
-# define LT_DLSYM_CONST const
-#endif
-
-#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
-
-/* External symbol declarations for the compiler. */\
-"
-
-	if test yes = "$dlself"; then
-	  func_verbose "generating symbol list for '$output'"
-
-	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
-	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	  for progfile in $progfiles; do
-	    func_to_tool_file "$progfile" func_convert_file_msys_to_w32
-	    func_verbose "extracting global C symbols from '$func_to_tool_file_result'"
-	    $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -n "$exclude_expsyms"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  if test -n "$export_symbols_regex"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  # Prepare the list of exported symbols
-	  if test -z "$export_symbols"; then
-	    export_symbols=$output_objdir/$outputname.exp
-	    $opt_dry_run || {
-	      $RM $export_symbols
-	      eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-	      case $host in
-	      *cygwin* | *mingw* | *cegcc* )
-                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-	        ;;
-	      esac
-	    }
-	  else
-	    $opt_dry_run || {
-	      eval "$SED -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	      case $host in
-	        *cygwin* | *mingw* | *cegcc* )
-	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-	          ;;
-	      esac
-	    }
-	  fi
-	fi
-
-	for dlprefile in $dlprefiles; do
-	  func_verbose "extracting global C symbols from '$dlprefile'"
-	  func_basename "$dlprefile"
-	  name=$func_basename_result
-          case $host in
-	    *cygwin* | *mingw* | *cegcc* )
-	      # if an import library, we need to obtain dlname
-	      if func_win32_import_lib_p "$dlprefile"; then
-	        func_tr_sh "$dlprefile"
-	        eval "curr_lafile=\$libfile_$func_tr_sh_result"
-	        dlprefile_dlbasename=
-	        if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then
-	          # Use subshell, to avoid clobbering current variable values
-	          dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"`
-	          if test -n "$dlprefile_dlname"; then
-	            func_basename "$dlprefile_dlname"
-	            dlprefile_dlbasename=$func_basename_result
-	          else
-	            # no lafile. user explicitly requested -dlpreopen <import library>.
-	            $sharedlib_from_linklib_cmd "$dlprefile"
-	            dlprefile_dlbasename=$sharedlib_from_linklib_result
-	          fi
-	        fi
-	        $opt_dry_run || {
-	          if test -n "$dlprefile_dlbasename"; then
-	            eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"'
-	          else
-	            func_warning "Could not compute DLL name from $name"
-	            eval '$ECHO ": $name " >> "$nlist"'
-	          fi
-	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe |
-	            $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'"
-	        }
-	      else # not an import lib
-	        $opt_dry_run || {
-	          eval '$ECHO ": $name " >> "$nlist"'
-	          func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	          eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	        }
-	      fi
-	    ;;
-	    *)
-	      $opt_dry_run || {
-	        eval '$ECHO ": $name " >> "$nlist"'
-	        func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32
-	        eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	      }
-	    ;;
-          esac
-	done
-
-	$opt_dry_run || {
-	  # Make sure we have at least an empty file.
-	  test -f "$nlist" || : > "$nlist"
-
-	  if test -n "$exclude_expsyms"; then
-	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	    $MV "$nlist"T "$nlist"
-	  fi
-
-	  # Try sorting and uniquifying the output.
-	  if $GREP -v "^: " < "$nlist" |
-	      if sort -k 3 </dev/null >/dev/null 2>&1; then
-		sort -k 3
-	      else
-		sort +2
-	      fi |
-	      uniq > "$nlist"S; then
-	    :
-	  else
-	    $GREP -v "^: " < "$nlist" > "$nlist"S
-	  fi
-
-	  if test -f "$nlist"S; then
-	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
-	  else
-	    echo '/* NONE */' >> "$output_objdir/$my_dlsyms"
-	  fi
-
-	  func_show_eval '$RM "${nlist}I"'
-	  if test -n "$global_symbol_to_import"; then
-	    eval "$global_symbol_to_import"' < "$nlist"S > "$nlist"I'
-	  fi
-
-	  echo >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols.  */
-typedef struct {
-  const char *name;
-  void *address;
-} lt_dlsymlist;
-extern LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];\
-"
-
-	  if test -s "$nlist"I; then
-	    echo >> "$output_objdir/$my_dlsyms" "\
-static void lt_syminit(void)
-{
-  LT_DLSYM_CONST lt_dlsymlist *symbol = lt_${my_prefix}_LTX_preloaded_symbols;
-  for (; symbol->name; ++symbol)
-    {"
-	    $SED 's/.*/      if (STREQ (symbol->name, \"&\")) symbol->address = (void *) \&&;/' < "$nlist"I >> "$output_objdir/$my_dlsyms"
-	    echo >> "$output_objdir/$my_dlsyms" "\
-    }
-}"
-	  fi
-	  echo >> "$output_objdir/$my_dlsyms" "\
-LT_DLSYM_CONST lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{ {\"$my_originator\", (void *) 0},"
-
-	  if test -s "$nlist"I; then
-	    echo >> "$output_objdir/$my_dlsyms" "\
-  {\"@INIT@\", (void *) &lt_syminit},"
-	  fi
-
-	  case $need_lib_prefix in
-	  no)
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  *)
-	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  esac
-	  echo >> "$output_objdir/$my_dlsyms" "\
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	} # !$opt_dry_run
-
-	pic_flag_for_symtable=
-	case "$compile_command " in
-	*" -static "*) ;;
-	*)
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-	  *-*-hpux*)
-	    pic_flag_for_symtable=" $pic_flag"  ;;
-	  *)
-	    $my_pic_p && pic_flag_for_symtable=" $pic_flag"
-	    ;;
-	  esac
-	  ;;
-	esac
-	symtab_cflags=
-	for arg in $LTCFLAGS; do
-	  case $arg in
-	  -pie | -fpie | -fPIE) ;;
-	  *) func_append symtab_cflags " $arg" ;;
-	  esac
-	done
-
-	# Now compile the dynamic symbol file.
-	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
-	# Clean up the generated files.
-	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T" "${nlist}I"'
-
-	# Transform the symbol file into the correct name.
-	symfileobj=$output_objdir/${my_outputname}S.$objext
-	case $host in
-	*cygwin* | *mingw* | *cegcc* )
-	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	  else
-	    compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  fi
-	  ;;
-	*)
-	  compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"`
-	  ;;
-	esac
-	;;
-      *)
-	func_fatal_error "unknown suffix for '$my_dlsyms'"
-	;;
-      esac
-    else
-      # We keep going just in case the user didn't refer to
-      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-      # really was required.
-
-      # Nullify the symbol file.
-      compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"`
-    fi
-}
-
-# func_cygming_gnu_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is a GNU/binutils-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_gnu_implib_p ()
-{
-  $debug_cmd
-
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'`
-  test -n "$func_cygming_gnu_implib_tmp"
-}
-
-# func_cygming_ms_implib_p ARG
-# This predicate returns with zero status (TRUE) if
-# ARG is an MS-style import library. Returns
-# with nonzero status (FALSE) otherwise.
-func_cygming_ms_implib_p ()
-{
-  $debug_cmd
-
-  func_to_tool_file "$1" func_convert_file_msys_to_w32
-  func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'`
-  test -n "$func_cygming_ms_implib_tmp"
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-# Despite the name, also deal with 64 bit binaries.
-func_win32_libid ()
-{
-  $debug_cmd
-
-  win32_libid_type=unknown
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD.
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then
-      case $nm_interface in
-      "MS dumpbin")
-	if func_cygming_ms_implib_p "$1" ||
-	   func_cygming_gnu_implib_p "$1"
-	then
-	  win32_nmres=import
-	else
-	  win32_nmres=
-	fi
-	;;
-      *)
-	func_to_tool_file "$1" func_convert_file_msys_to_w32
-	win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" |
-	  $SED -n -e '
-	    1,100{
-		/ I /{
-		    s|.*|import|
-		    p
-		    q
-		}
-	    }'`
-	;;
-      esac
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $ECHO "$win32_libid_type"
-}
-
-# func_cygming_dll_for_implib ARG
-#
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib ()
-{
-  $debug_cmd
-
-  sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"`
-}
-
-# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs
-#
-# The is the core of a fallback implementation of a
-# platform-specific function to extract the name of the
-# DLL associated with the specified import library LIBNAME.
-#
-# SECTION_NAME is either .idata$6 or .idata$7, depending
-# on the platform and compiler that created the implib.
-#
-# Echos the name of the DLL associated with the
-# specified import library.
-func_cygming_dll_for_implib_fallback_core ()
-{
-  $debug_cmd
-
-  match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"`
-  $OBJDUMP -s --section "$1" "$2" 2>/dev/null |
-    $SED '/^Contents of section '"$match_literal"':/{
-      # Place marker at beginning of archive member dllname section
-      s/.*/====MARK====/
-      p
-      d
-    }
-    # These lines can sometimes be longer than 43 characters, but
-    # are always uninteresting
-    /:[	 ]*file format pe[i]\{,1\}-/d
-    /^In archive [^:]*:/d
-    # Ensure marker is printed
-    /^====MARK====/p
-    # Remove all lines with less than 43 characters
-    /^.\{43\}/!d
-    # From remaining lines, remove first 43 characters
-    s/^.\{43\}//' |
-    $SED -n '
-      # Join marker and all lines until next marker into a single line
-      /^====MARK====/ b para
-      H
-      $ b para
-      b
-      :para
-      x
-      s/\n//g
-      # Remove the marker
-      s/^====MARK====//
-      # Remove trailing dots and whitespace
-      s/[\. \t]*$//
-      # Print
-      /./p' |
-    # we now have a list, one entry per line, of the stringified
-    # contents of the appropriate section of all members of the
-    # archive that possess that section. Heuristic: eliminate
-    # all those that have a first or second character that is
-    # a '.' (that is, objdump's representation of an unprintable
-    # character.) This should work for all archives with less than
-    # 0x302f exports -- but will fail for DLLs whose name actually
-    # begins with a literal '.' or a single character followed by
-    # a '.'.
-    #
-    # Of those that remain, print the first one.
-    $SED -e '/^\./d;/^.\./d;q'
-}
-
-# func_cygming_dll_for_implib_fallback ARG
-# Platform-specific function to extract the
-# name of the DLL associated with the specified
-# import library ARG.
-#
-# This fallback implementation is for use when $DLLTOOL
-# does not support the --identify-strict option.
-# Invoked by eval'ing the libtool variable
-#    $sharedlib_from_linklib_cmd
-# Result is available in the variable
-#    $sharedlib_from_linklib_result
-func_cygming_dll_for_implib_fallback ()
-{
-  $debug_cmd
-
-  if func_cygming_gnu_implib_p "$1"; then
-    # binutils import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"`
-  elif func_cygming_ms_implib_p "$1"; then
-    # ms-generated import library
-    sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"`
-  else
-    # unknown
-    sharedlib_from_linklib_result=
-  fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    $debug_cmd
-
-    f_ex_an_ar_dir=$1; shift
-    f_ex_an_ar_oldlib=$1
-    if test yes = "$lock_old_archive_extraction"; then
-      lockfile=$f_ex_an_ar_oldlib.lock
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    fi
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \
-		   'stat=$?; rm -f "$lockfile"; exit $stat'
-    if test yes = "$lock_old_archive_extraction"; then
-      $opt_dry_run || rm -f "$lockfile"
-    fi
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-    fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    $debug_cmd
-
-    my_gentop=$1; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=
-    my_xlib=
-    my_xabs=
-    my_xdir=
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs=$my_xlib ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      func_basename "$my_xlib"
-      my_xlib=$func_basename_result
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-	*" $my_xlib_u "*)
-	  func_arith $extracted_serial + 1
-	  extracted_serial=$func_arith_result
-	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
-	*) break ;;
-	esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir=$my_gentop/$my_xlib_u
-
-      func_mkdir_p "$my_xdir"
-
-      case $host in
-      *-darwin*)
-	func_verbose "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	$opt_dry_run || {
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  func_basename "$darwin_archive"
-	  darwin_base_archive=$func_basename_result
-	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-	  if test -n "$darwin_arches"; then
-	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches; do
-	      func_mkdir_p "unfat-$$/$darwin_base_archive-$darwin_arch"
-	      $LIPO -thin $darwin_arch -output "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive" "$darwin_archive"
-	      cd "unfat-$$/$darwin_base_archive-$darwin_arch"
-	      func_extract_an_archive "`pwd`" "$darwin_base_archive"
-	      cd "$darwin_curdir"
-	      $RM "unfat-$$/$darwin_base_archive-$darwin_arch/$darwin_base_archive"
-	    done # $darwin_arches
-            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$sed_basename" | sort -u`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP`
-	      $LIPO -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    $RM -rf unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd $darwin_orig_dir
-	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	} # !$opt_dry_run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-	;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP`
-    done
-
-    func_extract_archives_result=$my_oldobjs
-}
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory where it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=${1-no}
-
-	$ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs 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
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# 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
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variables:
-  generated_by_libtool_version='$macro_version'
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$ECHO are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    file=\"\$0\""
-
-    qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
-    $ECHO "\
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-    ECHO=\"$qECHO\"
-  fi
-
-# Very basic option parsing. These options are (a) specific to
-# the libtool wrapper, (b) are identical between the wrapper
-# /script/ and the wrapper /executable/ that is used only on
-# windows platforms, and (c) all begin with the string "--lt-"
-# (application programs are unlikely to have options that match
-# this pattern).
-#
-# There are only two supported options: --lt-debug and
-# --lt-dump-script. There is, deliberately, no --lt-help.
-#
-# The first argument to this parsing function should be the
-# script's $0 value, followed by "$@".
-lt_option_debug=
-func_parse_lt_options ()
-{
-  lt_script_arg0=\$0
-  shift
-  for lt_opt
-  do
-    case \"\$lt_opt\" in
-    --lt-debug) lt_option_debug=1 ;;
-    --lt-dump-script)
-        lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\`
-        test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=.
-        lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\`
-        cat \"\$lt_dump_D/\$lt_dump_F\"
-        exit 0
-      ;;
-    --lt-*)
-        \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2
-        exit 1
-      ;;
-    esac
-  done
-
-  # Print the debug banner immediately:
-  if test -n \"\$lt_option_debug\"; then
-    echo \"$outputname:$output:\$LINENO: libtool wrapper (GNU $PACKAGE) $VERSION\" 1>&2
-  fi
-}
-
-# Used when --lt-debug. Prints its arguments to stdout
-# (redirection is the responsibility of the caller)
-func_lt_dump_args ()
-{
-  lt_dump_args_N=1;
-  for lt_arg
-  do
-    \$ECHO \"$outputname:$output:\$LINENO: newargv[\$lt_dump_args_N]: \$lt_arg\"
-    lt_dump_args_N=\`expr \$lt_dump_args_N + 1\`
-  done
-}
-
-# Core function for launching the target application
-func_exec_program_core ()
-{
-"
-  case $host in
-  # Backslashes separate directories on plain windows
-  *-*-mingw | *-*-os2* | *-cegcc*)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir\\\\\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-    ;;
-
-  *)
-    $ECHO "\
-      if test -n \"\$lt_option_debug\"; then
-        \$ECHO \"$outputname:$output:\$LINENO: newargv[0]: \$progdir/\$program\" 1>&2
-        func_lt_dump_args \${1+\"\$@\"} 1>&2
-      fi
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-    ;;
-  esac
-  $ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
-}
-
-# A function to encapsulate launching the target application
-# Strips options in the --lt-* namespace from \$@ and
-# launches target application with the remaining arguments.
-func_exec_program ()
-{
-  case \" \$* \" in
-  *\\ --lt-*)
-    for lt_wr_arg
-    do
-      case \$lt_wr_arg in
-      --lt-*) ;;
-      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-      esac
-      shift
-    done ;;
-  esac
-  func_exec_program_core \${1+\"\$@\"}
-}
-
-  # Parse options
-  func_parse_lt_options \"\$0\" \${1+\"\$@\"}
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\`
-  done
-
-  # Usually 'no', except on cygwin/mingw when embedded into
-  # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1
-  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-    # special case for '.'
-    if test \"\$thisdir\" = \".\"; then
-      thisdir=\`pwd\`
-    fi
-    # remove .libs from thisdir
-    case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;;
-    $objdir )   thisdir=. ;;
-    esac
-  fi
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test yes = "$fast_install"; then
-	  $ECHO "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | $SED 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $MKDIR \"\$progdir\"
-    else
-      $RM \"\$progdir/\$file\"
-    fi"
-
-	  $ECHO "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	\$ECHO \"\$relink_command_output\" >&2
-	$RM \"\$progdir/\$file\"
-	exit 1
-      fi
-    fi
-
-    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $RM \"\$progdir/\$program\";
-      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $RM \"\$progdir/\$file\"
-  fi"
-	else
-	  $ECHO "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$ECHO "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# fixup the dll searchpath if we need to.
-	#
-	# Fix the DLL searchpath if we need to.  Do this before prepending
-	# to shlibpath, because on Windows, both are PATH and uninstalled
-	# libraries must come first.
-	if test -n "$dllsearchpath"; then
-	  $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	# Export our shlibpath_var if we have one.
-	if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $ECHO "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	$ECHO "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-      func_exec_program \${1+\"\$@\"}
-    fi
-  else
-    # The program doesn't exist.
-    \$ECHO \"\$0: error: '\$progdir/\$program' does not exist\" 1>&2
-    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-}
-
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
-	cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-*/
-EOF
-	    cat <<"EOF"
-#ifdef _MSC_VER
-# define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-#  include <io.h>
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-#define STREQ(s1, s2) (strcmp ((s1), (s2)) == 0)
-
-/* declarations of non-ANSI functions */
-#if defined __MINGW32__
-# ifdef __STRICT_ANSI__
-int _putenv (const char *);
-# endif
-#elif defined __CYGWIN__
-# ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-# endif
-/* #elif defined other_platform || defined ... */
-#endif
-
-/* portability defines, excluding path handling macros */
-#if defined _MSC_VER
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-# define S_IXUSR _S_IEXEC
-#elif defined __MINGW32__
-# define setmode _setmode
-# define stat    _stat
-# define chmod   _chmod
-# define getcwd  _getcwd
-# define putenv  _putenv
-#elif defined __CYGWIN__
-# define HAVE_SETENV
-# define FOPEN_WB "wb"
-/* #elif defined other platforms ... */
-#endif
-
-#if defined PATH_MAX
-# define LT_PATHMAX PATH_MAX
-#elif defined MAXPATHLEN
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-/* path handling portability macros */
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined _WIN32 || defined __MSDOS__ || defined __DJGPP__ || \
-  defined __OS2__
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free (stale); stale = 0; } \
-} while (0)
-
-#if defined LT_DEBUGWRAPPER
-static int lt_debug = 1;
-#else
-static int lt_debug = 0;
-#endif
-
-const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_debugprintf (const char *file, int line, const char *fmt, ...);
-void lt_fatal (const char *file, int line, const char *message, ...);
-static const char *nonnull (const char *s);
-static const char *nonempty (const char *s);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-char **prepare_spawn (char **argv);
-void lt_dump_script (FILE *f);
-EOF
-
-	    cat <<EOF
-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5)
-# define externally_visible volatile
-#else
-# define externally_visible __attribute__((externally_visible)) volatile
-#endif
-externally_visible const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
-	    if test yes = "$shlibpath_overrides_runpath" && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_path "$temp_rpath"
-	      cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * LIB_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test -n "$dllsearchpath"; then
-              func_to_host_path "$dllsearchpath:"
-	      cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_path_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test yes = "$fast_install"; then
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
-	    else
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
-	    fi
-
-
-	    cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX         "--lt-"
-
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-static const char *debug_opt            = LTWRAPPER_OPTION_PREFIX "debug";
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int  newargc;
-  char *tmp_pathspec;
-  char *actual_cwrapper_path;
-  char *actual_cwrapper_name;
-  char *target_name;
-  char *lt_argv_zero;
-  int rval = 127;
-
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  newargz = XMALLOC (char *, (size_t) argc + 1);
-
-  /* very simple arg parsing; don't want to rely on getopt
-   * also, copy all non cwrapper options to newargz, except
-   * argz[0], which is handled differently
-   */
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (STREQ (argv[i], dumpscript_opt))
-	{
-EOF
-	    case $host in
-	      *mingw* | *cygwin* )
-		# make stdout use "unix" line endings
-		echo "          setmode(1,_O_BINARY);"
-		;;
-	      esac
-
-	    cat <<"EOF"
-	  lt_dump_script (stdout);
-	  return 0;
-	}
-      if (STREQ (argv[i], debug_opt))
-	{
-          lt_debug = 1;
-          continue;
-	}
-      if (STREQ (argv[i], ltwrapper_option_prefix))
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal (__FILE__, __LINE__,
-		    "unrecognized %s option: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-EOF
-	    cat <<EOF
-  /* The GNU banner must be the first non-error debug message */
-  lt_debugprintf (__FILE__, __LINE__, "libtool wrapper (GNU $PACKAGE) $VERSION\n");
-EOF
-	    cat <<"EOF"
-  lt_debugprintf (__FILE__, __LINE__, "(main) argv[0]: %s\n", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__, "(main) program_name: %s\n", program_name);
-
-  tmp_pathspec = find_executable (argv[0]);
-  if (tmp_pathspec == NULL)
-    lt_fatal (__FILE__, __LINE__, "couldn't find %s", argv[0]);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (before symlink chase) at: %s\n",
-		  tmp_pathspec);
-
-  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  lt_debugprintf (__FILE__, __LINE__,
-                  "(main) found exe (after symlink chase) at: %s\n",
-		  actual_cwrapper_path);
-  XFREE (tmp_pathspec);
-
-  actual_cwrapper_name = xstrdup (base_name (actual_cwrapper_path));
-  strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
-  /* wrapper name transforms */
-  strendzap (actual_cwrapper_name, ".exe");
-  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-  XFREE (actual_cwrapper_name);
-  actual_cwrapper_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  /* target_name transforms -- use actual target program name; might have lt- prefix */
-  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-  strendzap (target_name, ".exe");
-  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-  XFREE (target_name);
-  target_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(main) libtool target name: %s\n",
-		  target_name);
-EOF
-
-	    cat <<EOF
-  newargz[0] =
-    XMALLOC (char, (strlen (actual_cwrapper_path) +
-		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-  strcpy (newargz[0], actual_cwrapper_path);
-  strcat (newargz[0], "$objdir");
-  strcat (newargz[0], "/");
-EOF
-
-	    cat <<"EOF"
-  /* stop here, and copy so we don't have to do this twice */
-  tmp_pathspec = xstrdup (newargz[0]);
-
-  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-  strcat (newargz[0], actual_cwrapper_name);
-
-  /* DO want the lt- prefix here if it exists, so use target_name */
-  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-  XFREE (tmp_pathspec);
-  tmp_pathspec = NULL;
-EOF
-
-	    case $host_os in
-	      mingw*)
-	    cat <<"EOF"
-  {
-    char* p;
-    while ((p = strchr (newargz[0], '\\')) != NULL)
-      {
-	*p = '/';
-      }
-    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-      {
-	*p = '/';
-      }
-  }
-EOF
-	    ;;
-	    esac
-
-	    cat <<"EOF"
-  XFREE (target_name);
-  XFREE (actual_cwrapper_path);
-  XFREE (actual_cwrapper_name);
-
-  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  /* Update the DLL searchpath.  EXE_PATH_VALUE ($dllsearchpath) must
-     be prepended before (that is, appear after) LIB_PATH_VALUE ($temp_rpath)
-     because on Windows, both *_VARNAMEs are PATH but uninstalled
-     libraries must come first. */
-  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-
-  lt_debugprintf (__FILE__, __LINE__, "(main) lt_argv_zero: %s\n",
-		  nonnull (lt_argv_zero));
-  for (i = 0; i < newargc; i++)
-    {
-      lt_debugprintf (__FILE__, __LINE__, "(main) newargz[%d]: %s\n",
-		      i, nonnull (newargz[i]));
-    }
-
-EOF
-
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-  /* execv doesn't actually work on mingw as expected on unix */
-  newargz = prepare_spawn (newargz);
-  rval = (int) _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-  if (rval == -1)
-    {
-      /* failed to start process */
-      lt_debugprintf (__FILE__, __LINE__,
-		      "(main) failed to launch target \"%s\": %s\n",
-		      lt_argv_zero, nonnull (strerror (errno)));
-      return 127;
-    }
-  return rval;
-EOF
-		;;
-	      *)
-		cat <<"EOF"
-  execv (lt_argv_zero, newargz);
-  return rval; /* =127, but avoids unused variable warning */
-EOF
-		;;
-	    esac
-
-	    cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
-  void *p = (void *) malloc (num);
-  if (!p)
-    lt_fatal (__FILE__, __LINE__, "memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-			  string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable (const char *path)
-{
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(check_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0)
-      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-    return 1;
-  else
-    return 0;
-}
-
-int
-make_executable (const char *path)
-{
-  int rval = 0;
-  struct stat st;
-
-  lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n",
-                  nonempty (path));
-  if ((!path) || (!*path))
-    return 0;
-
-  if (stat (path, &st) >= 0)
-    {
-      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-    }
-  return rval;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise
-   Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
-  int has_slash = 0;
-  const char *p;
-  const char *p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  size_t tmp_len;
-  char *concat_name;
-
-  lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n",
-                  nonempty (wrapper));
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable (concat_name))
-	return concat_name;
-      XFREE (concat_name);
-    }
-  else
-    {
-#endif
-      if (IS_DIR_SEPARATOR (wrapper[0]))
-	{
-	  concat_name = xstrdup (wrapper);
-	  if (check_executable (concat_name))
-	    return concat_name;
-	  XFREE (concat_name);
-	}
-#if defined HAVE_DOS_BASED_FILE_SYSTEM
-    }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-      {
-	has_slash = 1;
-	break;
-      }
-  if (!has_slash)
-    {
-      /* no slashes; search PATH */
-      const char *path = getenv ("PATH");
-      if (path != NULL)
-	{
-	  for (p = path; *p; p = p_next)
-	    {
-	      const char *q;
-	      size_t p_len;
-	      for (q = p; *q; q++)
-		if (IS_PATH_SEPARATOR (*q))
-		  break;
-	      p_len = (size_t) (q - p);
-	      p_next = (*q == '\0' ? q : q + 1);
-	      if (p_len == 0)
-		{
-		  /* empty path: current directory */
-		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-                              nonnull (strerror (errno)));
-		  tmp_len = strlen (tmp);
-		  concat_name =
-		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, tmp, tmp_len);
-		  concat_name[tmp_len] = '/';
-		  strcpy (concat_name + tmp_len + 1, wrapper);
-		}
-	      else
-		{
-		  concat_name =
-		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, p, p_len);
-		  concat_name[p_len] = '/';
-		  strcpy (concat_name + p_len + 1, wrapper);
-		}
-	      if (check_executable (concat_name))
-		return concat_name;
-	      XFREE (concat_name);
-	    }
-	}
-      /* not found in PATH; assume curdir */
-    }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal (__FILE__, __LINE__, "getcwd failed: %s",
-              nonnull (strerror (errno)));
-  tmp_len = strlen (tmp);
-  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable (concat_name))
-    return concat_name;
-  XFREE (concat_name);
-  return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
-  return xstrdup (pathspec);
-#else
-  char buf[LT_PATHMAX];
-  struct stat s;
-  char *tmp_pathspec = xstrdup (pathspec);
-  char *p;
-  int has_symlinks = 0;
-  while (strlen (tmp_pathspec) && !has_symlinks)
-    {
-      lt_debugprintf (__FILE__, __LINE__,
-		      "checking path component for symlinks: %s\n",
-		      tmp_pathspec);
-      if (lstat (tmp_pathspec, &s) == 0)
-	{
-	  if (S_ISLNK (s.st_mode) != 0)
-	    {
-	      has_symlinks = 1;
-	      break;
-	    }
-
-	  /* search backwards for last DIR_SEPARATOR */
-	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    p--;
-	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    {
-	      /* no more DIR_SEPARATORS left */
-	      break;
-	    }
-	  *p = '\0';
-	}
-      else
-	{
-	  lt_fatal (__FILE__, __LINE__,
-		    "error accessing file \"%s\": %s",
-		    tmp_pathspec, nonnull (strerror (errno)));
-	}
-    }
-  XFREE (tmp_pathspec);
-
-  if (!has_symlinks)
-    {
-      return xstrdup (pathspec);
-    }
-
-  tmp_pathspec = realpath (pathspec, buf);
-  if (tmp_pathspec == 0)
-    {
-      lt_fatal (__FILE__, __LINE__,
-		"could not follow symlinks for %s", pathspec);
-    }
-  return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert (str != NULL);
-  assert (pat != NULL);
-
-  len = strlen (str);
-  patlen = strlen (pat);
-
-  if (patlen <= len)
-    {
-      str += len - patlen;
-      if (STREQ (str, pat))
-	*str = '\0';
-    }
-  return str;
-}
-
-void
-lt_debugprintf (const char *file, int line, const char *fmt, ...)
-{
-  va_list args;
-  if (lt_debug)
-    {
-      (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line);
-      va_start (args, fmt);
-      (void) vfprintf (stderr, fmt, args);
-      va_end (args);
-    }
-}
-
-static void
-lt_error_core (int exit_status, const char *file,
-	       int line, const char *mode,
-	       const char *message, va_list ap)
-{
-  fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *file, int line, const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap);
-  va_end (ap);
-}
-
-static const char *
-nonnull (const char *s)
-{
-  return s ? s : "(null)";
-}
-
-static const char *
-nonempty (const char *s)
-{
-  return (s && !*s) ? "(empty)" : nonnull (s);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_setenv) setting '%s' to '%s'\n",
-                  nonnull (name), nonnull (value));
-  {
-#ifdef HAVE_SETENV
-    /* always make a copy, for consistency with !HAVE_SETENV */
-    char *str = xstrdup (value);
-    setenv (name, str, 1);
-#else
-    size_t len = strlen (name) + 1 + strlen (value) + 1;
-    char *str = XMALLOC (char, len);
-    sprintf (str, "%s=%s", name, value);
-    if (putenv (str) != EXIT_SUCCESS)
-      {
-        XFREE (str);
-      }
-#endif
-  }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
-  char *new_value;
-  if (orig_value && *orig_value)
-    {
-      size_t orig_value_len = strlen (orig_value);
-      size_t add_len = strlen (add);
-      new_value = XMALLOC (char, add_len + orig_value_len + 1);
-      if (to_end)
-        {
-          strcpy (new_value, orig_value);
-          strcpy (new_value + orig_value_len, add);
-        }
-      else
-        {
-          strcpy (new_value, add);
-          strcpy (new_value + add_len, orig_value);
-        }
-    }
-  else
-    {
-      new_value = xstrdup (add);
-    }
-  return new_value;
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      /* some systems can't cope with a ':'-terminated path #' */
-      size_t len = strlen (new_value);
-      while ((len > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-        {
-          new_value[--len] = '\0';
-        }
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
-  lt_debugprintf (__FILE__, __LINE__,
-		  "(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                  nonnull (name), nonnull (value));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-EOF
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-
-/* Prepares an argument vector before calling spawn().
-   Note that spawn() does not by itself call the command interpreter
-     (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") :
-      ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
-         GetVersionEx(&v);
-         v.dwPlatformId == VER_PLATFORM_WIN32_NT;
-      }) ? "cmd.exe" : "command.com").
-   Instead it simply concatenates the arguments, separated by ' ', and calls
-   CreateProcess().  We must quote the arguments since Win32 CreateProcess()
-   interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a
-   special way:
-   - Space and tab are interpreted as delimiters. They are not treated as
-     delimiters if they are surrounded by double quotes: "...".
-   - Unescaped double quotes are removed from the input. Their only effect is
-     that within double quotes, space and tab are treated like normal
-     characters.
-   - Backslashes not followed by double quotes are not special.
-   - But 2*n+1 backslashes followed by a double quote become
-     n backslashes followed by a double quote (n >= 0):
-       \" -> "
-       \\\" -> \"
-       \\\\\" -> \\"
- */
-#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
-char **
-prepare_spawn (char **argv)
-{
-  size_t argc;
-  char **new_argv;
-  size_t i;
-
-  /* Count number of arguments.  */
-  for (argc = 0; argv[argc] != NULL; argc++)
-    ;
-
-  /* Allocate new argument vector.  */
-  new_argv = XMALLOC (char *, argc + 1);
-
-  /* Put quoted arguments into the new argument vector.  */
-  for (i = 0; i < argc; i++)
-    {
-      const char *string = argv[i];
-
-      if (string[0] == '\0')
-	new_argv[i] = xstrdup ("\"\"");
-      else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL)
-	{
-	  int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL);
-	  size_t length;
-	  unsigned int backslashes;
-	  const char *s;
-	  char *quoted_string;
-	  char *p;
-
-	  length = 0;
-	  backslashes = 0;
-	  if (quote_around)
-	    length++;
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		length += backslashes + 1;
-	      length++;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    length += backslashes + 1;
-
-	  quoted_string = XMALLOC (char, length + 1);
-
-	  p = quoted_string;
-	  backslashes = 0;
-	  if (quote_around)
-	    *p++ = '"';
-	  for (s = string; *s != '\0'; s++)
-	    {
-	      char c = *s;
-	      if (c == '"')
-		{
-		  unsigned int j;
-		  for (j = backslashes + 1; j > 0; j--)
-		    *p++ = '\\';
-		}
-	      *p++ = c;
-	      if (c == '\\')
-		backslashes++;
-	      else
-		backslashes = 0;
-	    }
-	  if (quote_around)
-	    {
-	      unsigned int j;
-	      for (j = backslashes; j > 0; j--)
-		*p++ = '\\';
-	      *p++ = '"';
-	    }
-	  *p = '\0';
-
-	  new_argv[i] = quoted_string;
-	}
-      else
-	new_argv[i] = (char *) string;
-    }
-  new_argv[argc] = NULL;
-
-  return new_argv;
-}
-EOF
-		;;
-	    esac
-
-            cat <<"EOF"
-void lt_dump_script (FILE* f)
-{
-EOF
-	    func_emit_wrapper yes |
-	      $SED -n -e '
-s/^\(.\{79\}\)\(..*\)/\1\
-\2/
-h
-s/\([\\"]\)/\\\1/g
-s/$/\\n/
-s/\([^\n]*\).*/  fputs ("\1", f);/p
-g
-D'
-            cat <<"EOF"
-}
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_win32_import_lib_p ARG
-# True if ARG is an import lib, as indicated by $file_magic_cmd
-func_win32_import_lib_p ()
-{
-    $debug_cmd
-
-    case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in
-    *import*) : ;;
-    *) false ;;
-    esac
-}
-
-# func_suncc_cstd_abi
-# !!ONLY CALL THIS FOR SUN CC AFTER $compile_command IS FULLY EXPANDED!!
-# Several compiler flags select an ABI that is incompatible with the
-# Cstd library. Avoid specifying it if any are in CXXFLAGS.
-func_suncc_cstd_abi ()
-{
-    $debug_cmd
-
-    case " $compile_command " in
-    *" -compat=g "*|*\ -std=c++[0-9][0-9]\ *|*" -library=stdcxx4 "*|*" -library=stlport4 "*)
-      suncc_use_cstd_abi=no
-      ;;
-    *)
-      suncc_use_cstd_abi=yes
-      ;;
-    esac
-}
-
-# func_mode_link arg...
-func_mode_link ()
-{
-    $debug_cmd
-
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # what system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll that has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args=$nonopt
-    base_compile="$nonopt $@"
-    compile_command=$nonopt
-    finalize_command=$nonopt
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-    new_inherited_linker_flags=
-
-    avoid_version=no
-    bindir=
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    os2dllname=
-    non_pic_objects=
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=false
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    weak_libs=
-    single_module=$wl-single_module
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -shared)
-	test yes != "$build_libtool_libs" \
-	  && func_fatal_configuration "cannot build a shared library"
-	build_old_libs=no
-	break
-	;;
-      -all-static | -static | -static-libtool-libs)
-	case $arg in
-	-all-static)
-	  if test yes = "$build_libtool_libs" && test -z "$link_static_flag"; then
-	    func_warning "complete static linking is impossible in this configuration"
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	-static)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=built
-	  ;;
-	-static-libtool-libs)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	esac
-	build_libtool_libs=no
-	build_old_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg=$1
-      shift
-      func_quote_for_eval "$arg"
-      qarg=$func_quote_for_eval_unquoted_result
-      func_append libtool_args " $func_quote_for_eval_result"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  func_append compile_command " @OUTPUT@"
-	  func_append finalize_command " @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	bindir)
-	  bindir=$arg
-	  prev=
-	  continue
-	  ;;
-	dlfiles|dlprefiles)
-	  $preload || {
-	    # Add the symbol object into the linking commands.
-	    func_append compile_command " @SYMFILE@"
-	    func_append finalize_command " @SYMFILE@"
-	    preload=:
-	  }
-	  case $arg in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test no = "$dlself"; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test dlprefiles = "$prev"; then
-	      dlself=yes
-	    elif test dlfiles = "$prev" && test yes != "$dlopen_self"; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test dlfiles = "$prev"; then
-	      func_append dlfiles " $arg"
-	    else
-	      func_append dlprefiles " $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols=$arg
-	  test -f "$arg" \
-	    || func_fatal_error "symbol file '$arg' does not exist"
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex=$arg
-	  prev=
-	  continue
-	  ;;
-	framework)
-	  case $host in
-	    *-*-darwin*)
-	      case "$deplibs " in
-		*" $qarg.ltframework "*) ;;
-		*) func_append deplibs " $qarg.ltframework" # this is fixed later
-		   ;;
-	      esac
-	      ;;
-	  esac
-	  prev=
-	  continue
-	  ;;
-	inst_prefix)
-	  inst_prefix_dir=$arg
-	  prev=
-	  continue
-	  ;;
-	mllvm)
-	  # Clang does not use LLVM to link, so we can simply discard any
-	  # '-mllvm $arg' options when doing the link step.
-	  prev=
-	  continue
-	  ;;
-	objectlist)
-	  if test -f "$arg"; then
-	    save_arg=$arg
-	    moreargs=
-	    for fil in `cat "$save_arg"`
-	    do
-#	      func_append moreargs " $fil"
-	      arg=$fil
-	      # A libtool-controlled object.
-
-	      # Check to see that this really is a libtool object.
-	      if func_lalib_unsafe_p "$arg"; then
-		pic_object=
-		non_pic_object=
-
-		# Read the .lo file
-		func_source "$arg"
-
-		if test -z "$pic_object" ||
-		   test -z "$non_pic_object" ||
-		   test none = "$pic_object" &&
-		   test none = "$non_pic_object"; then
-		  func_fatal_error "cannot find name of object for '$arg'"
-		fi
-
-		# Extract subdirectory from the argument.
-		func_dirname "$arg" "/" ""
-		xdir=$func_dirname_result
-
-		if test none != "$pic_object"; then
-		  # Prepend the subdirectory the object is found in.
-		  pic_object=$xdir$pic_object
-
-		  if test dlfiles = "$prev"; then
-		    if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
-		      func_append dlfiles " $pic_object"
-		      prev=
-		      continue
-		    else
-		      # If libtool objects are unsupported, then we need to preload.
-		      prev=dlprefiles
-		    fi
-		  fi
-
-		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test dlprefiles = "$prev"; then
-		    # Preload the old-style object.
-		    func_append dlprefiles " $pic_object"
-		    prev=
-		  fi
-
-		  # A PIC object.
-		  func_append libobjs " $pic_object"
-		  arg=$pic_object
-		fi
-
-		# Non-PIC object.
-		if test none != "$non_pic_object"; then
-		  # Prepend the subdirectory the object is found in.
-		  non_pic_object=$xdir$non_pic_object
-
-		  # A standard non-PIC object
-		  func_append non_pic_objects " $non_pic_object"
-		  if test -z "$pic_object" || test none = "$pic_object"; then
-		    arg=$non_pic_object
-		  fi
-		else
-		  # If the PIC object exists, use it instead.
-		  # $xdir was prepended to $pic_object above.
-		  non_pic_object=$pic_object
-		  func_append non_pic_objects " $non_pic_object"
-		fi
-	      else
-		# Only an error if not doing a dry-run.
-		if $opt_dry_run; then
-		  # Extract subdirectory from the argument.
-		  func_dirname "$arg" "/" ""
-		  xdir=$func_dirname_result
-
-		  func_lo2o "$arg"
-		  pic_object=$xdir$objdir/$func_lo2o_result
-		  non_pic_object=$xdir$func_lo2o_result
-		  func_append libobjs " $pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-	        else
-		  func_fatal_error "'$arg' is not a valid libtool object"
-		fi
-	      fi
-	    done
-	  else
-	    func_fatal_error "link input file '$arg' does not exist"
-	  fi
-	  arg=$save_arg
-	  prev=
-	  continue
-	  ;;
-	os2dllname)
-	  os2dllname=$arg
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex=$arg
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release=-$arg
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    func_fatal_error "only absolute run-paths are allowed"
-	    ;;
-	  esac
-	  if test rpath = "$prev"; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) func_append rpath " $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) func_append xrpath " $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	shrext)
-	  shrext_cmds=$arg
-	  prev=
-	  continue
-	  ;;
-	weak)
-	  func_append weak_libs " $arg"
-	  prev=
-	  continue
-	  ;;
-	xcclinker)
-	  func_append linker_flags " $qarg"
-	  func_append compiler_flags " $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xcompiler)
-	  func_append compiler_flags " $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  func_append linker_flags " $qarg"
-	  func_append compiler_flags " $wl$qarg"
-	  prev=
-	  func_append compile_command " $wl$qarg"
-	  func_append finalize_command " $wl$qarg"
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n "$prev"
-
-      prevarg=$arg
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  # See comment for -static flag below, for more details.
-	  func_append compile_command " $link_static_flag"
-	  func_append finalize_command " $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	func_fatal_error "'-allow-undefined' must not be used because it is the default"
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -bindir)
-	prev=bindir
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  func_fatal_error "more than one -exported-symbols argument is not allowed"
-	fi
-	if test X-export-symbols = "X$arg"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -framework)
-	prev=framework
-	continue
-	;;
-
-      -inst-prefix-dir)
-	prev=inst_prefix
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | /*-*-irix*)
-	  func_append compile_command " $arg"
-	  func_append finalize_command " $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	func_stripname "-L" '' "$arg"
-	if test -z "$func_stripname_result"; then
-	  if test "$#" -gt 0; then
-	    func_fatal_error "require no space between '-L' and '$1'"
-	  else
-	    func_fatal_error "need path for '-L' option"
-	  fi
-	fi
-	func_resolve_sysroot "$func_stripname_result"
-	dir=$func_resolve_sysroot_result
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  test -z "$absdir" && \
-	    func_fatal_error "cannot determine absolute directory name of '$dir'"
-	  dir=$absdir
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "* | *" $arg "*)
-	  # Will only happen for absolute or sysroot arguments
-	  ;;
-	*)
-	  # Preserve sysroot, but never include relative directories
-	  case $dir in
-	    [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;;
-	    *) func_append deplibs " -L$dir" ;;
-	  esac
-	  func_append lib_search_path " $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  ::) dllsearchpath=$dir;;
-	  *) func_append dllsearchpath ":$dir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) func_append dllsearchpath ":$testbindir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test X-lc = "X$arg" || test X-lm = "X$arg"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C and math libraries are in the System framework
-	    func_append deplibs " System.ltframework"
-	    continue
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    test X-lc = "X$arg" && continue
-	    ;;
-	  esac
-	elif test X-lc_r = "X$arg"; then
-	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* | *-*-bitrig*)
-	   # Do not include libc_r directly, use -pthread flag.
-	   continue
-	   ;;
-	 esac
-	fi
-	func_append deplibs " $arg"
-	continue
-	;;
-
-      -mllvm)
-	prev=mllvm
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot|--sysroot)
-	func_append compiler_flags " $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	prev=xcompiler
-	continue
-	;;
-
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-	func_append compiler_flags " $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	case "$new_inherited_linker_flags " in
-	    *" $arg "*) ;;
-	    * ) func_append new_inherited_linker_flags " $arg" ;;
-	esac
-	continue
-	;;
-
-      -multi_module)
-	single_module=$wl-multi_module
-	continue
-	;;
-
-      -no-fast-install)
-	fast_install=no
-	continue
-	;;
-
-      -no-install)
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
-	  # The PATH hackery in wrapper scripts is required on Windows
-	  # and Darwin in order for the loader to find any dlls it needs.
-	  func_warning "'-no-install' is ignored for $host"
-	  func_warning "assuming '-no-fast-install' instead"
-	  fast_install=no
-	  ;;
-	*) no_install=yes ;;
-	esac
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -objectlist)
-	prev=objectlist
-	continue
-	;;
-
-      -os2dllname)
-	prev=os2dllname
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-	prev=precious_regex
-	continue
-	;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	func_stripname '-R' '' "$arg"
-	dir=$func_stripname_result
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	=*)
-	  func_stripname '=' '' "$dir"
-	  dir=$lt_sysroot$func_stripname_result
-	  ;;
-	*)
-	  func_fatal_error "only absolute run-paths are allowed"
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) func_append xrpath " $dir" ;;
-	esac
-	continue
-	;;
-
-      -shared)
-	# The effects of -shared are defined in a previous loop.
-	continue
-	;;
-
-      -shrext)
-	prev=shrext
-	continue
-	;;
-
-      -static | -static-libtool-libs)
-	# The effects of -static are defined in a previous loop.
-	# We used to do the same as -all-static on platforms that
-	# didn't have a PIC flag, but the assumption that the effects
-	# would be equivalent was wrong.  It would break on at least
-	# Digital Unix and AIX.
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-
-      -version-number)
-	prev=vinfo
-	vinfo_number=yes
-	continue
-	;;
-
-      -weak)
-        prev=weak
-	continue
-	;;
-
-      -Wc,*)
-	func_stripname '-Wc,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs=$IFS; IFS=,
-	for flag in $args; do
-	  IFS=$save_ifs
-          func_quote_for_eval "$flag"
-	  func_append arg " $func_quote_for_eval_result"
-	  func_append compiler_flags " $func_quote_for_eval_result"
-	done
-	IFS=$save_ifs
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Wl,*)
-	func_stripname '-Wl,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs=$IFS; IFS=,
-	for flag in $args; do
-	  IFS=$save_ifs
-          func_quote_for_eval "$flag"
-	  func_append arg " $wl$func_quote_for_eval_result"
-	  func_append compiler_flags " $wl$func_quote_for_eval_result"
-	  func_append linker_flags " $func_quote_for_eval_result"
-	done
-	IFS=$save_ifs
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Xlinker)
-	prev=xlinker
-	continue
-	;;
-
-      -XCClinker)
-	prev=xcclinker
-	continue
-	;;
-
-      # -msg_* for osf cc
-      -msg_*)
-	func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-	;;
-
-      # Flags to be passed through unchanged, with rationale:
-      # -64, -mips[0-9]      enable 64-bit mode for the SGI compiler
-      # -r[0-9][0-9]*        specify processor for the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler
-      # +DA*, +DD*           enable 64-bit mode for the HP compiler
-      # -q*                  compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* architecture-specific flags for GCC
-      # -F/path              path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-*  profiling flags for GCC
-      # -fstack-protector*   stack protector flags for GCC
-      # @file                GCC response files
-      # -tp=*                Portland pgcc target processor selection
-      # --sysroot=*          for sysroot support
-      # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-      # -stdlib=*            select c++ std lib with clang
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-      -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*)
-        func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-        func_append compile_command " $arg"
-        func_append finalize_command " $arg"
-        func_append compiler_flags " $arg"
-        continue
-        ;;
-
-      -Z*)
-        if test os2 = "`expr $host : '.*\(os2\)'`"; then
-          # OS/2 uses -Zxxx to specify OS/2-specific options
-	  compiler_flags="$compiler_flags $arg"
-	  func_append compile_command " $arg"
-	  func_append finalize_command " $arg"
-	  case $arg in
-	  -Zlinker | -Zstack)
-	    prev=xcompiler
-	    ;;
-	  esac
-	  continue
-        else
-	  # Otherwise treat like 'Some other compiler flag' below
-	  func_quote_for_eval "$arg"
-	  arg=$func_quote_for_eval_result
-        fi
-	;;
-
-      # Some other compiler flag.
-      -* | +*)
-        func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-	;;
-
-      *.$objext)
-	# A standard object.
-	func_append objs " $arg"
-	;;
-
-      *.lo)
-	# A libtool-controlled object.
-
-	# Check to see that this really is a libtool object.
-	if func_lalib_unsafe_p "$arg"; then
-	  pic_object=
-	  non_pic_object=
-
-	  # Read the .lo file
-	  func_source "$arg"
-
-	  if test -z "$pic_object" ||
-	     test -z "$non_pic_object" ||
-	     test none = "$pic_object" &&
-	     test none = "$non_pic_object"; then
-	    func_fatal_error "cannot find name of object for '$arg'"
-	  fi
-
-	  # Extract subdirectory from the argument.
-	  func_dirname "$arg" "/" ""
-	  xdir=$func_dirname_result
-
-	  test none = "$pic_object" || {
-	    # Prepend the subdirectory the object is found in.
-	    pic_object=$xdir$pic_object
-
-	    if test dlfiles = "$prev"; then
-	      if test yes = "$build_libtool_libs" && test yes = "$dlopen_support"; then
-		func_append dlfiles " $pic_object"
-		prev=
-		continue
-	      else
-		# If libtool objects are unsupported, then we need to preload.
-		prev=dlprefiles
-	      fi
-	    fi
-
-	    # CHECK ME:  I think I busted this.  -Ossama
-	    if test dlprefiles = "$prev"; then
-	      # Preload the old-style object.
-	      func_append dlprefiles " $pic_object"
-	      prev=
-	    fi
-
-	    # A PIC object.
-	    func_append libobjs " $pic_object"
-	    arg=$pic_object
-	  }
-
-	  # Non-PIC object.
-	  if test none != "$non_pic_object"; then
-	    # Prepend the subdirectory the object is found in.
-	    non_pic_object=$xdir$non_pic_object
-
-	    # A standard non-PIC object
-	    func_append non_pic_objects " $non_pic_object"
-	    if test -z "$pic_object" || test none = "$pic_object"; then
-	      arg=$non_pic_object
-	    fi
-	  else
-	    # If the PIC object exists, use it instead.
-	    # $xdir was prepended to $pic_object above.
-	    non_pic_object=$pic_object
-	    func_append non_pic_objects " $non_pic_object"
-	  fi
-	else
-	  # Only an error if not doing a dry-run.
-	  if $opt_dry_run; then
-	    # Extract subdirectory from the argument.
-	    func_dirname "$arg" "/" ""
-	    xdir=$func_dirname_result
-
-	    func_lo2o "$arg"
-	    pic_object=$xdir$objdir/$func_lo2o_result
-	    non_pic_object=$xdir$func_lo2o_result
-	    func_append libobjs " $pic_object"
-	    func_append non_pic_objects " $non_pic_object"
-	  else
-	    func_fatal_error "'$arg' is not a valid libtool object"
-	  fi
-	fi
-	;;
-
-      *.$libext)
-	# An archive.
-	func_append deplibs " $arg"
-	func_append old_deplibs " $arg"
-	continue
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	func_resolve_sysroot "$arg"
-	if test dlfiles = "$prev"; then
-	  # This library was specified with -dlopen.
-	  func_append dlfiles " $func_resolve_sysroot_result"
-	  prev=
-	elif test dlprefiles = "$prev"; then
-	  # The library was specified with -dlpreopen.
-	  func_append dlprefiles " $func_resolve_sysroot_result"
-	  prev=
-	else
-	  func_append deplibs " $func_resolve_sysroot_result"
-	fi
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	func_quote_for_eval "$arg"
-	arg=$func_quote_for_eval_result
-	;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-      fi
-    done # argument parsing loop
-
-    test -n "$prev" && \
-      func_fatal_help "the '$prevarg' option requires an argument"
-
-    if test yes = "$export_dynamic" && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      func_append compile_command " $arg"
-      func_append finalize_command " $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    func_basename "$output"
-    outputname=$func_basename_result
-    libobjs_save=$libobjs
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"\$$shlibpath_var\" \| \$SED \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    # Definition is injected by LT_CONFIG during libtool generation.
-    func_munge_path_list sys_lib_dlsearch_path "$LT_SYS_LIBRARY_PATH"
-
-    func_dirname "$output" "/" ""
-    output_objdir=$func_dirname_result$objdir
-    func_to_tool_file "$output_objdir/"
-    tool_output_objdir=$func_to_tool_file_result
-    # Create the object directory.
-    func_mkdir_p "$output_objdir"
-
-    # Determine the type of output
-    case $output in
-    "")
-      func_fatal_help "you must specify an output file"
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if $opt_preserve_dup_deps; then
-	case "$libs " in
-	*" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	esac
-      fi
-      func_append libs " $deplib"
-    done
-
-    if test lib = "$linkmode"; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if $opt_duplicate_compiler_generated_deps; then
-	for pre_post_dep in $predeps $postdeps; do
-	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;;
-	  esac
-	  func_append pre_post_deps " $pre_post_dep"
-	done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
-
-    case $linkmode in
-    lib)
-	passes="conv dlpreopen link"
-	for file in $dlfiles $dlprefiles; do
-	  case $file in
-	  *.la) ;;
-	  *)
-	    func_fatal_help "libraries can '-dlopen' only libtool libraries: $file"
-	    ;;
-	  esac
-	done
-	;;
-    prog)
-	compile_deplibs=
-	finalize_deplibs=
-	alldeplibs=false
-	newdlfiles=
-	newdlprefiles=
-	passes="conv scan dlopen dlpreopen link"
-	;;
-    *)  passes="conv"
-	;;
-    esac
-
-    for pass in $passes; do
-      # The preopen pass in lib mode reverses $deplibs; put it back here
-      # so that -L comes before libs that need it for instance...
-      if test lib,link = "$linkmode,$pass"; then
-	## FIXME: Find the place where the list is rebuilt in the wrong
-	##        order, and fix it there properly
-        tmp_deplibs=
-	for deplib in $deplibs; do
-	  tmp_deplibs="$deplib $tmp_deplibs"
-	done
-	deplibs=$tmp_deplibs
-      fi
-
-      if test lib,link = "$linkmode,$pass" ||
-	 test prog,scan = "$linkmode,$pass"; then
-	libs=$deplibs
-	deplibs=
-      fi
-      if test prog = "$linkmode"; then
-	case $pass in
-	dlopen) libs=$dlfiles ;;
-	dlpreopen) libs=$dlprefiles ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-	esac
-      fi
-      if test lib,dlpreopen = "$linkmode,$pass"; then
-	# Collect and forward deplibs of preopened libtool libs
-	for lib in $dlprefiles; do
-	  # Ignore non-libtool-libs
-	  dependency_libs=
-	  func_resolve_sysroot "$lib"
-	  case $lib in
-	  *.la)	func_source "$func_resolve_sysroot_result" ;;
-	  esac
-
-	  # Collect preopened libtool deplibs, except any this library
-	  # has declared as weak libs
-	  for deplib in $dependency_libs; do
-	    func_basename "$deplib"
-            deplib_base=$func_basename_result
-	    case " $weak_libs " in
-	    *" $deplib_base "*) ;;
-	    *) func_append deplibs " $deplib" ;;
-	    esac
-	  done
-	done
-	libs=$dlprefiles
-      fi
-      if test dlopen = "$pass"; then
-	# Collect dlpreopened libraries
-	save_deplibs=$deplibs
-	deplibs=
-      fi
-
-      for deplib in $libs; do
-	lib=
-	found=false
-	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
-        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
-	  if test prog,link = "$linkmode,$pass"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    func_append compiler_flags " $deplib"
-	    if test lib = "$linkmode"; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) func_append new_inherited_linker_flags " $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-l*)
-	  if test lib != "$linkmode" && test prog != "$linkmode"; then
-	    func_warning "'-l' is ignored for archives/objects"
-	    continue
-	  fi
-	  func_stripname '-l' '' "$deplib"
-	  name=$func_stripname_result
-	  if test lib = "$linkmode"; then
-	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-	  else
-	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-	  fi
-	  for searchdir in $searchdirs; do
-	    for search_ext in .la $std_shrext .so .a; do
-	      # Search the libtool library
-	      lib=$searchdir/lib$name$search_ext
-	      if test -f "$lib"; then
-		if test .la = "$search_ext"; then
-		  found=:
-		else
-		  found=false
-		fi
-		break 2
-	      fi
-	    done
-	  done
-	  if $found; then
-	    # deplib is a libtool library
-	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-	    # We need to do some special things here, and not later.
-	    if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-	      case " $predeps $postdeps " in
-	      *" $deplib "*)
-		if func_lalib_p "$lib"; then
-		  library_names=
-		  old_library=
-		  func_source "$lib"
-		  for l in $old_library $library_names; do
-		    ll=$l
-		  done
-		  if test "X$ll" = "X$old_library"; then # only static version available
-		    found=false
-		    func_dirname "$lib" "" "."
-		    ladir=$func_dirname_result
-		    lib=$ladir/$old_library
-		    if test prog,link = "$linkmode,$pass"; then
-		      compile_deplibs="$deplib $compile_deplibs"
-		      finalize_deplibs="$deplib $finalize_deplibs"
-		    else
-		      deplibs="$deplib $deplibs"
-		      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
-		    fi
-		    continue
-		  fi
-		fi
-		;;
-	      *) ;;
-	      esac
-	    fi
-	  else
-	    # deplib doesn't seem to be a libtool library
-	    if test prog,link = "$linkmode,$pass"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test lib = "$linkmode" && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  fi
-	  ;; # -l
-	*.ltframework)
-	  if test prog,link = "$linkmode,$pass"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    deplibs="$deplib $deplibs"
-	    if test lib = "$linkmode"; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) func_append new_inherited_linker_flags " $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-L*)
-	  case $linkmode in
-	  lib)
-	    deplibs="$deplib $deplibs"
-	    test conv = "$pass" && continue
-	    newdependency_libs="$deplib $newdependency_libs"
-	    func_stripname '-L' '' "$deplib"
-	    func_resolve_sysroot "$func_stripname_result"
-	    func_append newlib_search_path " $func_resolve_sysroot_result"
-	    ;;
-	  prog)
-	    if test conv = "$pass"; then
-	      deplibs="$deplib $deplibs"
-	      continue
-	    fi
-	    if test scan = "$pass"; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    func_stripname '-L' '' "$deplib"
-	    func_resolve_sysroot "$func_stripname_result"
-	    func_append newlib_search_path " $func_resolve_sysroot_result"
-	    ;;
-	  *)
-	    func_warning "'-L' is ignored for archives/objects"
-	    ;;
-	  esac # linkmode
-	  continue
-	  ;; # -L
-	-R*)
-	  if test link = "$pass"; then
-	    func_stripname '-R' '' "$deplib"
-	    func_resolve_sysroot "$func_stripname_result"
-	    dir=$func_resolve_sysroot_result
-	    # Make sure the xrpath contains only unique directories.
-	    case "$xrpath " in
-	    *" $dir "*) ;;
-	    *) func_append xrpath " $dir" ;;
-	    esac
-	  fi
-	  deplibs="$deplib $deplibs"
-	  continue
-	  ;;
-	*.la)
-	  func_resolve_sysroot "$deplib"
-	  lib=$func_resolve_sysroot_result
-	  ;;
-	*.$libext)
-	  if test conv = "$pass"; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  case $linkmode in
-	  lib)
-	    # Linking convenience modules into shared libraries is allowed,
-	    # but linking other static libraries is non-portable.
-	    case " $dlpreconveniencelibs " in
-	    *" $deplib "*) ;;
-	    *)
-	      valid_a_lib=false
-	      case $deplibs_check_method in
-		match_pattern*)
-		  set dummy $deplibs_check_method; shift
-		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-		  if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \
-		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		    valid_a_lib=:
-		  fi
-		;;
-		pass_all)
-		  valid_a_lib=:
-		;;
-	      esac
-	      if $valid_a_lib; then
-		echo
-		$ECHO "*** Warning: Linking the shared library $output against the"
-		$ECHO "*** static library $deplib is not portable!"
-		deplibs="$deplib $deplibs"
-	      else
-		echo
-		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because the file extensions .$libext of this argument makes me believe"
-		echo "*** that it is just a static archive that I should not use here."
-	      fi
-	      ;;
-	    esac
-	    continue
-	    ;;
-	  prog)
-	    if test link != "$pass"; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    continue
-	    ;;
-	  esac # linkmode
-	  ;; # *.$libext
-	*.lo | *.$objext)
-	  if test conv = "$pass"; then
-	    deplibs="$deplib $deplibs"
-	  elif test prog = "$linkmode"; then
-	    if test dlpreopen = "$pass" || test yes != "$dlopen_support" || test no = "$build_libtool_libs"; then
-	      # If there is no dlopen support or we're linking statically,
-	      # we need to preload.
-	      func_append newdlprefiles " $deplib"
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      func_append newdlfiles " $deplib"
-	    fi
-	  fi
-	  continue
-	  ;;
-	%DEPLIBS%)
-	  alldeplibs=:
-	  continue
-	  ;;
-	esac # case $deplib
-
-	$found || test -f "$lib" \
-	  || func_fatal_error "cannot find the library '$lib' or unhandled argument '$deplib'"
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$lib" \
-	  || func_fatal_error "'$lib' is not a valid libtool archive"
-
-	func_dirname "$lib" "" "."
-	ladir=$func_dirname_result
-
-	dlname=
-	dlopen=
-	dlpreopen=
-	libdir=
-	library_names=
-	old_library=
-	inherited_linker_flags=
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variables installed, or shouldnotlink
-	installed=yes
-	shouldnotlink=no
-	avoidtemprpath=
-
-
-	# Read the .la file
-	func_source "$lib"
-
-	# Convert "-framework foo" to "foo.ltframework"
-	if test -n "$inherited_linker_flags"; then
-	  tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'`
-	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
-	    case " $new_inherited_linker_flags " in
-	      *" $tmp_inherited_linker_flag "*) ;;
-	      *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";;
-	    esac
-	  done
-	fi
-	dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	if test lib,link = "$linkmode,$pass" ||
-	   test prog,scan = "$linkmode,$pass" ||
-	   { test prog != "$linkmode" && test lib != "$linkmode"; }; then
-	  test -n "$dlopen" && func_append dlfiles " $dlopen"
-	  test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen"
-	fi
-
-	if test conv = "$pass"; then
-	  # Only check for convenience libraries
-	  deplibs="$lib $deplibs"
-	  if test -z "$libdir"; then
-	    if test -z "$old_library"; then
-	      func_fatal_error "cannot find name of link library for '$lib'"
-	    fi
-	    # It is a libtool convenience library, so add in its objects.
-	    func_append convenience " $ladir/$objdir/$old_library"
-	    func_append old_convenience " $ladir/$objdir/$old_library"
-	  elif test prog != "$linkmode" && test lib != "$linkmode"; then
-	    func_fatal_error "'$lib' is not a convenience library"
-	  fi
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    deplibs="$deplib $deplibs"
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $deplib"
-	  done
-	  continue
-	fi # $pass = conv
-
-
-	# Get the name of the library we link against.
-	linklib=
-	if test -n "$old_library" &&
-	   { test yes = "$prefer_static_libs" ||
-	     test built,no = "$prefer_static_libs,$installed"; }; then
-	  linklib=$old_library
-	else
-	  for l in $old_library $library_names; do
-	    linklib=$l
-	  done
-	fi
-	if test -z "$linklib"; then
-	  func_fatal_error "cannot find name of link library for '$lib'"
-	fi
-
-	# This library was specified with -dlopen.
-	if test dlopen = "$pass"; then
-	  test -z "$libdir" \
-	    && func_fatal_error "cannot -dlopen a convenience library: '$lib'"
-	  if test -z "$dlname" ||
-	     test yes != "$dlopen_support" ||
-	     test no = "$build_libtool_libs"
-	  then
-	    # If there is no dlname, no dlopen support or we're linking
-	    # statically, we need to preload.  We also need to preload any
-	    # dependent libraries so libltdl's deplib preloader doesn't
-	    # bomb out in the load deplibs phase.
-	    func_append dlprefiles " $lib $dependency_libs"
-	  else
-	    func_append newdlfiles " $lib"
-	  fi
-	  continue
-	fi # $pass = dlopen
-
-	# We need an absolute path.
-	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir=$ladir ;;
-	*)
-	  abs_ladir=`cd "$ladir" && pwd`
-	  if test -z "$abs_ladir"; then
-	    func_warning "cannot determine absolute directory name of '$ladir'"
-	    func_warning "passing it literally to the linker, although it might fail"
-	    abs_ladir=$ladir
-	  fi
-	  ;;
-	esac
-	func_basename "$lib"
-	laname=$func_basename_result
-
-	# Find the relevant object directory and library name.
-	if test yes = "$installed"; then
-	  if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    func_warning "library '$lib' was moved."
-	    dir=$ladir
-	    absdir=$abs_ladir
-	    libdir=$abs_ladir
-	  else
-	    dir=$lt_sysroot$libdir
-	    absdir=$lt_sysroot$libdir
-	  fi
-	  test yes = "$hardcode_automatic" && avoidtemprpath=yes
-	else
-	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    dir=$ladir
-	    absdir=$abs_ladir
-	    # Remove this search path later
-	    func_append notinst_path " $abs_ladir"
-	  else
-	    dir=$ladir/$objdir
-	    absdir=$abs_ladir/$objdir
-	    # Remove this search path later
-	    func_append notinst_path " $abs_ladir"
-	  fi
-	fi # $installed = yes
-	func_stripname 'lib' '.la' "$laname"
-	name=$func_stripname_result
-
-	# This library was specified with -dlpreopen.
-	if test dlpreopen = "$pass"; then
-	  if test -z "$libdir" && test prog = "$linkmode"; then
-	    func_fatal_error "only libraries may -dlpreopen a convenience library: '$lib'"
-	  fi
-	  case $host in
-	    # special handling for platforms with PE-DLLs.
-	    *cygwin* | *mingw* | *cegcc* )
-	      # Linker will automatically link against shared library if both
-	      # static and shared are present.  Therefore, ensure we extract
-	      # symbols from the import library if a shared library is present
-	      # (otherwise, the dlopen module name will be incorrect).  We do
-	      # this by putting the import library name into $newdlprefiles.
-	      # We recover the dlopen module name by 'saving' the la file
-	      # name in a special purpose variable, and (later) extracting the
-	      # dlname from the la file.
-	      if test -n "$dlname"; then
-	        func_tr_sh "$dir/$linklib"
-	        eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname"
-	        func_append newdlprefiles " $dir/$linklib"
-	      else
-	        func_append newdlprefiles " $dir/$old_library"
-	        # Keep a list of preopened convenience libraries to check
-	        # that they are being used correctly in the link pass.
-	        test -z "$libdir" && \
-	          func_append dlpreconveniencelibs " $dir/$old_library"
-	      fi
-	    ;;
-	    * )
-	      # Prefer using a static library (so that no silly _DYNAMIC symbols
-	      # are required to link).
-	      if test -n "$old_library"; then
-	        func_append newdlprefiles " $dir/$old_library"
-	        # Keep a list of preopened convenience libraries to check
-	        # that they are being used correctly in the link pass.
-	        test -z "$libdir" && \
-	          func_append dlpreconveniencelibs " $dir/$old_library"
-	      # Otherwise, use the dlname, so that lt_dlopen finds it.
-	      elif test -n "$dlname"; then
-	        func_append newdlprefiles " $dir/$dlname"
-	      else
-	        func_append newdlprefiles " $dir/$linklib"
-	      fi
-	    ;;
-	  esac
-	fi # $pass = dlpreopen
-
-	if test -z "$libdir"; then
-	  # Link the convenience library
-	  if test lib = "$linkmode"; then
-	    deplibs="$dir/$old_library $deplibs"
-	  elif test prog,link = "$linkmode,$pass"; then
-	    compile_deplibs="$dir/$old_library $compile_deplibs"
-	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
-	  else
-	    deplibs="$lib $deplibs" # used for prog,scan pass
-	  fi
-	  continue
-	fi
-
-
-	if test prog = "$linkmode" && test link != "$pass"; then
-	  func_append newlib_search_path " $ladir"
-	  deplibs="$lib $deplibs"
-
-	  linkalldeplibs=false
-	  if test no != "$link_all_deplibs" || test -z "$library_names" ||
-	     test no = "$build_libtool_libs"; then
-	    linkalldeplibs=:
-	  fi
-
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    case $deplib in
-	    -L*) func_stripname '-L' '' "$deplib"
-	         func_resolve_sysroot "$func_stripname_result"
-	         func_append newlib_search_path " $func_resolve_sysroot_result"
-		 ;;
-	    esac
-	    # Need to link against all dependency_libs?
-	    if $linkalldeplibs; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      # Need to hardcode shared library paths
-	      # or/and link against static libraries
-	      newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) func_append specialdeplibs " $deplib" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $deplib"
-	  done # for deplib
-	  continue
-	fi # $linkmode = prog...
-
-	if test prog,link = "$linkmode,$pass"; then
-	  if test -n "$library_names" &&
-	     { { test no = "$prefer_static_libs" ||
-	         test built,yes = "$prefer_static_libs,$installed"; } ||
-	       test -z "$old_library"; }; then
-	    # We need to hardcode the library path
-	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath"; then
-	      # Make sure the rpath contains only unique directories.
-	      case $temp_rpath: in
-	      *"$absdir:"*) ;;
-	      *) func_append temp_rpath "$absdir:" ;;
-	      esac
-	    fi
-
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) func_append compile_rpath " $absdir" ;;
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) func_append finalize_rpath " $libdir" ;;
-	      esac
-	      ;;
-	    esac
-	  fi # $linkmode,$pass = prog,link...
-
-	  if $alldeplibs &&
-	     { test pass_all = "$deplibs_check_method" ||
-	       { test yes = "$build_libtool_libs" &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-	fi
-
-	link_static=no # Whether the deplib will be linked statically
-	use_static_libs=$prefer_static_libs
-	if test built = "$use_static_libs" && test yes = "$installed"; then
-	  use_static_libs=no
-	fi
-	if test -n "$library_names" &&
-	   { test no = "$use_static_libs" || test -z "$old_library"; }; then
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc* | *os2*)
-	      # No point in relinking DLLs because paths are not encoded
-	      func_append notinst_deplibs " $lib"
-	      need_relink=no
-	    ;;
-	  *)
-	    if test no = "$installed"; then
-	      func_append notinst_deplibs " $lib"
-	      need_relink=yes
-	    fi
-	    ;;
-	  esac
-	  # This is a shared library
-
-	  # Warn about portability, can't link against -module's on some
-	  # systems (darwin).  Don't bleat about dlopened modules though!
-	  dlopenmodule=
-	  for dlpremoduletest in $dlprefiles; do
-	    if test "X$dlpremoduletest" = "X$lib"; then
-	      dlopenmodule=$dlpremoduletest
-	      break
-	    fi
-	  done
-	  if test -z "$dlopenmodule" && test yes = "$shouldnotlink" && test link = "$pass"; then
-	    echo
-	    if test prog = "$linkmode"; then
-	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
-	    else
-	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
-	    fi
-	    $ECHO "*** $linklib is not portable!"
-	  fi
-	  if test lib = "$linkmode" &&
-	     test yes = "$hardcode_into_libs"; then
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) func_append compile_rpath " $absdir" ;;
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) func_append finalize_rpath " $libdir" ;;
-	      esac
-	      ;;
-	    esac
-	  fi
-
-	  if test -n "$old_archive_from_expsyms_cmds"; then
-	    # figure out the soname
-	    set dummy $library_names
-	    shift
-	    realname=$1
-	    shift
-	    libname=`eval "\\$ECHO \"$libname_spec\""`
-	    # use dlname if we got it. it's perfectly good, no?
-	    if test -n "$dlname"; then
-	      soname=$dlname
-	    elif test -n "$soname_spec"; then
-	      # bleh windows
-	      case $host in
-	      *cygwin* | mingw* | *cegcc* | *os2*)
-	        func_arith $current - $age
-		major=$func_arith_result
-		versuffix=-$major
-		;;
-	      esac
-	      eval soname=\"$soname_spec\"
-	    else
-	      soname=$realname
-	    fi
-
-	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot=$soname
-	    func_basename "$soroot"
-	    soname=$func_basename_result
-	    func_stripname 'lib' '.dll' "$soname"
-	    newlib=libimp-$func_stripname_result.a
-
-	    # If the library has no export list, then create one now
-	    if test -f "$output_objdir/$soname-def"; then :
-	    else
-	      func_verbose "extracting exported symbol list from '$soname'"
-	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
-	    fi
-
-	    # Create $newlib
-	    if test -f "$output_objdir/$newlib"; then :; else
-	      func_verbose "generating import library for '$soname'"
-	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
-	    fi
-	    # make sure the library variables are pointing to the new library
-	    dir=$output_objdir
-	    linklib=$newlib
-	  fi # test -n "$old_archive_from_expsyms_cmds"
-
-	  if test prog = "$linkmode" || test relink != "$opt_mode"; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    lib_linked=yes
-	    case $hardcode_action in
-	    immediate | unsupported)
-	      if test no = "$hardcode_direct"; then
-		add=$dir/$linklib
-		case $host in
-		  *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;;
-		  *-*-sysv4*uw2*) add_dir=-L$dir ;;
-		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-		    *-*-unixware7*) add_dir=-L$dir ;;
-		  *-*-darwin* )
-		    # if the lib is a (non-dlopened) module then we cannot
-		    # link against it, someone is ignoring the earlier warnings
-		    if /usr/bin/file -L $add 2> /dev/null |
-			 $GREP ": [^:]* bundle" >/dev/null; then
-		      if test "X$dlopenmodule" != "X$lib"; then
-			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
-			if test -z "$old_library"; then
-			  echo
-			  echo "*** And there doesn't seem to be a static archive available"
-			  echo "*** The link will probably fail, sorry"
-			else
-			  add=$dir/$old_library
-			fi
-		      elif test -n "$old_library"; then
-			add=$dir/$old_library
-		      fi
-		    fi
-		esac
-	      elif test no = "$hardcode_minus_L"; then
-		case $host in
-		*-*-sunos*) add_shlibpath=$dir ;;
-		esac
-		add_dir=-L$dir
-		add=-l$name
-	      elif test no = "$hardcode_shlibpath_var"; then
-		add_shlibpath=$dir
-		add=-l$name
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    relink)
-	      if test yes = "$hardcode_direct" &&
-	         test no = "$hardcode_direct_absolute"; then
-		add=$dir/$linklib
-	      elif test yes = "$hardcode_minus_L"; then
-		add_dir=-L$absdir
-		# Try looking first in the location we're being installed to.
-		if test -n "$inst_prefix_dir"; then
-		  case $libdir in
-		    [\\/]*)
-		      func_append add_dir " -L$inst_prefix_dir$libdir"
-		      ;;
-		  esac
-		fi
-		add=-l$name
-	      elif test yes = "$hardcode_shlibpath_var"; then
-		add_shlibpath=$dir
-		add=-l$name
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    *) lib_linked=no ;;
-	    esac
-
-	    if test yes != "$lib_linked"; then
-	      func_fatal_configuration "unsupported hardcode properties"
-	    fi
-
-	    if test -n "$add_shlibpath"; then
-	      case :$compile_shlibpath: in
-	      *":$add_shlibpath:"*) ;;
-	      *) func_append compile_shlibpath "$add_shlibpath:" ;;
-	      esac
-	    fi
-	    if test prog = "$linkmode"; then
-	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	      if test yes != "$hardcode_direct" &&
-		 test yes != "$hardcode_minus_L" &&
-		 test yes = "$hardcode_shlibpath_var"; then
-		case :$finalize_shlibpath: in
-		*":$libdir:"*) ;;
-		*) func_append finalize_shlibpath "$libdir:" ;;
-		esac
-	      fi
-	    fi
-	  fi
-
-	  if test prog = "$linkmode" || test relink = "$opt_mode"; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    # Finalize command for both is simple: just hardcode it.
-	    if test yes = "$hardcode_direct" &&
-	       test no = "$hardcode_direct_absolute"; then
-	      add=$libdir/$linklib
-	    elif test yes = "$hardcode_minus_L"; then
-	      add_dir=-L$libdir
-	      add=-l$name
-	    elif test yes = "$hardcode_shlibpath_var"; then
-	      case :$finalize_shlibpath: in
-	      *":$libdir:"*) ;;
-	      *) func_append finalize_shlibpath "$libdir:" ;;
-	      esac
-	      add=-l$name
-	    elif test yes = "$hardcode_automatic"; then
-	      if test -n "$inst_prefix_dir" &&
-		 test -f "$inst_prefix_dir$libdir/$linklib"; then
-		add=$inst_prefix_dir$libdir/$linklib
-	      else
-		add=$libdir/$linklib
-	      fi
-	    else
-	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir=-L$libdir
-	      # Try looking first in the location we're being installed to.
-	      if test -n "$inst_prefix_dir"; then
-		case $libdir in
-		  [\\/]*)
-		    func_append add_dir " -L$inst_prefix_dir$libdir"
-		    ;;
-		esac
-	      fi
-	      add=-l$name
-	    fi
-
-	    if test prog = "$linkmode"; then
-	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	    fi
-	  fi
-	elif test prog = "$linkmode"; then
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test unsupported != "$hardcode_direct"; then
-	    test -n "$old_library" && linklib=$old_library
-	    compile_deplibs="$dir/$linklib $compile_deplibs"
-	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
-	  else
-	    compile_deplibs="-l$name -L$dir $compile_deplibs"
-	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-	  fi
-	elif test yes = "$build_libtool_libs"; then
-	  # Not a shared library
-	  if test pass_all != "$deplibs_check_method"; then
-	    # We're trying link a shared library against a static one
-	    # but the system doesn't support it.
-
-	    # Just print a warning and add the library to dependency_libs so
-	    # that the program can be linked against the static library.
-	    echo
-	    $ECHO "*** Warning: This system cannot link to static lib archive $lib."
-	    echo "*** I have the capability to make that library automatically link in when"
-	    echo "*** you link to this library.  But I can only do this if you have a"
-	    echo "*** shared version of the library, which you do not appear to have."
-	    if test yes = "$module"; then
-	      echo "*** But as you try to build a module library, libtool will still create "
-	      echo "*** a static module, that should work as long as the dlopening application"
-	      echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-	      if test -z "$global_symbol_pipe"; then
-		echo
-		echo "*** However, this would only work if libtool was able to extract symbol"
-		echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
-		echo "*** not find such a program.  So, this module is probably useless."
-		echo "*** 'nm' from GNU binutils and a full rebuild may help."
-	      fi
-	      if test no = "$build_old_libs"; then
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  else
-	    deplibs="$dir/$old_library $deplibs"
-	    link_static=yes
-	  fi
-	fi # link shared/static library?
-
-	if test lib = "$linkmode"; then
-	  if test -n "$dependency_libs" &&
-	     { test yes != "$hardcode_into_libs" ||
-	       test yes = "$build_old_libs" ||
-	       test yes = "$link_static"; }; then
-	    # Extract -R from dependency_libs
-	    temp_deplibs=
-	    for libdir in $dependency_libs; do
-	      case $libdir in
-	      -R*) func_stripname '-R' '' "$libdir"
-	           temp_xrpath=$func_stripname_result
-		   case " $xrpath " in
-		   *" $temp_xrpath "*) ;;
-		   *) func_append xrpath " $temp_xrpath";;
-		   esac;;
-	      *) func_append temp_deplibs " $libdir";;
-	      esac
-	    done
-	    dependency_libs=$temp_deplibs
-	  fi
-
-	  func_append newlib_search_path " $absdir"
-	  # Link against this library
-	  test no = "$link_static" && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-	  # ... and its dependency_libs
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    newdependency_libs="$deplib $newdependency_libs"
-	    case $deplib in
-              -L*) func_stripname '-L' '' "$deplib"
-                   func_resolve_sysroot "$func_stripname_result";;
-              *) func_resolve_sysroot "$deplib" ;;
-            esac
-	    if $opt_preserve_dup_deps; then
-	      case "$tmp_libs " in
-	      *" $func_resolve_sysroot_result "*)
-                func_append specialdeplibs " $func_resolve_sysroot_result" ;;
-	      esac
-	    fi
-	    func_append tmp_libs " $func_resolve_sysroot_result"
-	  done
-
-	  if test no != "$link_all_deplibs"; then
-	    # Add the search paths of all dependency libraries
-	    for deplib in $dependency_libs; do
-	      path=
-	      case $deplib in
-	      -L*) path=$deplib ;;
-	      *.la)
-	        func_resolve_sysroot "$deplib"
-	        deplib=$func_resolve_sysroot_result
-	        func_dirname "$deplib" "" "."
-		dir=$func_dirname_result
-		# We need an absolute path.
-		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir=$dir ;;
-		*)
-		  absdir=`cd "$dir" && pwd`
-		  if test -z "$absdir"; then
-		    func_warning "cannot determine absolute directory name of '$dir'"
-		    absdir=$dir
-		  fi
-		  ;;
-		esac
-		if $GREP "^installed=no" $deplib > /dev/null; then
-		case $host in
-		*-*-darwin*)
-		  depdepl=
-		  eval deplibrary_names=`$SED -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  if test -n "$deplibrary_names"; then
-		    for tmp in $deplibrary_names; do
-		      depdepl=$tmp
-		    done
-		    if test -f "$absdir/$objdir/$depdepl"; then
-		      depdepl=$absdir/$objdir/$depdepl
-		      darwin_install_name=`$OTOOL -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-                      if test -z "$darwin_install_name"; then
-                          darwin_install_name=`$OTOOL64 -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                      fi
-		      func_append compiler_flags " $wl-dylib_file $wl$darwin_install_name:$depdepl"
-		      func_append linker_flags " -dylib_file $darwin_install_name:$depdepl"
-		      path=
-		    fi
-		  fi
-		  ;;
-		*)
-		  path=-L$absdir/$objdir
-		  ;;
-		esac
-		else
-		  eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  test -z "$libdir" && \
-		    func_fatal_error "'$deplib' is not a valid libtool archive"
-		  test "$absdir" != "$libdir" && \
-		    func_warning "'$deplib' seems to be moved"
-
-		  path=-L$absdir
-		fi
-		;;
-	      esac
-	      case " $deplibs " in
-	      *" $path "*) ;;
-	      *) deplibs="$path $deplibs" ;;
-	      esac
-	    done
-	  fi # link_all_deplibs != no
-	fi # linkmode = lib
-      done # for deplib in $libs
-      if test link = "$pass"; then
-	if test prog = "$linkmode"; then
-	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
-	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
-	else
-	  compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	fi
-      fi
-      dependency_libs=$newdependency_libs
-      if test dlpreopen = "$pass"; then
-	# Link the dlpreopened libraries before other libraries
-	for deplib in $save_deplibs; do
-	  deplibs="$deplib $deplibs"
-	done
-      fi
-      if test dlopen != "$pass"; then
-	test conv = "$pass" || {
-	  # Make sure lib_search_path contains only unique directories.
-	  lib_search_path=
-	  for dir in $newlib_search_path; do
-	    case "$lib_search_path " in
-	    *" $dir "*) ;;
-	    *) func_append lib_search_path " $dir" ;;
-	    esac
-	  done
-	  newlib_search_path=
-	}
-
-	if test prog,link = "$linkmode,$pass"; then
-	  vars="compile_deplibs finalize_deplibs"
-	else
-	  vars=deplibs
-	fi
-	for var in $vars dependency_libs; do
-	  # Add libraries to $var in reverse order
-	  eval tmp_libs=\"\$$var\"
-	  new_libs=
-	  for deplib in $tmp_libs; do
-	    # FIXME: Pedantically, this is the right thing to do, so
-	    #        that some nasty dependency loop isn't accidentally
-	    #        broken:
-	    #new_libs="$deplib $new_libs"
-	    # Pragmatically, this seems to cause very few problems in
-	    # practice:
-	    case $deplib in
-	    -L*) new_libs="$deplib $new_libs" ;;
-	    -R*) ;;
-	    *)
-	      # And here is the reason: when a library appears more
-	      # than once as an explicit dependence of a library, or
-	      # is implicitly linked in more than once by the
-	      # compiler, it is considered special, and multiple
-	      # occurrences thereof are not removed.  Compare this
-	      # with having the same library being listed as a
-	      # dependency of multiple other libraries: in this case,
-	      # we know (pedantically, we assume) the library does not
-	      # need to be listed more than once, so we keep only the
-	      # last copy.  This is not always right, but it is rare
-	      # enough that we require users that really mean to play
-	      # such unportable linking tricks to link the library
-	      # using -Wl,-lname, so that libtool does not consider it
-	      # for duplicate removal.
-	      case " $specialdeplibs " in
-	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
-	      *)
-		case " $new_libs " in
-		*" $deplib "*) ;;
-		*) new_libs="$deplib $new_libs" ;;
-		esac
-		;;
-	      esac
-	      ;;
-	    esac
-	  done
-	  tmp_libs=
-	  for deplib in $new_libs; do
-	    case $deplib in
-	    -L*)
-	      case " $tmp_libs " in
-	      *" $deplib "*) ;;
-	      *) func_append tmp_libs " $deplib" ;;
-	      esac
-	      ;;
-	    *) func_append tmp_libs " $deplib" ;;
-	    esac
-	  done
-	  eval $var=\"$tmp_libs\"
-	done # for var
-      fi
-
-      # Add Sun CC postdeps if required:
-      test CXX = "$tagname" && {
-        case $host_os in
-        linux*)
-          case `$CC -V 2>&1 | sed 5q` in
-          *Sun\ C*) # Sun C++ 5.9
-            func_suncc_cstd_abi
-
-            if test no != "$suncc_use_cstd_abi"; then
-              func_append postdeps ' -library=Cstd -library=Crun'
-            fi
-            ;;
-          esac
-          ;;
-
-        solaris*)
-          func_cc_basename "$CC"
-          case $func_cc_basename_result in
-          CC* | sunCC*)
-            func_suncc_cstd_abi
-
-            if test no != "$suncc_use_cstd_abi"; then
-              func_append postdeps ' -library=Cstd -library=Crun'
-            fi
-            ;;
-          esac
-          ;;
-        esac
-      }
-
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs; do
-	case " $predeps $postdeps $compiler_lib_search_path " in
-	*" $i "*)
-	  i=
-	  ;;
-	esac
-	if test -n "$i"; then
-	  func_append tmp_libs " $i"
-	fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test prog = "$linkmode"; then
-      dlfiles=$newdlfiles
-    fi
-    if test prog = "$linkmode" || test lib = "$linkmode"; then
-      dlprefiles=$newdlprefiles
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-	func_warning "'-dlopen' is ignored for archives"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "'-l' and '-L' are ignored for archives" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "'-rpath' is ignored for archives"
-
-      test -n "$xrpath" && \
-	func_warning "'-R' is ignored for archives"
-
-      test -n "$vinfo" && \
-	func_warning "'-version-info/-version-number' is ignored for archives"
-
-      test -n "$release" && \
-	func_warning "'-release' is ignored for archives"
-
-      test -n "$export_symbols$export_symbols_regex" && \
-	func_warning "'-export-symbols' is ignored for archives"
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs=$output
-      func_append objs "$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form 'libNAME.la'.
-      case $outputname in
-      lib*)
-	func_stripname 'lib' '.la' "$outputname"
-	name=$func_stripname_result
-	eval shared_ext=\"$shrext_cmds\"
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	test no = "$module" \
-	  && func_fatal_help "libtool library '$output' must begin with 'lib'"
-
-	if test no != "$need_lib_prefix"; then
-	  # Add the "lib" prefix for modules if required
-	  func_stripname '' '.la' "$outputname"
-	  name=$func_stripname_result
-	  eval shared_ext=\"$shrext_cmds\"
-	  eval libname=\"$libname_spec\"
-	else
-	  func_stripname '' '.la' "$outputname"
-	  libname=$func_stripname_result
-	fi
-	;;
-      esac
-
-      if test -n "$objs"; then
-	if test pass_all != "$deplibs_check_method"; then
-	  func_fatal_error "cannot build libtool library '$output' from non-libtool objects on this host:$objs"
-	else
-	  echo
-	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
-	  $ECHO "*** objects $objs is not portable!"
-	  func_append libobjs " $objs"
-	fi
-      fi
-
-      test no = "$dlself" \
-	|| func_warning "'-dlopen self' is ignored for libtool libraries"
-
-      set dummy $rpath
-      shift
-      test 1 -lt "$#" \
-	&& func_warning "ignoring multiple '-rpath's for a libtool library"
-
-      install_libdir=$1
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test yes = "$build_libtool_libs"; then
-	  # Building a libtool convenience library.
-	  # Some compilers have problems with a '.al' extension so
-	  # convenience libraries should have the same extension an
-	  # archive normally would.
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-
-	test -n "$vinfo" && \
-	  func_warning "'-version-info/-version-number' is ignored for convenience libraries"
-
-	test -n "$release" && \
-	  func_warning "'-release' is ignored for convenience libraries"
-      else
-
-	# Parse the version information argument.
-	save_ifs=$IFS; IFS=:
-	set dummy $vinfo 0 0 0
-	shift
-	IFS=$save_ifs
-
-	test -n "$7" && \
-	  func_fatal_help "too many parameters to '-version-info'"
-
-	# convert absolute version numbers to libtool ages
-	# this retains compatibility with .la files and attempts
-	# to make the code below a bit more comprehensible
-
-	case $vinfo_number in
-	yes)
-	  number_major=$1
-	  number_minor=$2
-	  number_revision=$3
-	  #
-	  # There are really only two kinds -- those that
-	  # use the current revision as the major version
-	  # and those that subtract age and use age as
-	  # a minor version.  But, then there is irix
-	  # that has an extra 1 added just for fun
-	  #
-	  case $version_type in
-	  # correct linux to gnu/linux during the next big refactor
-	  darwin|freebsd-elf|linux|osf|windows|none)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age=$number_minor
-	    revision=$number_revision
-	    ;;
-	  freebsd-aout|qnx|sunos)
-	    current=$number_major
-	    revision=$number_minor
-	    age=0
-	    ;;
-	  irix|nonstopux)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age=$number_minor
-	    revision=$number_minor
-	    lt_irix_increment=no
-	    ;;
-	  esac
-	  ;;
-	no)
-	  current=$1
-	  revision=$2
-	  age=$3
-	  ;;
-	esac
-
-	# Check that each of the things are valid numbers.
-	case $current in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "CURRENT '$current' must be a nonnegative integer"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $revision in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "REVISION '$revision' must be a nonnegative integer"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $age in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "AGE '$age' must be a nonnegative integer"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	if test "$age" -gt "$current"; then
-	  func_error "AGE '$age' is greater than the current interface number '$current'"
-	  func_fatal_error "'$vinfo' is not valid version information"
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case $version_type in
-	none) ;;
-
-	darwin)
-	  # Like Linux, but with the current version available in
-	  # verstring for coding it into the library header
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=$major.$age.$revision
-	  # Darwin ld doesn't like 0 for these options...
-	  func_arith $current + 1
-	  minor_current=$func_arith_result
-	  xlcverstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
-	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-          # On Darwin other compilers
-          case $CC in
-              nagfor*)
-                  verstring="$wl-compatibility_version $wl$minor_current $wl-current_version $wl$minor_current.$revision"
-                  ;;
-              *)
-                  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-                  ;;
-          esac
-	  ;;
-
-	freebsd-aout)
-	  major=.$current
-	  versuffix=.$current.$revision
-	  ;;
-
-	freebsd-elf)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=$major.$age.$revision
-	  ;;
-
-	irix | nonstopux)
-	  if test no = "$lt_irix_increment"; then
-	    func_arith $current - $age
-	  else
-	    func_arith $current - $age + 1
-	  fi
-	  major=$func_arith_result
-
-	  case $version_type in
-	    nonstopux) verstring_prefix=nonstopux ;;
-	    *)         verstring_prefix=sgi ;;
-	  esac
-	  verstring=$verstring_prefix$major.$revision
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test 0 -ne "$loop"; do
-	    func_arith $revision - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring=$verstring_prefix$major.$iface:$verstring
-	  done
-
-	  # Before this point, $major must not contain '.'.
-	  major=.$major
-	  versuffix=$major.$revision
-	  ;;
-
-	linux) # correct to gnu/linux during the next big refactor
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=$major.$age.$revision
-	  ;;
-
-	osf)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=.$current.$age.$revision
-	  verstring=$current.$age.$revision
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test 0 -ne "$loop"; do
-	    func_arith $current - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring=$verstring:$iface.0
-	  done
-
-	  # Make executables depend on our current version.
-	  func_append verstring ":$current.0"
-	  ;;
-
-	qnx)
-	  major=.$current
-	  versuffix=.$current
-	  ;;
-
-	sco)
-	  major=.$current
-	  versuffix=.$current
-	  ;;
-
-	sunos)
-	  major=.$current
-	  versuffix=.$current.$revision
-	  ;;
-
-	windows)
-	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 file systems.
-	  func_arith $current - $age
-	  major=$func_arith_result
-	  versuffix=-$major
-	  ;;
-
-	*)
-	  func_fatal_configuration "unknown library version type '$version_type'"
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  case $version_type in
-	  darwin)
-	    # we can't check for "0.0" in archive_cmds due to quoting
-	    # problems, so we reset it completely
-	    verstring=
-	    ;;
-	  *)
-	    verstring=0.0
-	    ;;
-	  esac
-	  if test no = "$need_version"; then
-	    versuffix=
-	  else
-	    versuffix=.0.0
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test yes,no = "$avoid_version,$need_version"; then
-	  major=
-	  versuffix=
-	  verstring=
-	fi
-
-	# Check to see if the archive will have undefined symbols.
-	if test yes = "$allow_undefined"; then
-	  if test unsupported = "$allow_undefined_flag"; then
-	    if test yes = "$build_old_libs"; then
-	      func_warning "undefined symbols not allowed in $host shared libraries; building static only"
-	      build_libtool_libs=no
-	    else
-	      func_fatal_error "can't build $host shared library unless -no-undefined is specified"
-	    fi
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag=$no_undefined_flag
-	fi
-
-      fi
-
-      func_generate_dlsyms "$libname" "$libname" :
-      func_append libobjs " $symfileobj"
-      test " " = "$libobjs" && libobjs=
-
-      if test relink != "$opt_mode"; then
-	# Remove our outputs, but don't remove object files since they
-	# may have been created when compiling PIC objects.
-	removelist=
-	tempremovelist=`$ECHO "$output_objdir/*"`
-	for p in $tempremovelist; do
-	  case $p in
-	    *.$objext | *.gcno)
-	       ;;
-	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/$libname$release.*)
-	       if test -n "$precious_files_regex"; then
-		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-		 then
-		   continue
-		 fi
-	       fi
-	       func_append removelist " $p"
-	       ;;
-	    *) ;;
-	  esac
-	done
-	test -n "$removelist" && \
-	  func_show_eval "${RM}r \$removelist"
-      fi
-
-      # Now set the variables for building old libraries.
-      if test yes = "$build_old_libs" && test convenience != "$build_libtool_libs"; then
-	func_append oldlibs " $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; $lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #	lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"`
-      #	deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"`
-      #	dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  func_replace_sysroot "$libdir"
-	  func_append temp_xrpath " -R$func_replace_sysroot_result"
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append finalize_rpath " $libdir" ;;
-	  esac
-	done
-	if test yes != "$hardcode_into_libs" || test yes = "$build_old_libs"; then
-	  dependency_libs="$temp_xrpath $dependency_libs"
-	fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles=$dlfiles
-      dlfiles=
-      for lib in $old_dlfiles; do
-	case " $dlprefiles $dlfiles " in
-	*" $lib "*) ;;
-	*) func_append dlfiles " $lib" ;;
-	esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles=$dlprefiles
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-	case "$dlprefiles " in
-	*" $lib "*) ;;
-	*) func_append dlprefiles " $lib" ;;
-	esac
-      done
-
-      if test yes = "$build_libtool_libs"; then
-	if test -n "$rpath"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*)
-	    # these systems don't actually have a c library (as such)!
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C library is in the System framework
-	    func_append deplibs " System.ltframework"
-	    ;;
-	  *-*-netbsd*)
-	    # Don't link with libc until the a.out ld.so is fixed.
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    ;;
-	  *)
-	    # Add libc to deplibs on all other systems if necessary.
-	    if test yes = "$build_libtool_need_lc"; then
-	      func_append deplibs " -lc"
-	    fi
-	    ;;
-	  esac
-	fi
-
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=
-	versuffix=
-	major=
-	newdeplibs=
-	droppeddeps=no
-	case $deplibs_check_method in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behavior.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $opt_dry_run || $RM conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $opt_dry_run || $RM conftest
-	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		  case " $predeps $postdeps " in
-		  *" $i "*)
-		    func_append newdeplibs " $i"
-		    i=
-		    ;;
-		  esac
-		fi
-		if test -n "$i"; then
-		  libname=`eval "\\$ECHO \"$libname_spec\""`
-		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		  set dummy $deplib_matches; shift
-		  deplib_match=$1
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
-		    func_append newdeplibs " $i"
-		  else
-		    droppeddeps=yes
-		    echo
-		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		    echo "*** I have the capability to make that library automatically link in when"
-		    echo "*** you link to this library.  But I can only do this if you have a"
-		    echo "*** shared version of the library, which I believe you do not have"
-		    echo "*** because a test_compile did reveal that the linker did not use it for"
-		    echo "*** its dynamic dependency list that programs get resolved with at runtime."
-		  fi
-		fi
-		;;
-	      *)
-		func_append newdeplibs " $i"
-		;;
-	      esac
-	    done
-	  else
-	    # Error occurred in the first compile.  Let's try to salvage
-	    # the situation: Compile a separate program for each library.
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		$opt_dry_run || $RM conftest
-		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-		  ldd_output=`ldd conftest`
-		  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		    case " $predeps $postdeps " in
-		    *" $i "*)
-		      func_append newdeplibs " $i"
-		      i=
-		      ;;
-		    esac
-		  fi
-		  if test -n "$i"; then
-		    libname=`eval "\\$ECHO \"$libname_spec\""`
-		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		    set dummy $deplib_matches; shift
-		    deplib_match=$1
-		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0; then
-		      func_append newdeplibs " $i"
-		    else
-		      droppeddeps=yes
-		      echo
-		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		      echo "*** I have the capability to make that library automatically link in when"
-		      echo "*** you link to this library.  But I can only do this if you have a"
-		      echo "*** shared version of the library, which you do not appear to have"
-		      echo "*** because a test_compile did reveal that the linker did not use this one"
-		      echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-		    fi
-		  fi
-		else
-		  droppeddeps=yes
-		  echo
-		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-		  echo "*** make it link in!  You will probably need to install it or some"
-		  echo "*** library that it depends on before this library will be fully"
-		  echo "*** functional.  Installing it before continuing would be even better."
-		fi
-		;;
-	      *)
-		func_append newdeplibs " $i"
-		;;
-	      esac
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method; shift
-	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  func_append newdeplibs " $a_deplib"
-		  a_deplib=
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib"; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		if test -n "$file_magic_glob"; then
-		  libnameglob=`func_echo_all "$libname" | $SED -e $file_magic_glob`
-		else
-		  libnameglob=$libname
-		fi
-		test yes = "$want_nocaseglob" && nocaseglob=`shopt -p nocaseglob`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  if test yes = "$want_nocaseglob"; then
-		    shopt -s nocaseglob
-		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-		    $nocaseglob
-		  else
-		    potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null`
-		  fi
-		  for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null |
-			 $GREP " -> " >/dev/null; then
-			continue
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib=$potent_lib
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | $SED 's/.* -> //'`
-			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib=$potliblink;;
-			*) potlib=`$ECHO "$potlib" | $SED 's|[^/]*$||'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
-			 $SED -e 10q |
-			 $EGREP "$file_magic_regex" > /dev/null; then
-			func_append newdeplibs " $a_deplib"
-			a_deplib=
-			break 2
-		      fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib"; then
-		droppeddeps=yes
-		echo
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib"; then
-		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a file magic. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      func_append newdeplibs " $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	match_pattern*)
-	  set dummy $deplibs_check_method; shift
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  func_append newdeplibs " $a_deplib"
-		  a_deplib=
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib"; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		    potlib=$potent_lib # see symlink-check above in file_magic test
-		    if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \
-		       $EGREP "$match_pattern_regex" > /dev/null; then
-		      func_append newdeplibs " $a_deplib"
-		      a_deplib=
-		      break 2
-		    fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib"; then
-		droppeddeps=yes
-		echo
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		echo "*** I have the capability to make that library automatically link in when"
-		echo "*** you link to this library.  But I can only do this if you have a"
-		echo "*** shared version of the library, which you do not appear to have"
-		echo "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib"; then
-		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      func_append newdeplibs " $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=
-	  tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'`
-	  if test yes = "$allow_libtool_libs_with_static_runtimes"; then
-	    for i in $predeps $postdeps; do
-	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s|$i||"`
-	    done
-	  fi
-	  case $tmp_deplibs in
-	  *[!\	\ ]*)
-	    echo
-	    if test none = "$deplibs_check_method"; then
-	      echo "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      echo "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    echo "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	    ;;
-	  esac
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	case $host in
-	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library with the System framework
-	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'`
-	  ;;
-	esac
-
-	if test yes = "$droppeddeps"; then
-	  if test yes = "$module"; then
-	    echo
-	    echo "*** Warning: libtool could not satisfy all declared inter-library"
-	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-	    echo "*** a static module, that should work as long as the dlopening"
-	    echo "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      echo
-	      echo "*** However, this would only work if libtool was able to extract symbol"
-	      echo "*** lists from a program, using 'nm' or equivalent, but libtool could"
-	      echo "*** not find such a program.  So, this module is probably useless."
-	      echo "*** 'nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test no = "$build_old_libs"; then
-	      oldlibs=$output_objdir/$libname.$libext
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    echo "*** The inter-library dependencies that have been dropped here will be"
-	    echo "*** automatically added whenever a program is linked with this library"
-	    echo "*** or is declared to -dlopen it."
-
-	    if test no = "$allow_undefined"; then
-	      echo
-	      echo "*** Since this library must not contain undefined symbols,"
-	      echo "*** because either the platform does not support them or"
-	      echo "*** it was explicitly requested with -no-undefined,"
-	      echo "*** libtool will only create a static version of it."
-	      if test no = "$build_old_libs"; then
-		oldlibs=$output_objdir/$libname.$libext
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-      case $host in
-	*-*-darwin*)
-	  newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  ;;
-      esac
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $deplibs " in
-	  *" -L$path/$objdir "*)
-	    func_append new_libs " -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) func_append new_libs " $deplib" ;;
-	  esac
-	  ;;
-	*) func_append new_libs " $deplib" ;;
-	esac
-      done
-      deplibs=$new_libs
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test yes = "$build_libtool_libs"; then
-	# Remove $wl instances when linking with ld.
-	# FIXME: should test the right _cmds variable.
-	case $archive_cmds in
-	  *\$LD\ *) wl= ;;
-        esac
-	if test yes = "$hardcode_into_libs"; then
-	  # Hardcode the library paths
-	  hardcode_libdirs=
-	  dep_rpath=
-	  rpath=$finalize_rpath
-	  test relink = "$opt_mode" || rpath=$compile_rpath$rpath
-	  for libdir in $rpath; do
-	    if test -n "$hardcode_libdir_flag_spec"; then
-	      if test -n "$hardcode_libdir_separator"; then
-		func_replace_sysroot "$libdir"
-		libdir=$func_replace_sysroot_result
-		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs=$libdir
-		else
-		  # Just accumulate the unique libdirs.
-		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		    ;;
-		  *)
-		    func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-		    ;;
-		  esac
-		fi
-	      else
-		eval flag=\"$hardcode_libdir_flag_spec\"
-		func_append dep_rpath " $flag"
-	      fi
-	    elif test -n "$runpath_var"; then
-	      case "$perm_rpath " in
-	      *" $libdir "*) ;;
-	      *) func_append perm_rpath " $libdir" ;;
-	      esac
-	    fi
-	  done
-	  # Substitute the hardcoded libdirs into the rpath.
-	  if test -n "$hardcode_libdir_separator" &&
-	     test -n "$hardcode_libdirs"; then
-	    libdir=$hardcode_libdirs
-	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
-	  fi
-	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
-	    # We should set the runpath_var.
-	    rpath=
-	    for dir in $perm_rpath; do
-	      func_append rpath "$dir:"
-	    done
-	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-	  fi
-	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-	fi
-
-	shlibpath=$finalize_shlibpath
-	test relink = "$opt_mode" || shlibpath=$compile_shlibpath$shlibpath
-	if test -n "$shlibpath"; then
-	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-	fi
-
-	# Get the real and link names of the library.
-	eval shared_ext=\"$shrext_cmds\"
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	shift
-	realname=$1
-	shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname=$realname
-	fi
-	if test -z "$dlname"; then
-	  dlname=$soname
-	fi
-
-	lib=$output_objdir/$realname
-	linknames=
-	for link
-	do
-	  func_append linknames " $link"
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	test "X$libobjs" = "X " && libobjs=
-
-	delfiles=
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-	  export_symbols=$output_objdir/$libname.uexp
-	  func_append delfiles " $export_symbols"
-	fi
-
-	orig_export_symbols=
-	case $host_os in
-	cygwin* | mingw* | cegcc*)
-	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
-	    # exporting using user supplied symfile
-	    func_dll_def_p "$export_symbols" || {
-	      # and it's NOT already a .def file. Must figure out
-	      # which of the given symbols are data symbols and tag
-	      # them as such. So, trigger use of export_symbols_cmds.
-	      # export_symbols gets reassigned inside the "prepare
-	      # the list of exported symbols" if statement, so the
-	      # include_expsyms logic still works.
-	      orig_export_symbols=$export_symbols
-	      export_symbols=
-	      always_export_symbols=yes
-	    }
-	  fi
-	  ;;
-	esac
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test yes = "$always_export_symbols" || test -n "$export_symbols_regex"; then
-	    func_verbose "generating symbol list for '$libname.la'"
-	    export_symbols=$output_objdir/$libname.exp
-	    $opt_dry_run || $RM $export_symbols
-	    cmds=$export_symbols_cmds
-	    save_ifs=$IFS; IFS='~'
-	    for cmd1 in $cmds; do
-	      IFS=$save_ifs
-	      # Take the normal branch if the nm_file_list_spec branch
-	      # doesn't work or if tool conversion is not needed.
-	      case $nm_file_list_spec~$to_tool_file_cmd in
-		*~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*)
-		  try_normal_branch=yes
-		  eval cmd=\"$cmd1\"
-		  func_len " $cmd"
-		  len=$func_len_result
-		  ;;
-		*)
-		  try_normal_branch=no
-		  ;;
-	      esac
-	      if test yes = "$try_normal_branch" \
-		 && { test "$len" -lt "$max_cmd_len" \
-		      || test "$max_cmd_len" -le -1; }
-	      then
-		func_show_eval "$cmd" 'exit $?'
-		skipped_export=false
-	      elif test -n "$nm_file_list_spec"; then
-		func_basename "$output"
-		output_la=$func_basename_result
-		save_libobjs=$libobjs
-		save_output=$output
-		output=$output_objdir/$output_la.nm
-		func_to_tool_file "$output"
-		libobjs=$nm_file_list_spec$func_to_tool_file_result
-		func_append delfiles " $output"
-		func_verbose "creating $NM input file list: $output"
-		for obj in $save_libobjs; do
-		  func_to_tool_file "$obj"
-		  $ECHO "$func_to_tool_file_result"
-		done > "$output"
-		eval cmd=\"$cmd1\"
-		func_show_eval "$cmd" 'exit $?'
-		output=$save_output
-		libobjs=$save_libobjs
-		skipped_export=false
-	      else
-		# The command line is too long to execute in one step.
-		func_verbose "using reloadable object file for export list..."
-		skipped_export=:
-		# Break out early, otherwise skipped_export may be
-		# set to false by a later but shorter cmd.
-		break
-	      fi
-	    done
-	    IFS=$save_ifs
-	    if test -n "$export_symbols_regex" && test : != "$skipped_export"; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  tmp_export_symbols=$export_symbols
-	  test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
-	  $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-	fi
-
-	if test : != "$skipped_export" && test -n "$orig_export_symbols"; then
-	  # The given exports_symbols file has to be filtered, so filter it.
-	  func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
-	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	  # 's' commands, which not all seds can handle. GNU sed should be fine
-	  # though. Also, the filter scales superlinearly with the number of
-	  # global variables. join(1) would be nice here, but unfortunately
-	  # isn't a blessed tool.
-	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	  func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-	  export_symbols=$output_objdir/$libname.def
-	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	fi
-
-	tmp_deplibs=
-	for test_deplib in $deplibs; do
-	  case " $convenience " in
-	  *" $test_deplib "*) ;;
-	  *)
-	    func_append tmp_deplibs " $test_deplib"
-	    ;;
-	  esac
-	done
-	deplibs=$tmp_deplibs
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec" &&
-	    test yes = "$compiler_needs_object" &&
-	    test -z "$libobjs"; then
-	    # extract the archives, so we have objects to list.
-	    # TODO: could optimize this to just extract one archive.
-	    whole_archive_flag_spec=
-	  fi
-	  if test -n "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  else
-	    gentop=$output_objdir/${outputname}x
-	    func_append generated " $gentop"
-
-	    func_extract_archives $gentop $convenience
-	    func_append libobjs " $func_extract_archives_result"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	fi
-
-	if test yes = "$thread_safe" && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  func_append linker_flags " $flag"
-	fi
-
-	# Make a backup of the uninstalled library when relinking
-	if test relink = "$opt_mode"; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
-	fi
-
-	# Do each of the archive commands.
-	if test yes = "$module" && test -n "$module_cmds"; then
-	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	    eval test_cmds=\"$module_expsym_cmds\"
-	    cmds=$module_expsym_cmds
-	  else
-	    eval test_cmds=\"$module_cmds\"
-	    cmds=$module_cmds
-	  fi
-	else
-	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	    eval test_cmds=\"$archive_expsym_cmds\"
-	    cmds=$archive_expsym_cmds
-	  else
-	    eval test_cmds=\"$archive_cmds\"
-	    cmds=$archive_cmds
-	  fi
-	fi
-
-	if test : != "$skipped_export" &&
-	   func_len " $test_cmds" &&
-	   len=$func_len_result &&
-	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  :
-	else
-	  # The command line is too long to link in one step, link piecewise
-	  # or, if using GNU ld and skipped_export is not :, use a linker
-	  # script.
-
-	  # Save the value of $output and $libobjs because we want to
-	  # use them later.  If we have whole_archive_flag_spec, we
-	  # want to use save_libobjs as it was before
-	  # whole_archive_flag_spec was expanded, because we can't
-	  # assume the linker understands whole_archive_flag_spec.
-	  # This may have to be revisited, in case too many
-	  # convenience libraries get linked in and end up exceeding
-	  # the spec.
-	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	  fi
-	  save_output=$output
-	  func_basename "$output"
-	  output_la=$func_basename_result
-
-	  # Clear the reloadable object creation command queue and
-	  # initialize k to one.
-	  test_cmds=
-	  concat_cmds=
-	  objlist=
-	  last_robj=
-	  k=1
-
-	  if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then
-	    output=$output_objdir/$output_la.lnkscript
-	    func_verbose "creating GNU ld script: $output"
-	    echo 'INPUT (' > $output
-	    for obj in $save_libobjs
-	    do
-	      func_to_tool_file "$obj"
-	      $ECHO "$func_to_tool_file_result" >> $output
-	    done
-	    echo ')' >> $output
-	    func_append delfiles " $output"
-	    func_to_tool_file "$output"
-	    output=$func_to_tool_file_result
-	  elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then
-	    output=$output_objdir/$output_la.lnk
-	    func_verbose "creating linker input file list: $output"
-	    : > $output
-	    set x $save_libobjs
-	    shift
-	    firstobj=
-	    if test yes = "$compiler_needs_object"; then
-	      firstobj="$1 "
-	      shift
-	    fi
-	    for obj
-	    do
-	      func_to_tool_file "$obj"
-	      $ECHO "$func_to_tool_file_result" >> $output
-	    done
-	    func_append delfiles " $output"
-	    func_to_tool_file "$output"
-	    output=$firstobj\"$file_list_spec$func_to_tool_file_result\"
-	  else
-	    if test -n "$save_libobjs"; then
-	      func_verbose "creating reloadable object files..."
-	      output=$output_objdir/$output_la-$k.$objext
-	      eval test_cmds=\"$reload_cmds\"
-	      func_len " $test_cmds"
-	      len0=$func_len_result
-	      len=$len0
-
-	      # Loop over the list of objects to be linked.
-	      for obj in $save_libobjs
-	      do
-		func_len " $obj"
-		func_arith $len + $func_len_result
-		len=$func_arith_result
-		if test -z "$objlist" ||
-		   test "$len" -lt "$max_cmd_len"; then
-		  func_append objlist " $obj"
-		else
-		  # The command $test_cmds is almost too long, add a
-		  # command to the queue.
-		  if test 1 -eq "$k"; then
-		    # The first file doesn't have a previous command to add.
-		    reload_objs=$objlist
-		    eval concat_cmds=\"$reload_cmds\"
-		  else
-		    # All subsequent reloadable object files will link in
-		    # the last one created.
-		    reload_objs="$objlist $last_robj"
-		    eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\"
-		  fi
-		  last_robj=$output_objdir/$output_la-$k.$objext
-		  func_arith $k + 1
-		  k=$func_arith_result
-		  output=$output_objdir/$output_la-$k.$objext
-		  objlist=" $obj"
-		  func_len " $last_robj"
-		  func_arith $len0 + $func_len_result
-		  len=$func_arith_result
-		fi
-	      done
-	      # Handle the remaining objects by creating one last
-	      # reloadable object file.  All subsequent reloadable object
-	      # files will link in the last one created.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      reload_objs="$objlist $last_robj"
-	      eval concat_cmds=\"\$concat_cmds$reload_cmds\"
-	      if test -n "$last_robj"; then
-	        eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-	      fi
-	      func_append delfiles " $output"
-
-	    else
-	      output=
-	    fi
-
-	    ${skipped_export-false} && {
-	      func_verbose "generating symbol list for '$libname.la'"
-	      export_symbols=$output_objdir/$libname.exp
-	      $opt_dry_run || $RM $export_symbols
-	      libobjs=$output
-	      # Append the command to create the export file.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
-	      if test -n "$last_robj"; then
-		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-	      fi
-	    }
-
-	    test -n "$save_libobjs" &&
-	      func_verbose "creating a temporary reloadable object file: $output"
-
-	    # Loop through the commands generated above and execute them.
-	    save_ifs=$IFS; IFS='~'
-	    for cmd in $concat_cmds; do
-	      IFS=$save_ifs
-	      $opt_quiet || {
-		  func_quote_for_expand "$cmd"
-		  eval "func_echo $func_quote_for_expand_result"
-	      }
-	      $opt_dry_run || eval "$cmd" || {
-		lt_exit=$?
-
-		# Restore the uninstalled library and exit
-		if test relink = "$opt_mode"; then
-		  ( cd "$output_objdir" && \
-		    $RM "${realname}T" && \
-		    $MV "${realname}U" "$realname" )
-		fi
-
-		exit $lt_exit
-	      }
-	    done
-	    IFS=$save_ifs
-
-	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-
-          ${skipped_export-false} && {
-	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	      tmp_export_symbols=$export_symbols
-	      test -n "$orig_export_symbols" && tmp_export_symbols=$orig_export_symbols
-	      $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"'
-	    fi
-
-	    if test -n "$orig_export_symbols"; then
-	      # The given exports_symbols file has to be filtered, so filter it.
-	      func_verbose "filter symbol list for '$libname.la' to tag DATA exports"
-	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	      # 's' commands, which not all seds can handle. GNU sed should be fine
-	      # though. Also, the filter scales superlinearly with the number of
-	      # global variables. join(1) would be nice here, but unfortunately
-	      # isn't a blessed tool.
-	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	      func_append delfiles " $export_symbols $output_objdir/$libname.filter"
-	      export_symbols=$output_objdir/$libname.def
-	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	    fi
-	  }
-
-	  libobjs=$output
-	  # Restore the value of output.
-	  output=$save_output
-
-	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	  # Expand the library linking commands again to reset the
-	  # value of $libobjs for piecewise linking.
-
-	  # Do each of the archive commands.
-	  if test yes = "$module" && test -n "$module_cmds"; then
-	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	      cmds=$module_expsym_cmds
-	    else
-	      cmds=$module_cmds
-	    fi
-	  else
-	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	      cmds=$archive_expsym_cmds
-	    else
-	      cmds=$archive_cmds
-	    fi
-	  fi
-	fi
-
-	if test -n "$delfiles"; then
-	  # Append the command to remove temporary files to $cmds.
-	  eval cmds=\"\$cmds~\$RM $delfiles\"
-	fi
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop=$output_objdir/${outputname}x
-	  func_append generated " $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  func_append libobjs " $func_extract_archives_result"
-	  test "X$libobjs" = "X " && libobjs=
-	fi
-
-	save_ifs=$IFS; IFS='~'
-	for cmd in $cmds; do
-	  IFS=$sp$nl
-	  eval cmd=\"$cmd\"
-	  IFS=$save_ifs
-	  $opt_quiet || {
-	    func_quote_for_expand "$cmd"
-	    eval "func_echo $func_quote_for_expand_result"
-	  }
-	  $opt_dry_run || eval "$cmd" || {
-	    lt_exit=$?
-
-	    # Restore the uninstalled library and exit
-	    if test relink = "$opt_mode"; then
-	      ( cd "$output_objdir" && \
-	        $RM "${realname}T" && \
-		$MV "${realname}U" "$realname" )
-	    fi
-
-	    exit $lt_exit
-	  }
-	done
-	IFS=$save_ifs
-
-	# Restore the uninstalled library and exit
-	if test relink = "$opt_mode"; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
-	  if test -n "$convenience"; then
-	    if test -z "$whole_archive_flag_spec"; then
-	      func_show_eval '${RM}r "$gentop"'
-	    fi
-	  fi
-
-	  exit $EXIT_SUCCESS
-	fi
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test yes = "$module" || test yes = "$export_dynamic"; then
-	  # On all known operating systems, these are identical.
-	  dlname=$soname
-	fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$dlfiles$dlprefiles" || test no != "$dlself"; then
-	func_warning "'-dlopen' is ignored for objects"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "'-l' and '-L' are ignored for objects" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "'-rpath' is ignored for objects"
-
-      test -n "$xrpath" && \
-	func_warning "'-R' is ignored for objects"
-
-      test -n "$vinfo" && \
-	func_warning "'-version-info' is ignored for objects"
-
-      test -n "$release" && \
-	func_warning "'-release' is ignored for objects"
-
-      case $output in
-      *.lo)
-	test -n "$objs$old_deplibs" && \
-	  func_fatal_error "cannot build library object '$output' from non-libtool objects"
-
-	libobj=$output
-	func_lo2o "$libobj"
-	obj=$func_lo2o_result
-	;;
-      *)
-	libobj=
-	obj=$output
-	;;
-      esac
-
-      # Delete the old objects.
-      $opt_dry_run || $RM $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # if reload_cmds runs $LD directly, get rid of -Wl from
-      # whole_archive_flag_spec and hope we can get by with turning comma
-      # into space.
-      case $reload_cmds in
-        *\$LD[\ \$]*) wl= ;;
-      esac
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  test -n "$wl" || tmp_whole_archive_flags=`$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'`
-	  reload_conv_objs=$reload_objs\ $tmp_whole_archive_flags
-	else
-	  gentop=$output_objdir/${obj}x
-	  func_append generated " $gentop"
-
-	  func_extract_archives $gentop $convenience
-	  reload_conv_objs="$reload_objs $func_extract_archives_result"
-	fi
-      fi
-
-      # If we're not building shared, we need to use non_pic_objs
-      test yes = "$build_libtool_libs" || libobjs=$non_pic_objects
-
-      # Create the old-style object.
-      reload_objs=$objs$old_deplibs' '`$ECHO "$libobjs" | $SP2NL | $SED "/\.$libext$/d; /\.lib$/d; $lo2o" | $NL2SP`' '$reload_conv_objs
-
-      output=$obj
-      func_execute_cmds "$reload_cmds" 'exit $?'
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      test yes = "$build_libtool_libs" || {
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	# $show "echo timestamp > $libobj"
-	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
-	exit $EXIT_SUCCESS
-      }
-
-      if test -n "$pic_flag" || test default != "$pic_mode"; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output=$libobj
-	func_execute_cmds "$reload_cmds" 'exit $?'
-      fi
-
-      if test -n "$gentop"; then
-	func_show_eval '${RM}r "$gentop"'
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-	*cygwin*) func_stripname '' '.exe' "$output"
-	          output=$func_stripname_result.exe;;
-      esac
-      test -n "$vinfo" && \
-	func_warning "'-version-info' is ignored for programs"
-
-      test -n "$release" && \
-	func_warning "'-release' is ignored for programs"
-
-      $preload \
-	&& test unknown,unknown,unknown = "$dlopen_support,$dlopen_self,$dlopen_self_static" \
-	&& func_warning "'LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'`
-	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'`
-	;;
-      esac
-
-      case $host in
-      *-*-darwin*)
-	# Don't allow lazy linking, it breaks C++ global constructors
-	# But is supposedly fixed on 10.4 or later (yay!).
-	if test CXX = "$tagname"; then
-	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
-	    10.[0123])
-	      func_append compile_command " $wl-bind_at_load"
-	      func_append finalize_command " $wl-bind_at_load"
-	    ;;
-	  esac
-	fi
-	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
-	compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'`
-	;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $compile_deplibs " in
-	  *" -L$path/$objdir "*)
-	    func_append new_libs " -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $compile_deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) func_append new_libs " $deplib" ;;
-	  esac
-	  ;;
-	*) func_append new_libs " $deplib" ;;
-	esac
-      done
-      compile_deplibs=$new_libs
-
-
-      func_append compile_command " $compile_deplibs"
-      func_append finalize_command " $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append finalize_rpath " $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs=$libdir
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    func_append rpath " $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append perm_rpath " $libdir" ;;
-	  esac
-	fi
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$libdir:"*) ;;
-	  ::) dllsearchpath=$libdir;;
-	  *) func_append dllsearchpath ":$libdir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) func_append dllsearchpath ":$testbindir";;
-	  esac
-	  ;;
-	esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir=$hardcode_libdirs
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath=$rpath
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs=$libdir
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		func_append hardcode_libdirs "$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    func_append rpath " $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) func_append finalize_perm_rpath " $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir=$hardcode_libdirs
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath=$rpath
-
-      if test -n "$libobjs" && test yes = "$build_old_libs"; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-	finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP`
-      fi
-
-      func_generate_dlsyms "$outputname" "@PROGRAM@" false
-
-      # template prelinking step
-      if test -n "$prelink_cmds"; then
-	func_execute_cmds "$prelink_cmds" 'exit $?'
-      fi
-
-      wrappers_required=:
-      case $host in
-      *cegcc* | *mingw32ce*)
-        # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway.
-        wrappers_required=false
-        ;;
-      *cygwin* | *mingw* )
-        test yes = "$build_libtool_libs" || wrappers_required=false
-        ;;
-      *)
-        if test no = "$need_relink" || test yes != "$build_libtool_libs"; then
-          wrappers_required=false
-        fi
-        ;;
-      esac
-      $wrappers_required || {
-	# Replace the output file specification.
-	compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-	link_command=$compile_command$compile_rpath
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	exit_status=0
-	func_show_eval "$link_command" 'exit_status=$?'
-
-	if test -n "$postlink_cmds"; then
-	  func_to_tool_file "$output"
-	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-	  func_execute_cmds "$postlink_cmds" 'exit $?'
-	fi
-
-	# Delete the generated files.
-	if test -f "$output_objdir/${outputname}S.$objext"; then
-	  func_show_eval '$RM "$output_objdir/${outputname}S.$objext"'
-	fi
-
-	exit $exit_status
-      }
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    func_append rpath "$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    func_append rpath "$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test yes = "$no_install"; then
-	# We don't need to create a wrapper script.
-	link_command=$compile_var$compile_command$compile_rpath
-	# Replace the output file specification.
-	link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'`
-	# Delete the old output file.
-	$opt_dry_run || $RM $output
-	# Link the executable and exit
-	func_show_eval "$link_command" 'exit $?'
-
-	if test -n "$postlink_cmds"; then
-	  func_to_tool_file "$output"
-	  postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-	  func_execute_cmds "$postlink_cmds" 'exit $?'
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      case $hardcode_action,$fast_install in
-        relink,*)
-	  # Fast installation is not supported
-	  link_command=$compile_var$compile_command$compile_rpath
-	  relink_command=$finalize_var$finalize_command$finalize_rpath
-
-	  func_warning "this platform does not like uninstalled shared libraries"
-	  func_warning "'$output' will be relinked during installation"
-	  ;;
-        *,yes)
-	  link_command=$finalize_var$compile_command$finalize_rpath
-	  relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'`
-          ;;
-	*,no)
-	  link_command=$compile_var$compile_command$compile_rpath
-	  relink_command=$finalize_var$finalize_command$finalize_rpath
-          ;;
-	*,needless)
-	  link_command=$finalize_var$compile_command$finalize_rpath
-	  relink_command=
-          ;;
-      esac
-
-      # Replace the output file specification.
-      link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      func_show_eval "$link_command" 'exit $?'
-
-      if test -n "$postlink_cmds"; then
-	func_to_tool_file "$output_objdir/$outputname"
-	postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'`
-	func_execute_cmds "$postlink_cmds" 'exit $?'
-      fi
-
-      # Now create the wrapper script.
-      func_verbose "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	# Preserve any variables that may affect compiler behavior
-	for var in $variables_saved_for_relink; do
-	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	  elif eval var_value=\$$var; test -z "$var_value"; then
-	    relink_command="$var=; export $var; $relink_command"
-	  else
-	    func_quote_for_eval "$var_value"
-	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	  fi
-	done
-	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if not in dry run mode.
-      $opt_dry_run || {
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) func_stripname '' '.exe' "$output"
-	         output=$func_stripname_result ;;
-	esac
-	# test for cygwin because mv fails w/o .exe extensions
-	case $host in
-	  *cygwin*)
-	    exeext=.exe
-	    func_stripname '' '.exe' "$outputname"
-	    outputname=$func_stripname_result ;;
-	  *) exeext= ;;
-	esac
-	case $host in
-	  *cygwin* | *mingw* )
-	    func_dirname_and_basename "$output" "" "."
-	    output_name=$func_basename_result
-	    output_path=$func_dirname_result
-	    cwrappersource=$output_path/$objdir/lt-$output_name.c
-	    cwrapper=$output_path/$output_name.exe
-	    $RM $cwrappersource $cwrapper
-	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_cwrapperexe_src > $cwrappersource
-
-	    # The wrapper executable is built using the $host compiler,
-	    # because it contains $host paths and files. If cross-
-	    # compiling, it, like the target executable, must be
-	    # executed on the $host or under an emulation environment.
-	    $opt_dry_run || {
-	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
-	      $STRIP $cwrapper
-	    }
-
-	    # Now, create the wrapper script for func_source use:
-	    func_ltwrapper_scriptname $cwrapper
-	    $RM $func_ltwrapper_scriptname_result
-	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
-	    $opt_dry_run || {
-	      # note: this script will not be executed, so do not chmod.
-	      if test "x$build" = "x$host"; then
-		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
-	      else
-		func_emit_wrapper no > $func_ltwrapper_scriptname_result
-	      fi
-	    }
-	  ;;
-	  * )
-	    $RM $output
-	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_wrapper no > $output
-	    chmod +x $output
-	  ;;
-	esac
-      }
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      case $build_libtool_libs in
-        convenience)
-	  oldobjs="$libobjs_save $symfileobj"
-	  addlibs=$convenience
-	  build_libtool_libs=no
-	  ;;
-	module)
-	  oldobjs=$libobjs_save
-	  addlibs=$old_convenience
-	  build_libtool_libs=no
-          ;;
-	*)
-	  oldobjs="$old_deplibs $non_pic_objects"
-	  $preload && test -f "$symfileobj" \
-	    && func_append oldobjs " $symfileobj"
-	  addlibs=$old_convenience
-	  ;;
-      esac
-
-      if test -n "$addlibs"; then
-	gentop=$output_objdir/${outputname}x
-	func_append generated " $gentop"
-
-	func_extract_archives $gentop $addlibs
-	func_append oldobjs " $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test yes = "$build_libtool_libs"; then
-	cmds=$old_archive_from_new_cmds
-      else
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop=$output_objdir/${outputname}x
-	  func_append generated " $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  func_append oldobjs " $func_extract_archives_result"
-	fi
-
-	# POSIX demands no paths to be encoded in archives.  We have
-	# to avoid creating archives with duplicate basenames if we
-	# might have to extract them afterwards, e.g., when creating a
-	# static archive out of a convenience library, or when linking
-	# the entirety of a libtool archive into another (currently
-	# not supported by libtool).
-	if (for obj in $oldobjs
-	    do
-	      func_basename "$obj"
-	      $ECHO "$func_basename_result"
-	    done | sort | sort -uc >/dev/null 2>&1); then
-	  :
-	else
-	  echo "copying selected object files to avoid basename conflicts..."
-	  gentop=$output_objdir/${outputname}x
-	  func_append generated " $gentop"
-	  func_mkdir_p "$gentop"
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  counter=1
-	  for obj in $save_oldobjs
-	  do
-	    func_basename "$obj"
-	    objbase=$func_basename_result
-	    case " $oldobjs " in
-	    " ") oldobjs=$obj ;;
-	    *[\ /]"$objbase "*)
-	      while :; do
-		# Make sure we don't pick an alternate name that also
-		# overlaps.
-		newobj=lt$counter-$objbase
-		func_arith $counter + 1
-		counter=$func_arith_result
-		case " $oldobjs " in
-		*[\ /]"$newobj "*) ;;
-		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
-		esac
-	      done
-	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      func_append oldobjs " $gentop/$newobj"
-	      ;;
-	    *) func_append oldobjs " $obj" ;;
-	    esac
-	  done
-	fi
-	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
-	tool_oldlib=$func_to_tool_file_result
-	eval cmds=\"$old_archive_cmds\"
-
-	func_len " $cmds"
-	len=$func_len_result
-	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  cmds=$old_archive_cmds
-	elif test -n "$archiver_list_spec"; then
-	  func_verbose "using command file archive linking..."
-	  for obj in $oldobjs
-	  do
-	    func_to_tool_file "$obj"
-	    $ECHO "$func_to_tool_file_result"
-	  done > $output_objdir/$libname.libcmd
-	  func_to_tool_file "$output_objdir/$libname.libcmd"
-	  oldobjs=" $archiver_list_spec$func_to_tool_file_result"
-	  cmds=$old_archive_cmds
-	else
-	  # the command line is too long to link in one step, link in parts
-	  func_verbose "using piecewise archive linking..."
-	  save_RANLIB=$RANLIB
-	  RANLIB=:
-	  objlist=
-	  concat_cmds=
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  # Is there a better way of finding the last object in the list?
-	  for obj in $save_oldobjs
-	  do
-	    last_oldobj=$obj
-	  done
-	  eval test_cmds=\"$old_archive_cmds\"
-	  func_len " $test_cmds"
-	  len0=$func_len_result
-	  len=$len0
-	  for obj in $save_oldobjs
-	  do
-	    func_len " $obj"
-	    func_arith $len + $func_len_result
-	    len=$func_arith_result
-	    func_append objlist " $obj"
-	    if test "$len" -lt "$max_cmd_len"; then
-	      :
-	    else
-	      # the above command should be used before it gets too long
-	      oldobjs=$objlist
-	      if test "$obj" = "$last_oldobj"; then
-		RANLIB=$save_RANLIB
-	      fi
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\$concat_cmds$old_archive_cmds\"
-	      objlist=
-	      len=$len0
-	    fi
-	  done
-	  RANLIB=$save_RANLIB
-	  oldobjs=$objlist
-	  if test -z "$oldobjs"; then
-	    eval cmds=\"\$concat_cmds\"
-	  else
-	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-	  fi
-	fi
-      fi
-      func_execute_cmds "$cmds" 'exit $?'
-    done
-
-    test -n "$generated" && \
-      func_show_eval "${RM}r$generated"
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test yes = "$build_old_libs" && old_library=$libname.$libext
-      func_verbose "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	elif eval var_value=\$$var; test -z "$var_value"; then
-	  relink_command="$var=; export $var; $relink_command"
-	else
-	  func_quote_for_eval "$var_value"
-	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
-      if test yes = "$hardcode_automatic"; then
-	relink_command=
-      fi
-
-      # Only create the output if not a dry run.
-      $opt_dry_run || {
-	for installed in no yes; do
-	  if test yes = "$installed"; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output=$output_objdir/${outputname}i
-	    # Replace all uninstalled libtool libraries with the installed ones
-	    newdependency_libs=
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      *.la)
-		func_basename "$deplib"
-		name=$func_basename_result
-		func_resolve_sysroot "$deplib"
-		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
-		test -z "$libdir" && \
-		  func_fatal_error "'$deplib' is not a valid libtool archive"
-		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"
-		;;
-	      -L*)
-		func_stripname -L '' "$deplib"
-		func_replace_sysroot "$func_stripname_result"
-		func_append newdependency_libs " -L$func_replace_sysroot_result"
-		;;
-	      -R*)
-		func_stripname -R '' "$deplib"
-		func_replace_sysroot "$func_stripname_result"
-		func_append newdependency_libs " -R$func_replace_sysroot_result"
-		;;
-	      *) func_append newdependency_libs " $deplib" ;;
-	      esac
-	    done
-	    dependency_libs=$newdependency_libs
-	    newdlfiles=
-
-	    for lib in $dlfiles; do
-	      case $lib in
-	      *.la)
-	        func_basename "$lib"
-		name=$func_basename_result
-		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "'$lib' is not a valid libtool archive"
-		func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name"
-		;;
-	      *) func_append newdlfiles " $lib" ;;
-	      esac
-	    done
-	    dlfiles=$newdlfiles
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-	      *.la)
-		# Only pass preopened files to the pseudo-archive (for
-		# eventual linking with the app. that links it) if we
-		# didn't already link the preopened objects directly into
-		# the library:
-		func_basename "$lib"
-		name=$func_basename_result
-		eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "'$lib' is not a valid libtool archive"
-		func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name"
-		;;
-	      esac
-	    done
-	    dlprefiles=$newdlprefiles
-	  else
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      func_append newdlfiles " $abs"
-	    done
-	    dlfiles=$newdlfiles
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs=$lib ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      func_append newdlprefiles " $abs"
-	    done
-	    dlprefiles=$newdlprefiles
-	  fi
-	  $RM $output
-	  # place dlname in correct position for cygwin
-	  # In fact, it would be nice if we could use this code for all target
-	  # systems that can't hard-code library paths into their executables
-	  # and that have no shared library path variable independent of PATH,
-	  # but it turns out we can't easily determine that from inspecting
-	  # libtool variables, so we have to hard-code the OSs to which it
-	  # applies here; at the moment, that means platforms that use the PE
-	  # object format with DLL files.  See the long comment at the top of
-	  # tests/bindir.at for full details.
-	  tdlname=$dlname
-	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll)
-	      # If a -bindir argument was supplied, place the dll there.
-	      if test -n "$bindir"; then
-		func_relative_path "$install_libdir" "$bindir"
-		tdlname=$func_relative_path_result/$dlname
-	      else
-		# Otherwise fall back on heuristic.
-		tdlname=../bin/$dlname
-	      fi
-	      ;;
-	  esac
-	  $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that cannot go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-	  if test no,yes = "$installed,$need_relink"; then
-	    $ECHO >> $output "\
-relink_command=\"$relink_command\""
-	  fi
-	done
-      }
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-}
-
-if test link = "$opt_mode" || test relink = "$opt_mode"; then
-  func_mode_link ${1+"$@"}
-fi
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
-    $debug_cmd
-
-    RM=$nonopt
-    files=
-    rmforce=false
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic=$magic
-
-    for arg
-    do
-      case $arg in
-      -f) func_append RM " $arg"; rmforce=: ;;
-      -*) func_append RM " $arg" ;;
-      *) func_append files " $arg" ;;
-      esac
-    done
-
-    test -z "$RM" && \
-      func_fatal_help "you must specify an RM program"
-
-    rmdirs=
-
-    for file in $files; do
-      func_dirname "$file" "" "."
-      dir=$func_dirname_result
-      if test . = "$dir"; then
-	odir=$objdir
-      else
-	odir=$dir/$objdir
-      fi
-      func_basename "$file"
-      name=$func_basename_result
-      test uninstall = "$opt_mode" && odir=$dir
-
-      # Remember odir for removal later, being careful to avoid duplicates
-      if test clean = "$opt_mode"; then
-	case " $rmdirs " in
-	  *" $odir "*) ;;
-	  *) func_append rmdirs " $odir" ;;
-	esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if { test -L "$file"; } >/dev/null 2>&1 ||
-	 { test -h "$file"; } >/dev/null 2>&1 ||
-	 test -f "$file"; then
-	:
-      elif test -d "$file"; then
-	exit_status=1
-	continue
-      elif $rmforce; then
-	continue
-      fi
-
-      rmfiles=$file
-
-      case $name in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if func_lalib_p "$file"; then
-	  func_source $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    func_append rmfiles " $odir/$n"
-	  done
-	  test -n "$old_library" && func_append rmfiles " $odir/$old_library"
-
-	  case $opt_mode in
-	  clean)
-	    case " $library_names " in
-	    *" $dlname "*) ;;
-	    *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;;
-	    esac
-	    test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i"
-	    ;;
-	  uninstall)
-	    if test -n "$library_names"; then
-	      # Do each command in the postuninstall commands.
-	      func_execute_cmds "$postuninstall_cmds" '$rmforce || exit_status=1'
-	    fi
-
-	    if test -n "$old_library"; then
-	      # Do each command in the old_postuninstall commands.
-	      func_execute_cmds "$old_postuninstall_cmds" '$rmforce || exit_status=1'
-	    fi
-	    # FIXME: should reinstall the best remaining shared library.
-	    ;;
-	  esac
-	fi
-	;;
-
-      *.lo)
-	# Possibly a libtool object, so verify it.
-	if func_lalib_p "$file"; then
-
-	  # Read the .lo file
-	  func_source $dir/$name
-
-	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" && test none != "$pic_object"; then
-	    func_append rmfiles " $dir/$pic_object"
-	  fi
-
-	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" && test none != "$non_pic_object"; then
-	    func_append rmfiles " $dir/$non_pic_object"
-	  fi
-	fi
-	;;
-
-      *)
-	if test clean = "$opt_mode"; then
-	  noexename=$name
-	  case $file in
-	  *.exe)
-	    func_stripname '' '.exe' "$file"
-	    file=$func_stripname_result
-	    func_stripname '' '.exe' "$name"
-	    noexename=$func_stripname_result
-	    # $file with .exe has already been added to rmfiles,
-	    # add $file without .exe
-	    func_append rmfiles " $file"
-	    ;;
-	  esac
-	  # Do a test to see if this is a libtool program.
-	  if func_ltwrapper_p "$file"; then
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      relink_command=
-	      func_source $func_ltwrapper_scriptname_result
-	      func_append rmfiles " $func_ltwrapper_scriptname_result"
-	    else
-	      relink_command=
-	      func_source $dir/$noexename
-	    fi
-
-	    # note $name still contains .exe if it was in $file originally
-	    # as does the version of $file that was added into $rmfiles
-	    func_append rmfiles " $odir/$name $odir/${name}S.$objext"
-	    if test yes = "$fast_install" && test -n "$relink_command"; then
-	      func_append rmfiles " $odir/lt-$name"
-	    fi
-	    if test "X$noexename" != "X$name"; then
-	      func_append rmfiles " $odir/lt-$noexename.c"
-	    fi
-	  fi
-	fi
-	;;
-      esac
-      func_show_eval "$RM $rmfiles" 'exit_status=1'
-    done
-
-    # Try to remove the $objdir's in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-	func_show_eval "rmdir $dir >/dev/null 2>&1"
-      fi
-    done
-
-    exit $exit_status
-}
-
-if test uninstall = "$opt_mode" || test clean = "$opt_mode"; then
-  func_mode_uninstall ${1+"$@"}
-fi
-
-test -z "$opt_mode" && {
-  help=$generic_help
-  func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode '$opt_mode'"
-
-if test -n "$exec_cmd"; then
-  eval exec "$exec_cmd"
-  exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# where we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/missing b/missing
deleted file mode 100755
index f62bbae..0000000
--- a/missing
+++ /dev/null
@@ -1,215 +0,0 @@
-#! /bin/sh
-# Common wrapper for a few potentially missing GNU programs.
-
-scriptversion=2013-10-28.13; # UTC
-
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
-# Originally written by Fran,cois Pinard <pinard at iro.umontreal.ca>, 1996.
-
-# 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 2, 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 to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try '$0 --help' for more information"
-  exit 1
-fi
-
-case $1 in
-
-  --is-lightweight)
-    # Used by our autoconf macros to check whether the available missing
-    # script is modern enough.
-    exit 0
-    ;;
-
-  --run)
-    # Back-compat with the calling convention used by older automake.
-    shift
-    ;;
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
-to PROGRAM being missing or too old.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-
-Supported PROGRAM values:
-  aclocal   autoconf  autoheader   autom4te  automake  makeinfo
-  bison     yacc      flex         lex       help2man
-
-Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
-'g' are ignored when checking the name.
-
-Send bug reports to <bug-automake at gnu.org>."
-    exit $?
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
-    exit $?
-    ;;
-
-  -*)
-    echo 1>&2 "$0: unknown '$1' option"
-    echo 1>&2 "Try '$0 --help' for more information"
-    exit 1
-    ;;
-
-esac
-
-# Run the given program, remember its exit status.
-"$@"; st=$?
-
-# If it succeeded, we are done.
-test $st -eq 0 && exit 0
-
-# Also exit now if we it failed (or wasn't found), and '--version' was
-# passed; such an option is passed most likely to detect whether the
-# program is present and works.
-case $2 in --version|--help) exit $st;; esac
-
-# Exit code 63 means version mismatch.  This often happens when the user
-# tries to use an ancient version of a tool on a file that requires a
-# minimum version.
-if test $st -eq 63; then
-  msg="probably too old"
-elif test $st -eq 127; then
-  # Program was missing.
-  msg="missing on your system"
-else
-  # Program was found and executed, but failed.  Give up.
-  exit $st
-fi
-
-perl_URL=http://www.perl.org/
-flex_URL=http://flex.sourceforge.net/
-gnu_software_URL=http://www.gnu.org/software
-
-program_details ()
-{
-  case $1 in
-    aclocal|automake)
-      echo "The '$1' program is part of the GNU Automake package:"
-      echo "<$gnu_software_URL/automake>"
-      echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
-      echo "<$gnu_software_URL/autoconf>"
-      echo "<$gnu_software_URL/m4/>"
-      echo "<$perl_URL>"
-      ;;
-    autoconf|autom4te|autoheader)
-      echo "The '$1' program is part of the GNU Autoconf package:"
-      echo "<$gnu_software_URL/autoconf/>"
-      echo "It also requires GNU m4 and Perl in order to run:"
-      echo "<$gnu_software_URL/m4/>"
-      echo "<$perl_URL>"
-      ;;
-  esac
-}
-
-give_advice ()
-{
-  # Normalize program name to check for.
-  normalized_program=`echo "$1" | sed '
-    s/^gnu-//; t
-    s/^gnu//; t
-    s/^g//; t'`
-
-  printf '%s\n' "'$1' is $msg."
-
-  configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
-  case $normalized_program in
-    autoconf*)
-      echo "You should only need it if you modified 'configure.ac',"
-      echo "or m4 files included by it."
-      program_details 'autoconf'
-      ;;
-    autoheader*)
-      echo "You should only need it if you modified 'acconfig.h' or"
-      echo "$configure_deps."
-      program_details 'autoheader'
-      ;;
-    automake*)
-      echo "You should only need it if you modified 'Makefile.am' or"
-      echo "$configure_deps."
-      program_details 'automake'
-      ;;
-    aclocal*)
-      echo "You should only need it if you modified 'acinclude.m4' or"
-      echo "$configure_deps."
-      program_details 'aclocal'
-      ;;
-   autom4te*)
-      echo "You might have modified some maintainer files that require"
-      echo "the 'autom4te' program to be rebuilt."
-      program_details 'autom4te'
-      ;;
-    bison*|yacc*)
-      echo "You should only need it if you modified a '.y' file."
-      echo "You may want to install the GNU Bison package:"
-      echo "<$gnu_software_URL/bison/>"
-      ;;
-    lex*|flex*)
-      echo "You should only need it if you modified a '.l' file."
-      echo "You may want to install the Fast Lexical Analyzer package:"
-      echo "<$flex_URL>"
-      ;;
-    help2man*)
-      echo "You should only need it if you modified a dependency" \
-           "of a man page."
-      echo "You may want to install the GNU Help2man package:"
-      echo "<$gnu_software_URL/help2man/>"
-    ;;
-    makeinfo*)
-      echo "You should only need it if you modified a '.texi' file, or"
-      echo "any other file indirectly affecting the aspect of the manual."
-      echo "You might want to install the Texinfo package:"
-      echo "<$gnu_software_URL/texinfo/>"
-      echo "The spurious makeinfo call might also be the consequence of"
-      echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
-      echo "want to install GNU make:"
-      echo "<$gnu_software_URL/make/>"
-      ;;
-    *)
-      echo "You might have modified some files without having the proper"
-      echo "tools for further handling them.  Check the 'README' file, it"
-      echo "often tells you about the needed prerequisites for installing"
-      echo "this package.  You may also peek at any GNU archive site, in"
-      echo "case some other package contains this missing '$1' program."
-      ;;
-  esac
-}
-
-give_advice "$1" | sed -e '1s/^/WARNING: /' \
-                       -e '2,$s/^/         /' >&2
-
-# Propagate the correct exit status (expected to be 127 for a program
-# not found, 63 for a program that failed due to version mismatch).
-exit $st
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/apertium.git



More information about the debian-science-commits mailing list